Tasks Automated Tasks
Automated Tasks

Informational only — these are the automated processes, webhooks, and CLI sync jobs that run behind the scenes. Use this page to understand what's supposed to happen automatically and to troubleshoot when something looks wrong.

Twilio — Inbound SMS 1 task
Inbound SMS capture
Fires every time a text message is received on your Twilio number. Saves the message to the Inbox as a new SMS item.
Trigger POST /twilio/sms/incoming
Webhook
Setup Configure in Twilio Console → Phone Numbers → your number → Messaging → Webhook (A message comes in).
Env vars TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_CALLER_ID
Twilio — Inbound Voice / Voicemail 5 tasks
Inbound call router
Fires on every inbound call. Rings the on-duty agent's browser first (Twilio Client). If unanswered or nobody on duty, falls back to the agent's cell phone.
Trigger GET|POST /twilio/voice/incoming
Webhook
Setup Configure in Twilio Console → Phone Numbers → your number → Voice → Webhook (A call comes in).
Env vars TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, PUBLIC_BASE_URL
Inbound call fallback (cell forward)
Called automatically by the inbound call router when the browser ring times out. Forwards the call to the agent's cell number, then routes to voicemail.
Trigger POST /twilio/voice/incoming/fallback
Webhook
Setup Called internally via TwiML action= — not configured directly in Twilio Console.
Env vars TWILIO_FALLBACK_CELL (optional — falls back to user cell_number)
Voicemail recorder
Plays a 'leave a message' prompt and starts a recording with transcription. Called automatically when both browser and cell forward are unanswered.
Trigger GET|POST /twilio/voice/incoming/voicemail
Webhook
Setup Called internally via TwiML redirect — not configured directly in Twilio Console.
Env vars PUBLIC_BASE_URL
Voicemail recording callback
Fires when a voicemail recording is complete. Saves the recording URL to the Inbox.
Trigger POST /twilio/voice/recording
Webhook
Setup Configured automatically via TwiML recordingStatusCallback= in the voicemail recorder.
Env vars PUBLIC_BASE_URL
Voicemail transcription callback
Fires when Twilio finishes transcribing a voicemail. Attaches the transcription text to the matching Inbox voicemail item.
Trigger POST /twilio/voice/transcription
Webhook
Setup Configured automatically via TwiML transcribeCallback= in the voicemail recorder.
Env vars PUBLIC_BASE_URL
Twilio — Outbound Calls 3 tasks
Outbound call TwiML (browser dialer)
Fires when an agent initiates a call from the browser (Twilio Voice JS SDK). Returns TwiML that dials the prospect's number using your Twilio Caller ID.
Trigger POST /twilio/voice/outgoing
Webhook
Setup Configure in Twilio Console → TwiML Apps → your app → Voice Request URL.
Env vars TWILIO_ACCOUNT_SID, TWILIO_API_KEY_SID, TWILIO_API_KEY_SECRET, TWILIO_APP_SID, TWILIO_CALLER_ID
Call status callback
Fires when a call's status changes (ringing → answered → completed, etc.). Updates the call record in the database with duration and final status.
Trigger POST /twilio/calls/status
Webhook
Setup Set as statusCallback= parameter when initiating calls, or in Twilio Console.
Env vars None beyond active Twilio config
Dial status callback
Fires on Dial verb completion events (DialCallStatus). Updates the call record with dial-leg status and recording URL if present.
Trigger POST /twilio/calls/dial-status
Webhook
Setup Configured automatically via TwiML action= on the Dial verb.
Env vars None beyond active Twilio config
Data Sync — CLI Commands 2 tasks
RentCast rental listings sync
Pulls active rental listings from the RentCast API and upserts them into the Rental Listings table. Run manually or via a scheduled cron job.
Trigger python app.py sync-rentcast-rentals
CLI / Cron
Setup No automatic schedule — must be triggered manually or via cron/task scheduler.
Env vars RENTCAST_API_KEY
MLS rental listings sync (RETS)
Syncs active MLS rental listings via RETS and enriches matching RentCast records with MLS data. Run manually or via a scheduled cron job.
Trigger python app.py sync-mls-rentals
CLI / Cron
Setup No automatic schedule — must be triggered manually or via cron/task scheduler.
Env vars RETS_URL, RETS_USERNAME, RETS_PASSWORD
Networking Events — On-Demand Sync 1 task
Networking events calendar sync
Scrapes/syncs event calendars for configured networking clubs (iCal, custom scrapers). Runs at most once per day — skips if already synced today.
Trigger On page load: /networking-clubs/events or /api/networking-events
On Demand
Setup Automatic — fires when someone visits the Networking Events calendar page. No cron needed.
Env vars None — uses club calendar URLs stored in the database