FeildApp By 🧰iFixBasements.com

πŸ—Ί Map
πŸ™Žβ€β™€οΈ Assistant
πŸ’° Sales
πŸ’¬ Sequences
πŸ“Š Operations Dashboard
πŸ€– Bots
πŸ“… Schedule
βš™οΈ System
Health…
β€”
Loading appointments…
πŸ‘₯ Contacts β–Ά
Loading…
πŸ™Žβ€β™€οΈ Ara β€” Customer Service & Sales Assistant
Master Switch (all channels)
β€”
When OFF, Ara skips every poll cycle on every channel. Hard kill switch.
Dry Run (all channels)
β€”
When ON, intended outbound is logged but NOT sent. Flip OFF only after watching the activity feed.
Channels
πŸ’¬ iMessage LIVE β–Ύ
Model: β€”
API base: β€”
Owner phone: β€”
Poll interval: β€”
xAI key: β€”
Last poll: β€”
Last inbound: β€”
Recent (would-be) sends: β€”
Reads ~/Library/Messages/chat.db every 30s Β· sends via Messages.app AppleScript (SMS-first, iMessage fallback).
πŸ“± ManyChat (IG Β· FB Messenger) LIVE β–Ύ
Inbound: POST /webhook/manychat
Public URL: stones-macbook-pro.tail41be58.ts.net
Tunnel: Tailscale Funnel (--bg)
Reply path: sync β€” response body
ManyChat's External Request action POSTs to the webhook above; Ara composes the reply in <9s and returns it in the JSON response ({reply}). ManyChat's Response Mapping extracts reply and ships it via internal Send Message (bypasses Meta's IG 24h-window REST restriction). Tailscale Funnel runs as a background service β€” stable URL, no expiry.
πŸ’Ό LinkedIn DM (Playwright bot, dedicated profile) LIVE β–Ύ
Bot: linkedin_dm_bot.py
Runner: FieldApp companion thread
Cadence: every 5 min, Mon–Sat 8 AM–7 PM
Inbound: POST /webhook/linkedin
Chrome profile: dedicated LinkedInChrome
Mode: dry_run=false (LIVE)
Playwright bot polls linkedin.com/messaging/?filter=unread every 5 min using a dedicated persistent Chrome profile (CDP-attach to main Chrome is dead on Chrome v136+ β€” DECISIONS.md). For each unread thread, scrapes context + a stand-down signal (last sender is Stone), POSTs to /webhook/linkedin, types Ara's reply via the LinkedIn composer. Runs as a subprocess child of FieldApp (NOT a LaunchAgent β€” macOS TCC blocks launchd from ~/Desktop).
Status: LIVE β€” Ara's replies are being sent. If LinkedIn shows a Captcha on the profile, the bot pauses on that cycle and logs checkpoint_detected_on_unread_view; double-click LinkedIn DM Bot - Clear Captcha.command to clear it.
πŸ“¨ Telegram (Ara ⇄ Stone β€” private owner channel) LIVE β–Ύ
Bot: @StoneAraBot
Inbound: getUpdates long-poll (pull)
Transport: FieldApp pulls β€” no public URL needed
Outbound: Telegram Bot API sendMessage
Owner chat: captured (see logs/telegram_state.json)
Config: scheduling_config.py β†’ TELEGRAM_*
Ara's private back-and-forth channel with Stone β€” completely separate from every customer thread. She pushes escalations, leads needing follow-up, and new bookings here, and Stone can talk back: ask about a lead, or tell her what to say to a customer and she drafts it with Send / Edit / Cancel buttons (nothing reaches a customer until Stone taps Send). Outbound is a plain Bot API call β€” no AppleScript, no Messages.app.
Status: LIVE β€” bot token set, owner chat captured, long-polling thread running (transport switched from push-webhook 2026-05-24 after the dropped close-deal tap, see DECISIONS.md #28). System tab health check tracks transport state.
πŸŽ™οΈ Voice (xAI Voice Β· phone calls) FUTURE β–Ύ
Stone runs a separate AI voice receptionist today. When wired here, voice-Ara replaces it β€” same brain + training corpus across text and voice eliminates the FAQ-drift problem. Uses xAI's Grok Voice "Think Fast 1.0".
βœ‰οΈ Email (blasts + reply handling) FUTURE β–Ύ
Outbound email blasts (Apollo or HubSpot Marketing) plus inbound reply handling. Replies route to Ara's brain just like iMessage / IG DMs. Tooling TBD.
πŸ“œ Activity
(meaningful events only β€” newest first)
Loading…
πŸ’¬ Conversations
(by recent activity)
Loading…
🚫 Blocklist
(Ara skips these identifiers on every channel)
Fill any combination β€” phone, ManyChat ID, IG handle. At least one required.
Loading…
Audit log path: β€”
πŸ’° Sales β€” Aging & Follow-up
πŸ”΄ Same-Day
β€”
🟑 Aging
β€”
🟒 Watch
β€”
Open Total
β€”
πŸ”΄ Same-Day Actions
Loading…
🟑 Aging Flags
Loading…
🟒 Watch List
Loading…
πŸ“ SF Comment Field Generator
Use the house format: ACTIVE / SOLD / LOST. Output is copy-ready for the Salesforce Comment field.
ACTIVE -
πŸ“– Sales Pipeline System Playbook
Reference docs live in ~/Documents/Claude/Projects/Scheduling Assistant/Sales Pipeline System/. Use the workflow names below when chatting with Claude.
β€’ Post-meeting debrief β€” runbooks/post-meeting-debrief.md
β€’ Daily aging sweep β€” runbooks/daily-aging-sweep.md
β€’ Inbound capture β€” runbooks/inbound-capture.md
β€’ Aging rules β€” reference/aging-rules.md
β€’ Customer index β€” reference/customer-index.md
β€’ Comment / Chatter formats β€” formats/
  Loading sequences…
πŸ“Š Operations Dashboard
Appointments This Week
β€”
Mon–Sun, from Calendar
# Sales
β€”
Stage=Sold count (window)
# Customers (distinct): β€”
Sales (window)
β€”
Sum Amount Stage=Sold (window)
REFERRAL Deals
β€”
All-time direct-sale count
πŸ’° Self-Gen Revenue (window)
β€”
Gross contract $ you self-generated (Stage=Sold & Self-Gen?)
πŸ’΅ Self-Gen Commission Earned (window)
β€”
Your commission $ on self-gen deals (Amount Γ— rate)
Window:
πŸ«™ Pipeline Funnel
Loading…
Loading…
Deal-to-Sale Conversion (All Time)
Loading…
IG Outbound Activity
Comments (as of now / today)
β€”
Comments All-Time
β€”
DMs (as of now / today)
β€”
DMs All-Time
β€”
Marketing Attribution β€” Phase 2
Per-flow bookings (ManyChat Fix / Welcome / Auto DM / Cold IG DM) will activate here once UTM tags are added to your Calendly links inside each ManyChat flow. Requires desktop login to ManyChat first β€” see MARKETING_DASHBOARD_SPEC.md for the 3-minute setup.
ManyChat Top-of-Funnel β€” Phase 2
Sends / clicks / CTR per flow will populate here once the ManyChat API token is added to scheduling_config.py. You have Pro tier so the API is available β€” generate a token in ManyChat Settings β†’ API on your phone when convenient.
πŸ“… Automation Schedule
πŸ€– Central Bot Schedule
Change time / days / on-off for any bot, then Save All. 🟒 sessions are fired by FieldApp now; βšͺ sessions still run via LaunchAgents until retired (saving still records their schedule).
Loading…
FieldApp β€” Always On
πŸ“¬ Appointment ImporterEvery 5 minAuto
πŸ” BSide EnricherEvery 5 minAuto
❌ Cancellation DetectorEvery 5 minAuto
🏘️ Realtor Directory SyncEvery 24hAuto
πŸ“‡ Caller ID Contacts SyncEvery 24hAuto
Claude β€” Scheduled Tasks (data jobs)
✨ Realtor Enrichment8:04 AM + 2:00 PM dailyClaude
πŸ“‹ Airtable Dedup7:01 AM SundaysClaude
πŸ“Š Weekly Recap7:06 AM SundaysClaude
πŸ’° Sunday Commission Audit2:08 PM SundaysClaude
πŸ€– Bots
checking…
β€”
Comments Today
β€”
Comments All-Time
β€”
DMs Today
β€”
DMs All-Time
β€”
Realtor Contacts
πŸ“˜ Facebook Bots β–Ύ
  Loading…
  Loading…
  Loading…
πŸ“· Instagram Bots β–Ύ
🌾
Harvest Bot STEP 1 Β· HARVEST-ONLY
First step of the lifecycle β€” read-only pipeline filler. Harvests realtors, home inspectors, and mold-remediation companies from Instagram into Airtable. No likes/comments/follows. Runs daily ~7:30 AM, ~120 contacts/day.
Personas & destinations:
πŸ”‘ Realtors β†’ Realtor Directory (Contact Type: Realtor)
πŸ”Ž Home Inspectors β†’ Realtor Directory (Contact Type: Inspector)
🧫 Mold Remediation β†’ Mold Remediation table
Daily target: 120 distinct posters (default split β€” 40 realtor / 50 inspector / 30 mold). Tune in bot_config.json β†’ harvest_target_per_day / harvest_persona_targets.
Commenting is parked in the Comment Bot below (reserved for warm-lead touches later). Mold/water-damage companies get the referral-fee cold DM from the IG DM bot (edit it in Campaigns β†’ templates).
Install: double-click Install IG Harvest Bot.command. Check today's counts: python3 ig_harvest_bot.py status. FB harvesting is a future bot.
πŸ’¬
Comment Bot
Searches Instagram for recently sold listings in your target markets and leaves a congratulatory comment to get on realtors' radar.
Comment Rotation
Search Areas
πŸ“©
DM Bot
Pulls realtors from Airtable who haven't been contacted yet and sends each one a personalized cold DM on Instagram.
Step 1 Β· Cold DM Message
Use {FIRST_NAME} to personalize each message.
πŸ‘» Step 2 Β· Ghost Follow-Up + Unfollow ● LIVE
Re-pings cold leads who went quiet 30+ days ("Seen any Scary Basements lately? πŸ‘»"), and unfollows accounts that never engaged to keep you under Instagram's follow ceiling. Runs in the same session right after the cold DMs above.
πŸ”Ž Realtor Scraper ● LIVE Β· daily
Finds new realtors by reading the follower / following lists of realtors you already know, and adds them to your database.
🧰 Bio Enrichment ◐ DRY-RUN
Reads realtors' Instagram bios and saves their phone, email, and website into your database β€” so you have more ways to reach them (and a number for the text sequence).
Run: IG Bio Enrichment - Run Now (Dry).command
πŸ”— Handle Resolver ◐ DRY-RUN
Finds a realtor's Instagram when you only knew them from Facebook or LinkedIn β€” bridges the gap so they can be DM'd. Only saves a match it can verify (never guesses).
Run: IG Handle Resolver - Run Now (Dry).command
πŸ’Ό LinkedIn Bots β–Ύ
  Loading LinkedIn bots…
πŸ’ͺ Wellness Bot β–Ύ
Protects 2 wellness blocks per week after appointments load:
β€’ ❄️ Contrast Therapy β€” 90 min at NordicOnNine (2899 Rt 9W, Ste 100, New Windsor NY). Thursday evening preferred, Wednesday evening fallback. Walk-ins, no booking required. nordiconnine.com.
β€’ πŸ’ͺ Wellness Block (PF) β€” up to 2 per week from {Wed, Fri, Sat} excluding the Contrast day. Picks the PF closest to that day's last appointment so your route is last appt β†’ gym β†’ home.
Re-runs every 15 min, reassesses when appointments change, sends a Telegram reminder the day-of each block.
Pick your Gmail / personal calendar (NOT Exchange "Calendar")
Start time + duration (min)
This Week's Plan
Loading this week's plan…
Bot replans every 15 min from your calendar. Contrast prefers Thu eve (Wed fallback). PF blocks pick the closest gym between today's last appointment and the next day's first.
βš™οΈ System Health
🩺 API & Capability Health
Probing…
Live probe of every service the app touches. Each row shows real-time status + how to fix.
Loading…
Loading…

πŸ“ Add Appointment