Skip to content

Pilots — live operations

The operational view of every live YE pilot. Each call Polly handles, with every field she captured, every SMS-handoff status, recording, and quality flag. This is where the product turns into a feedback loop.

Dashboard

🔗 Pilots dashboard (bookmark this — link includes the API key so it just works)

What it shows:

  • Overview page — every live pilot, their YE number, trade mobile, status, and 24h / 7d (calls / jobs captured / flagged).
  • Per-pilot detail page — every call ever logged for that pilot: when, who called, what Polly captured (name / callback / job / urgency), call duration, whether end-of-call SMS-to-trade landed, recording link, and per-call quality flags.

Refresh is manual — reload the page for the latest. (Vapi's webhook fires on call-end, the bridge writes the record synchronously, so a call appears the moment it ends.)

Daily Telegram digest

Cron 39e7d26e-785b-48fd-bf4b-34ab2b0b1468 runs 07:00 UTC (08:00 BST) every day.

When at least one call was logged in the last 24h, it sends Matt:

📞 YE pilots — last 24h
Live pilots: 3
Calls: 7 · Jobs captured: 5 · Flagged: 2

Per pilot:
- Brother's plumbing: 4 calls, 3 jobs, 1 flagged
- Smith Electrical: 2 calls, 2 jobs, 0 flagged
- Greenfield Heating: 1 call, 0 jobs, 1 flagged

⚠️ Review flagged calls in dashboard before tomorrow's outbound.

Dashboard: https://bridge.yourevenings.com/pilots?key=...

Silent on zero-call days (early in the pilot, this will be most days).

How a call gets logged

  1. Polly answers the diverted call.
  2. End of call → Vapi fires end-of-call-report to bridge.yourevenings.com/vapi-webhook (auth via x-vapi-secret).
  3. Bridge looks up the provision by assistantId, sends the job-handoff SMS to the trade, then writes the full call record to /data/calls.json.
  4. Quality flags computed at write time (see Quality flags).
  5. Record appears in the dashboard immediately.

Storage

  • File: /data/calls.json on the VPS, owned by the bridge container
  • Format: one JSON object keyed by Vapi callId
  • Backup: included in the daily git backup (575ca004 cron, 02:00 Europe/Vilnius)
  • Retention: indefinite (~1 KB per call; trivial)

See also