Your dispatcher's best hours aren't spent dialing carriers for position updates.
The Check Call Agent places automated tracking calls through Phony, transcribes every word, extracts the position and ETA, and writes a structured load event — all without a dispatcher picking up the phone. When a carrier reports a problem during the call, a human is in the loop before anything happens.
Reads
Load record, stop sequence, current position (if available from ELD)
Writes
Position event (source: check_call), load event with transcript and extracted ETA
Human approval required
Yes — when carrier reports an exception (breakdown, delay, missing BOL) during the call
What the Check Call Agent does
From scheduled check-call window to structured load event — with a full transcript attached.
Automated call placement via Phony
The Check Call Agent triggers Phony — the erp.io voice module — to place an outbound call to the carrier's driver or dispatch contact. The call is placed at the configured check-call window: typically before pickup, mid-transit, and approaching delivery.
Call transcription
The full conversation is transcribed and attached to the load event. Nothing is paraphrased. The transcript is available in the load detail screen alongside the extracted structured data, so dispatchers can verify what was actually said.
Position and ETA extraction
After the call, the agent extracts the current city or intersection, the estimated time of arrival at the next stop, and any notes the driver provided. These are written as a structured position event — source: check_call, confidence: medium — on the load event spine.
ETA comparison against appointment window
The extracted ETA is compared against the scheduled delivery appointment. If the driver-reported ETA will miss the window, the load is flagged and the Service Failure Monitor is triggered to send early warnings to the shipper and ops team.
No-answer escalation
If the carrier does not answer after the configured number of attempts, the agent writes a no-contact event to the load spine and escalates to the dispatcher for manual follow-up. The dispatcher sees the load, the failed attempts, and the current ETA gap.
Exception detection during the call
If the carrier reports a breakdown, a delay, a missing BOL, or another exception during the call, the agent flags the load for human review before taking any action. The dispatcher sees the flag, the transcript, and the carrier's reported issue.
From check-call window to load event
The agent handles the call. The dispatcher handles the exceptions. That is the division of labor.
Check-call window opens
The check-call schedule is configured per lane or per customer. When the window opens — say, two hours before the scheduled pickup — the agent queues the call.
Phony places the call
Phony dials the carrier's driver or dispatch contact. The call is recorded and transcribed in real time. If ELD or telematics data already provides a recent position, the call window may be skipped automatically.
Position and ETA extracted
After the call ends, the agent extracts structured data from the transcript: current location, ETA at next stop, driver name, and any flags the driver raised.
Load event written
A position event and a check-call load event are written to the load event spine. The event includes the transcript, the extracted ETA, and the source (check_call). ETA is compared to the appointment window.
Exceptions handed to a human
If the carrier reported an exception, the load is flagged for dispatcher review. The dispatcher sees the flag, the transcript, and the recommended next action. No automated response goes to the carrier until a human approves it.
Check calls fill the gaps ELD can't
When Samsara, Motive, or another ELD integration is active, the Check Call Agent skips check-call windows where a recent ELD position is already available. Check calls are reserved for loads running on personal phones, loads where ELD data has gone dark, or situations where the ETA needs to be confirmed verbally.
Every position source — ELD, check call, driver tracking link — lands on the same load event spine with a source tag and confidence indicator, so the tracking screen always shows the freshest data regardless of where it came from.