HappyRobot / Carrier Sales

Inbound carrier desk · voice automation

A carrier calls in through a browser web-call, gets verified and OTP-checked, is matched to a load, negotiates a rate the broker's ceiling is never disclosed and is handed to a senior rep. The HappyRobot voice agent orchestrates the conversation; a containerized bridge connects the systems HappyRobot can't reach natively (the legacy TMS, FMCSA, OTP); every call is logged to Twin and surfaced on this dashboard.

Carrier (web browser)WebRTC web call — no phone #HappyRobot — Inbound Voice Agentverify → OTP → match → negotiate ≤3 → book → handoffCarrier Sales Bridge — FastAPI (Docker / Railway)FMCSA · OTP · resilient TMS TCP · ceiling-safe offersLegacy TMSline TCP · fixed-widthFMCSAQCMobile RESTTwin (data layer)carrier_call_auditOps Dashboardthis app — you are hereweb callWebhook tools (Bearer)TCPRESTaudit writereads

Components

How a call flows

  1. Carrier opens the web-call link and talks to the agent.
  2. Agent collects the MC → verify_carrier → FMCSA. If not eligible, the call ends.
  3. Agent sends a one-time code → send_otp / verify_otp. No matching until verified — no bypass.
  4. Agent gathers lane/equipment → search_loads (or browses by equipment) and pitches a load.
  5. On each carrier offer → evaluate_offer returns accept / counter / reject (≤3 rounds). The ceiling is never revealed.
  6. On agreement → book_load (TMS) → handoff_to_rep (mock transfer).
  7. Throughout, the bridge upserts the call's audit row to Twin → visible here within seconds.

Key design decisions