STANDBYMaster switch is OFF — no live calling is running. Arm the dialer to resume check-ins.
Maya — Live Calls
mila-13-live-calls · polls every 20s live
Maya is idle— no calls in progress
Retention Scoreboard
ROI · last 30 days·
| Carrier | Enrolled | Active | Flagged | Saved | Retention % |
|---|
Live Activity
retention_checkins check-in feed
Saves — What Maya Fixed
flag → alert → verified retained·
A save = Maya flagged a problem, the team was alerted, and the driver was still on the job at the next check-in — verified automatically by Maya's follow-up call, no manual bookkeeping.
| Driver | Client | What was wrong | Flagged on | Confirmed still driving |
|---|
Enroll drivers in Maya's check-ins
enrolling = Maya starts calling on the cadenceEnrolling a driver puts them on Maya's check-in schedule (currently day 3 / 7 / 14 / 30 — editable in Controls). The moment you enroll, Maya's first check-in is scheduled; when a day comes due Maya calls automatically within the 9am–8pm local window (only while the master switch is armed). Enrollment is always manual — Maya never pulls drivers from the CRM on her own.
Client
Check-ins done today
·Check-in cadence · tap a day to filter · due today by day-offset
Overdue Check-ins
missed · needs a call·
| Driver | Carrier | Recruiter | Day | Overdue | Action |
|---|
At-Risk Drivers
what Maya caught · team alerted via Chat + email·
| Driver | Carrier | Recruiter | Day | Flag / sentiment | Maya's summary | Action |
|---|
Due for Check-in Today
tap “Call now” to dial·
| Driver | Type | Day | Location | Action |
|---|
Recruiting leads and controls are kept separate from the retention roster — no shared switches, no shared numbers.
Now Dialing
recruiting dialer
0 ON CALL
STANDBY
Recruiting dialer disarmed — arm to resume live calling
Calls Today
0
no recruiting calls yet
Answered
0
— answer rate
Interested
0
of answered
Warm Deliveries
0
handed to recruiters
Call Queue
HOT drivers — dial now0 ready
| Driver | Location | Wants | Said on AI call |
|---|
Live Activity
recruiting dialerNo activity yet— feed starts once recruiting calls begin
Campaign Pipeline
recruiting leads · real counts
Live: “Call now” routes through secure server — Vapi key stays server-side.
Drag & drop a CSV of leads — or click to browse
headers auto-map: full_name · first_name · last_name · phone · email · zip · home_city · state · run_type · driver_type · crew_type · recruiter
Driver Records
tap a row to edit · “Call now” to dial·
| Driver | Phone | Location | Recruiter | Carrier | Run | Status | Maya calls | Updated | Action |
|---|
Clients
tap a row to edit · status inline·
| Client | Drivers enrolled | Active | Open flags | Retention % | Status | Report |
|---|
Live: routes through secure server — Vapi key stays server-side.
Maya — the agent
voice · script · modelVoice + script changes push to Vapi through the secure server — no Vapi login needed.
Claude Haiku 4.5
fast (~1.2s) · read-only
LOCKED
Guardrails
always on · read-only
AI disclosure in first line ✓
Never quotes pay ✓
Permanent opt-out ✓
Offers notes-or-transfer ✓
Recorded-line notice ✓
Maya follows these rules on every call — they can't be turned off from the console.
Per-client knowledge
carrier briefPay/home-time/equipment/quirks become Maya's knowledge for this client's drivers. Edit the full brief on the Clients screen.
Actions
demo triggersLive: routes through secure server — Vapi key stays server-side.
Client
Call Log
retention_calls · tap a row for driver detail·
| When | Dir | Driver | Client | Day | Disposition | Duration | Sentiment | Summary |
|---|
How inbound calls are handled
read-only · enforced in the prompt + transfer server| When a driver calls | Transfer | Note | Flag |
|---|---|---|---|
| Retention concern · Mon–Fri 8am–4pm CT | → recruiter | yes | yes |
| Retention concern · any other time | no | yes | yes |
| Dispatch / loads complaint · any time | never | yes + callback promised | yes |
| Named a driver, no record found | no | yes | unmatched |
| Never identified as a driver | no | no | none · ends 60s |
Maya never chooses a phone number. The transfer destination is decided server-side from the
recruiters table, so she cannot transfer a driver anywhere except their own recruiter's direct line.Check-in cadence
retread_settings.cadence_daysWhen Maya is allowed to dial
read-only · enforced in SQL| Rule | Value | Where it lives |
|---|---|---|
| Calling window | 9:00am – 8:00pm | driver's own timezone · retention_due_checkins |
| Days of week | every day | no weekday rule is applied |
| Retry cooldown | — | retry_cooldown_hours |
| Attempts per check-in | — | max_attempts_per_checkin |
| After a voicemail is left | — | voicemail_left_cooldown_hours |
These are enforced inside the database views the dialer reads, not in the console — so they hold even if a workflow forgets to check them.
Inbound routing
read-only · lives in Maya's prompt + the transfer server| When a driver calls | Transfer | Note | Flag |
|---|---|---|---|
| Retention concern · Mon–Fri 8am–4pm CT | → recruiter | yes | yes |
| Retention concern · any other time | no | yes | yes |
| Dispatch / loads complaint · any time | never | yes + callback promised | yes |
| Named a driver, no record found | no | yes | unmatched |
| Never identified as a driver | no | no | none · ends 60s |
Maya never chooses a phone number. The transfer destination is decided server-side from the
recruiters table, so she cannot transfer a driver anywhere except their own recruiter's direct line.Who a transfer reaches
recruiters.direct_line| Recruiter | Direct line on file |
|---|
A driver is transferred to their own recruiter's line. Edit these under Records › Recruiters.
Unplaced callers
nobody of their own · who catches themSomeone rings us who isn't in the driver list — an ex-driver asking about coming back, or a driver whose recruiter has no direct line on file. Maya connects them to this person instead of telling them she can't help.
If this person is inactive, has no direct line, or is the caller,
Maya connects them to any other active recruiter rather than nobody.
Business hours still apply — outside them she takes a note instead.
Dialer & limits
master controlsSafety & Kill Switch
retread_settingsTest Allowlist
retread_test_allowlist| Phone | Label |
|---|
Opt-out Registry
retread_opt_out_registry · DNC| Phone | Requested | Source |
|---|
Opt-outs are permanent and cross-campaign.
When a driver asks to speak to a person, Maya warm-transfers to their recruiter's direct line. Match happens on the recruiter name set on each driver. No line on file → Maya takes notes and the team follows up today.
Add recruiter
recruitersThe recruiter name must match what's set on the driver (Drivers tab → Recruiter). Leave the line blank if you don't have it yet — those transfers fall back to notes.
Recruiters
tap Edit to update a line·
| Recruiter | Direct line | Drivers |
|---|