Email bots · Live · since July 2026
The carrier ETA bot.
The morning status chase, drafted, classified and followed up unattended every 20 minutes.
The problem
Every morning someone chased every load whose ship date had passed but whose status still said not picked up. Did you pick up? What is your ETA? Per load, per carrier, by hand, first thing, daily.
How it works
- Eligibility is pure logic: dispatched or committed, carrier assigned, ship date today or past. Since October the board pulls itself from a TMS report, so the morning starts with one click and no export upload.
- Thread-finding is deterministic: rate-confirmation subjects carry the shipment ID, so a subject filter finds the carrier thread. More than one match means a human resolves it. The bot never guesses.
- Claude classifies carrier replies read-only: on time, not on time, unclear, auto-reply or bounce. All routing on that verdict is deterministic code.
- One ask per load per day, enforced by a ledger. A cloud cron runs the loop every 20 minutes, business hours only: picked-up loads drop off, out-for-delivery loads highlight, stale asks get a follow-up.
- Shadow first. Version one refused to go live in code even though the schema allowed it. Live mode shipped only after a 114-agent audit, 20 fixes, 223 passing checks and the team's feedback round.
// before the first live send: a 114-agent audit, 20 fixes, 223 passing checks
The result
First cycle on real loads: 35 asks drafted, 16 ETAs confirmed, 3 real problems flagged, in 40 minutes, with three operators working the queue concurrently and zero duplicate asks. The first live cycle sent 14 asks and parked 4 ambiguous threads for a person. The morning chase now runs unattended.
In practice
- S-58210Carrier 0412 · ETA 4:30 PM1:40 PMOn time
- S-58214Carrier 1187 · unclear1:40 PMFollow-up
- S-58219Carrier 0956 · picked up1:20 PMDrops off
- S-58223Carrier 2031 · waiting2:00 PMAsked
- S-58227Carrier 0688 · truck down1:40 PMFlagged
Schedule of the unattended systems, Central time.
Syncing the Central clock.
Related systems
- Live
The morning appointment run
One click rolls stale pickup dates forward in the TMS and drafts the shipper's appointment emails, day-of or the day before, never earlier.
How it works - Live
The priority board
Paste a handful of shipment IDs and get live TMS status plus the truck's last GPS ping and its age. Read-only on day one, on purpose.
How it works - Flag off
Dispatcher-email backfill
Fills blank carrier-dispatcher emails from the rate confirmation's own recipient line, and only when it is certain.
How it works
Your version of this exists.
Different industry, same shape: a repetitive workflow, a fragile spreadsheet, an inbox someone babysits. Tell me what the manual work looks like and I can usually name the first build in one conversation.