Logistics AI Voice Agent: Setup, Call Flows and Monthly Cost

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Logistics AI Voice Agent: Setup, Call Flows and Monthly Cost.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Logistics AI Voice Agent: Setup, Call Flows and Monthly Cost.

An AI voice agent answers a shipment status call by asking for a reference, checking it against your transport management system (TMS) or tracking feed, then reading back the latest status and ETA. Platform fees run roughly $0.07 to $0.31 a minute, so a three-minute call costs about 20 cents to a dollar, before the phone line.

Costs matter less than the design. A status agent succeeds when it does one narrow job, checks who is asking, and passes everything unusual to a dispatcher with the details already captured. It fails when it is asked to be a dispatcher. Below are the call flows, the data link, the hand-off rules, the monthly cost and the test calls.

Follow me on Instagram@sagnikteaches

Which calls it should take, and which it should not

In a small carrier or 3PL, the phone fills with a handful of repeat questions. "Where is my load?" is the big one, followed by "when will it arrive", "has it been signed for", "can I change the delivery window" and "I need a proof of delivery". The first three are lookups and suit an agent. The fourth needs a decision from dispatch. The fifth is a document request that can be fulfilled by email or text once identity is confirmed.

Connect on LinkedInSagnik Bhattacharya

Start by logging a week of calls. Mark each as lookup, request, change, problem or other. If lookups are under a quarter of the volume, a voice agent will not move your workload much, and a status page or text updates may do more. If lookups are half or more, it is worth building. For the sorting method, the tutorial on customer-facing or back-office AI helps decide whether the phone is the right place to begin.

Subscribe on YouTube@sagnikteaches

The call flow, step by step

Write the flow on paper first, with the exact words. A voice agent follows a script you control more than any chat tool does, because callers give short, noisy answers and every extra question costs a few seconds and a few cents.

  1. Greeting and disclosure. "You've reached [company]. I'm an automated assistant and can help with shipment status. What's the reference number?" Say it is automated. It is honest, and it sets expectations.
  2. Capture the reference. Ask for the PRO, bill of lading, booking or order number, whichever your callers hold. Read it back in groups ("seven four two, one nine") and ask for confirmation. Speech recognition is weakest on long numbers.
  3. Check the caller. Ask for one more detail, such as the consignee name or the delivery town. Match it to the record. Two failed tries go to a person.
  4. Look up status. The agent calls your lookup and gets a small fixed set of fields: status, last scan location and time, ETA window, signed-for yes or no.
  5. Answer in one or two sentences. "Your shipment left our depot at 7:40 this morning and the delivery window is between one and three this afternoon. Would you like a text with that?"
  6. Offer the next step. A text with the status, a proof of delivery by email, or a transfer to dispatch.
  7. Close or hand off. If the caller asks for anything outside the script, capture the name, number and reason, and either transfer live (in hours) or promise a callback (out of hours).

An illustrative extract of how step 5 might sound for a delayed load. The wording matters, because a delay is the call people dread:

Agent: Thanks, I've found it. The shipment is running late. The last scan
       was at our hub at 2:10 pm and the new delivery window is
       tomorrow between nine and eleven in the morning.
Caller: Why is it late?
Agent: I can see it missed the afternoon departure, but I can't see a
       reason. I can put you through to dispatch now, or take your number
       for a call back within the hour. Which would you prefer?

Notice that the agent does not guess the reason, and it offers a person immediately. The easiest way to lose trust is to let a voice agent invent an explanation.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Connecting it to your TMS or tracking data

The voice platform does not read your TMS directly. You give it a "tool" or "function" that it can call mid-conversation, which sends the reference number to a small web service and gets back a short answer. There are three ways to build that service, from simplest to most sturdy.

  • A spreadsheet export. Your TMS exports open shipments to a sheet every 15 or 30 minutes, and an automation tool looks up the row. Cheap, quick to build, with a built-in delay. Good for a pilot.
  • The TMS API. If your system offers one, an integrator or an automation tool calls it live. Check whether the API limits requests, and whether it exposes ETA or only the last scan.
  • A tracking provider. If most of your freight is tracked by a carrier or telematics service, call that service's API and use your TMS only to map references.

Whichever you pick, return only the fields the agent needs and nothing else. If the lookup returns an entire load record, with rates and customer contacts, the agent may read them out, and the caller may be a competitor. A small, fixed response is also a security feature.

Hand-off rules: what goes to a person, and how

Write these as rules the agent follows without judgement:

  • Caller asks for a person, or sounds upset: transfer.
  • Two failed attempts to match a reference: transfer.
  • Status shows an exception (damaged, held, refused, missed appointment): transfer, after reading the status.
  • Anything about money, a claim, a safety event or a change to a delivery: transfer.
  • Outside hours: take a message with name, number, reference and reason, and say when someone will call.

The agent should pass a short summary with the transfer so dispatch does not start from zero: "Caller, consignee name, reference 742-19, asking why delivery is late, status shows missed departure." Check whether your phone platform can send that as a text, a ticket or a screen pop. Without it the customer repeats everything and the saving is lost.

What it costs per call and per month

Voice platforms bill per minute, and most bundle several costs inside it: the platform, speech recognition, the language model and the synthetic voice. Retell lists pay-as-you-go pricing at $0.07 to $0.31 a minute depending on the voice and model you pick, with 20 concurrent calls included and $10 of free credits to build with. Vapi charges $0.05 a minute for hosting, and the speech, model and voice providers are billed on top at their own rates; its pricing estimator shows $82 to $129 a month for 1,000 minutes with typical choices. Phone numbers and carrier minutes sit outside both figures: Retell lists its own numbers at $2 a month, and Vapi's page quotes carrier rates such as Twilio inbound at under a cent a minute. Prices change, so check the vendor pages before you commit.

Now do the sum for a small 3PL. Say it takes 600 status calls a month and the agent handles 70% of them end to end, with 180 passed to dispatch. The average handled call is 2.5 minutes and the transferred call is 1.5 minutes before transfer. That is 420 x 2.5 + 180 x 1.5 = 1,320 minutes. Illustrative cost bands:

ScenarioRate per minuteVoice minutesPhone number and carrier (allowance)Monthly total
Lean$0.081,320 = $106$15about $121
Typical$0.131,320 = $172$25about $197
Premium voice and model$0.251,320 = $330$25about $355

Add a lookup service: an automation plan or a small hosted function, typically $10 to $50 a month, and a one-off build, perhaps ten to twenty hours of an integrator's time or your own. Cost per handled call in the typical case is about $0.47 before the lookup service. A person taking the same 420 calls at four minutes each is 28 hours; at $22 an hour that is $616. So the agent is cheaper on paper, but the real gain is that dispatchers stop being interrupted, and calls are answered at 6 pm.

The figures assume you fix the minutes. They rise when callers talk over the agent, when it repeats itself and when the lookup is slow. A three-second wait on every lookup adds a minute across twenty calls. Measure average call length in week one and recalculate.

Twenty test calls to run before real customers ring

Test with your own staff and a few friendly customers, from a mobile in a moving vehicle if you can. Record every call and score them in a sheet.

  1. Five clean calls with a valid reference and the correct second detail.
  2. Two calls with a mistyped or misheard reference. Does it ask again, or accept a near match?
  3. Two calls where the caller gives the wrong second detail. It must refuse to give status.
  4. Three calls on shipments in an exception state: held, damaged, refused.
  5. Two calls asking for a claim or a price. It must hand over.
  6. Two calls with an upset caller: "this is the third time I've called."
  7. Two bad-line calls: wind, traffic, a heavy accent, a caller who talks slowly.
  8. One call at night. It should take a message and not promise a live person.
  9. One call where the TMS lookup fails. It should say it cannot check and offer a person, not make something up.

Pass mark: every identity and exception test must pass. A failure on any of those is a stop. For the shape of a longer test plan on a different sector, the plumbers' 15-call test and the restaurant 12-call test are useful references. Once the calls pass, consider running the agent in the background first, so your team hears what it would have said before callers do; the tutorial on piloting AI in shadow mode explains how.

The instructions you give the agent

Most platforms ask for a written prompt that sets the agent's job and limits. Keep it short and put the rules in words a new dispatcher would follow. An illustrative version for a small 3PL:

You are the phone assistant for [company], a small freight and
warehousing business. Your only job is to tell callers the status of a
shipment. Say at the start that you are an automated assistant.

1. Ask for the reference number and read it back in groups of three.
2. Ask for the consignee name or delivery town. Compare with the lookup.
3. Call the status tool. Give status, last scan time and ETA window
   in at most two sentences. Always say how recent the data is.
4. Never give prices, driver details, other customers' information,
   or the reason for a delay unless the tool returns one.
5. Transfer to dispatch if: the caller asks for a person, the status is
   an exception, identity fails twice, or the topic is a claim, a charge
   or a change to a delivery.
6. Outside 07:00-18:00, take a message instead of transferring.
If you do not know, say so and offer a person.

Check what you wrote against the rules above rather than trusting it. The common slip is rule 4: a model that wants to be helpful will explain a delay with something plausible ("probably traffic") unless told in plain words that it must not. Test it by asking "why is it late?" on shipments where the tool returns no reason.

A day in dispatch, before and after

Take a haulage firm with two dispatchers who take about 40 status calls a day between them, mixed with planning work. Before the agent, each call interrupts a task, and the 11 am and 3 pm peaks produce a queue. The dispatchers estimate that each call costs four minutes plus a similar amount to regain focus, which is about five hours of the pair's day.

After a month with the agent taking about 70% of lookups, the dispatchers get 12 calls a day, and each arrives with a summary such as "caller from the consignee, reference 742-19, says the delivery window was missed, status shows exception". The calls are longer, because they are harder, but they are fewer and arrive prepared. Illustrative numbers: 12 calls at six minutes is 72 minutes, plus perhaps another 30 minutes lost to interruptions, so about 1.7 hours instead of five. That is the saving to cost against the $197 a month in the typical scenario above, and it is worth setting down in writing before you buy.

What an out-of-hours message should capture

Overnight calls are where a voice agent beats voicemail. Instead of "leave a message after the tone", the agent asks for specific fields and creates a ticket or an email. Illustrative output sent to the dispatcher's inbox at 6:40 am:

Subject: After-hours call - ref 742-19 - possible missed delivery window
Caller: [name], consignee contact
Number: [number as spoken, read back and confirmed]
Reference: 742-19 (matched to booking, consignee name matched)
Status at time of call: out for delivery, last scan 16:05 yesterday
Reason for call: says nobody delivered and the site closed at 17:00
Urgency: caller says goods are needed for a 08:00 start
Requested: call back before 08:00

The dispatcher can act on that in a minute. Compare it with a voicemail that says "hi, it's about my delivery, call me". The structured message is the part customers notice, and it costs a few cents.

Keeping callers' trust and your records in order

Tell callers at the start that it is an automated assistant and, if you record or transcribe calls, say that too. Recording and consent rules differ by place and by who is calling, so check the rules for the places where your callers are, and ask an adviser if you are unsure. Keep recordings only as long as you need them, restrict who can listen, and do not let the agent take payment details or read out full addresses. Make sure the transcripts do not end up in a general-purpose tool that your supplier uses to train its models: ask the voice platform what it does with call audio and whether there is a setting to switch retention off.

Also keep a record of what the agent told people. If a customer says "your phone system told me it was delivered", the transcript and the lookup response at that moment are your evidence. Store both together under the reference number for as long as you keep delivery records.

Three numbers that tell you it is working

  • Containment rate. The share of calls the agent finishes without a transfer. For a pure status line, a target of 60 to 75% is reasonable to aim at, but treat any such figure as something to measure rather than a promise.
  • Wrong-answer rate. Sample ten calls a week and check the answer against the system at that moment. Aim for zero wrong statuses, and treat one as a defect to fix that day.
  • Repeat-caller rate. If the same reference calls twice in an hour, the first call failed. Count them, because a rise means callers do not believe or understand the answer.

Review these weekly for the first two months and monthly afterwards. The AI metrics tutorial for small businesses lists other measures to consider. Keep the list short, though; three honest numbers are worth more than twelve that nobody reads.

Three ways status agents go wrong in a freight setting

The agent reads a stale ETA. A scan at 6 am is not the position at 3 pm. Have the lookup return the time of the last update, and make the agent say it ("as of one o'clock"). If the last update is older than a set limit, route to a person.

Reference mix-ups. Customers give a purchase order number where you hold a booking reference. Allow two or three reference types and let the lookup search all of them, or the agent will say "I can't find that" to a valid caller.

Too many words. Long answers sound robotic and invite interruptions. Cap each answer at two sentences, and offer a text for the rest.

Choosing between a platform and a ready-made answering service

A build-it-yourself platform such as Retell or Vapi gives control over the script, the lookup and the hand-off, at the price of setup effort. A ready-made AI answering service is quicker to start but usually limits what it can look up, so check whether it can query your system at all before you sign. If it can only take messages, it is an answering service and not a status agent, and the per-call comparison above does not apply. Ask any vendor for a live demo using one of your real references, because a demo on invented data tells you nothing about your lookup.

A rollout plan for the first month

Week one, log calls and write the scripts. Week two, build the lookup and the first flow on a test number. Week three, run the twenty test calls and fix. Week four, take real calls from one customer group or one hours window, review every recording each day, and keep a person on standby. After the month, check three numbers: share of calls fully handled, share transferred, and complaints. If you are happy with them, widen the scope one step at a time, and keep the weekly call review going. If you would like help mapping this to your own call mix first, that is the kind of job my AI implementation consultation covers.

Logistics voice agent questions

Can the voice agent read my TMS or tracking data?

Usually through an API or a webhook that you or an integrator connect, not by reading your screen. The agent sends a reference number to a small lookup service and gets back a status, an ETA and the last scan. If your system has no API, a scheduled export to a spreadsheet can serve as a first lookup, with a delay.

What should never be left to the agent?

Damage and loss claims, disputes over charges, anything involving a safety incident, and changes to a delivery that affect a third party. Route these to a person with the details captured. The agent can say what happens next and when someone will call back.

How do I stop it giving out information to the wrong person?

Ask for the reference number plus one more detail that only the genuine caller would know, such as the consignee name or delivery town, before giving any status. Give out status only, never prices, and never read a full address aloud unprompted.

How many test calls are enough before going live?

Around twenty calls covering your ten commonest questions, three angry callers, three bad lines, a wrong reference and an after-hours call. Run them across two days, fix what fails, then go live on one number or one customer group before everyone.

Further reads

Sources: Retell AI and Vapi pricing pages (per-minute rates, concurrency, phone numbers, carrier rates), read on 5 November 2026; plan details change, so check the vendor pages.

Want your where-is-my-load calls handled properly?

On a 1:1 call we'll look at your call volume, the system the answers live in, and the calls that must reach a person, then work out whether a voice agent is worth setting up.

Book a 1:1 call with me