Dashboard
Outbound calling overview
Calls — last 14 days
Funnel
Outcomes
Answer rate by hour
Cost
Per campaign / script
Campaigns
One runs at a time (one GPU) · scheduled ones auto-start in their window
Log
Products
one pitch, one lead pool, one password per product — switching takes effect on the next dial wave
Active campaign
Lead pools (pending)
Register new product campaign
script goes to config/scripts/<name>_cold_call.yaml — write it (or ask Claude) before switching the campaign live. Upload its leads from the Leads tab with the campaign selector.
Leads
Callback queue
Leads whose last call asked to be called again — don't lose them
No WhatsApp — call manually
Their booking link could NOT be delivered (number has no WhatsApp). Ring them, ask for a WhatsApp number, save it and the link is re-sent on the next interested call.
Call log
Transcripts, recordings & AI summaries
Live
Active calls + conversation feed (3s refresh)
Conversation feed
System health
Upcoming calls — next 6 hours
Live — CPU / RAM / GPU
connecting…
CPU–
MEMORY–
GPU–
Industry performance
Answer / conversation / win rates per business type (30 days). The Outreacher AI tuner learns from this data every 6h to decide which businesses to scrape next.
Buying intent
Public posts where someone asked for what we sell. Open the thread and reply yourself — nothing here posts automatically.
PersonalOutreacher
Lead-scraping dashboard — runs on the same server (:8080)
New campaign
Test call
Dials with this campaign's exact script
Import from Google Sheet
Sheet must be “anyone with link can view”. Columns: phone, name/first_name, company, segment…
Add lead
Call
Booking link was texted — did they book the demo?
Script
📞
CallAgent