AI agent — Operations
Rio finds a carrier for every confirmed load, sends the transport order, chases documents and keeps everyone updated on ETA — so your dispatchers handle exceptions instead of phone tag.
What he handles
Built to keep dispatchers on exceptions, not on routine phone calls.
A morning with Rio
Agro Delta accepted quote Q-7781. Pickup confirmed for 14 October, 08:00.
Three carriers ran Pitești to Lyon in the last 90 days. I sent price requests to all three. Best reply: Carpat Trans SRL, €1,210, 13.6 m tautliner. That’s within your buy-price limit, so I’m booking it.
Order confirmed: Pitești to Lyon, 14 EUR pallets, pickup 14 October at 08:00. Transport order attached. Please send the driver’s name and phone number by 18:00. — Rio, dispatch
Shipment SHP-5530 created. Client notified with the pickup window.
The card is what lands in your CRM or ERP — delivered as JSON through the API, with every field named and typed. Names and numbers in this example are fictional.
Personality
Knows which carriers ran the lane before and who answered fastest.
Short, clear messages to carriers and drivers. No fluff, no misunderstandings.
Spots delays early and warns the client before they have to ask.
Default tone: Short and direct. Formality, languages and signature are tuned to your brand during setup and can be changed later with PATCH /v1/agents/rio. Sample signature: Rio, dispatch.
Plugs into
| Task type | What it does |
|---|---|
carrier.match | Shortlist carriers for a load from your own data |
carrier.request_offers | Send price requests to carriers and collect the replies |
shipment.update | Process a status, ETA or delay event and notify the right people |
documents.check | Check CMR, POD and photos for completeness |
curl https://api.auroraaisystems.com/v1/agents/rio/tasks \
-H "Authorization: Bearer $AURORA_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"type": "carrier.match",
"input": {
"shipment_id": "SHP-5530",
"lane": {
"from": "RO-110",
"to": "FR-69"
},
"vehicle": "tautliner",
"max_buy_price": 1260
}
}'{
"id": "task_01J9ZRIOQ2",
"object": "task",
"agent_id": "rio",
"type": "carrier.match",
"status": "completed",
"output": {
"candidates": [
{
"carrier_id": "car_118",
"name": "Carpat Trans SRL",
"lane_loads_90d": 4,
"last_price": 1190,
"score": 0.91
},
{
"carrier_id": "car_052",
"name": "Dunav Freight EOOD",
"lane_loads_90d": 2,
"last_price": 1240,
"score": 0.78
}
],
"recommended": "car_118"
},
"usage": {
"input_tokens": 2840,
"output_tokens": 590,
"total_tokens": 3430
}
}Frequently asked questions
Rio works through written channels — email, WhatsApp and your TMS. Phone calls stay with your dispatchers unless voice is added as a custom build.
If your freight exchange offers an API and your contract with them allows it, the connection can be built during setup.
Typically 2–4 weeks from your order: a kickoff call, connecting your systems, tuning his persona and boundaries, and testing in the sandbox before go-live.
€699 per month excluding VAT, with 10M tokens included and pooled with your other agents. The one-time setup fee of €4,499 per company covers onboarding for every agent in your first order.
Add him to your order now, or talk to us first about your process and systems.