Skip to content
be-human.ai
← Back to the journal

AI by industry

AI Agents for Logistics: Delivery Exceptions and Customer Updates

How AI agents for logistics track delivery exceptions, update customers with verified facts and escalate to dispatchers with evidence they can act on.

A brass balance scale on travertine with a bundle of folded ivory paper in one pan and a green marble sphere in the other, beam level in warm sunlight.
Conceptual illustration created with AI · Be Human

AI agents for logistics watch shipment events, spot delivery exceptions early, tell customers what is happening in plain language and escalate to a dispatcher with the evidence needed to decide. The agent does not replace dispatch judgment. It does the monitoring, the checking and the first draft of the message, so people spend their time on decisions instead of collecting facts.

Key takeaways

  • An exception agent is a monitor, a fact-checker and a drafter. Dispatchers keep the decisions that change cost, routes or promises to a customer.
  • Start with a short list of exception types, each with a trigger, a customer message rule and an escalation rule.
  • Customer updates should contain only facts the agent can trace to a carrier event, a scan, a driver note or a dispatcher decision.
  • Escalations work when they arrive as an evidence packet: what happened, what is known, what is not known, the options and a recommended next step.
  • Run the workflow in shadow mode first, then widen the agent's authority one exception type at a time as the record earns it.

What counts as a delivery exception, and why does it need an agent?

A delivery exception is any event that breaks the promise made to the customer or the plan made by the operation. The common ones are easy to list: a late arrival, a missed delivery window, a failed attempt, an address that does not resolve, damaged goods, a refused delivery, a customs or inspection hold, a missing proof of delivery and, for cold chain, a temperature reading outside its allowed range.

The difficulty is rarely recognizing one exception. It is noticing all of them, early, across systems that do not agree. Status sits in the transport management system, in carrier portals, in driver messages, in a shared inbox and in the customer's own emails. A dispatcher who should be deciding what to do about a stuck load is instead opening five tabs to find out what happened. Meanwhile the customer asks where the order is, and the same person answers.

That is the shape of work an agent suits: repetitive checking across sources, consistent message drafting and a clear point where a human takes over. It is a poor fit for the parts that need negotiation, relationships or authority over money, which is why the boundary matters more than the model.

What does the agent need to see before it can act?

An agent that only reads a tracking status will produce confident nonsense. To handle exceptions well it needs a small, defined set of context, and each piece should have a named source.

  • Shipment records: order, consignee, contents class, special handling and service level.
  • Carrier and scan events, with their timestamps and the system that produced them.
  • The route plan and delivery windows, including receiving hours at the destination.
  • Customer contact preferences: who to notify, through which channel and in which language.
  • The exception playbook: your written rules for each exception type, who owns it and what may be promised.
  • Service terms as documents, so the agent can quote what applies instead of guessing.

How events arrive matters. If your carriers can push events, a trigger on each event is usually faster and cheaper than asking repeatedly. If they cannot, scheduled checks work. The trade-offs are covered in webhooks vs polling for AI workflows.

Two safeguards belong in the design from the start. First, the agent should have its own identity and the narrowest permissions the job needs: read access to shipment data, the ability to draft and send approved message types, and the ability to open an escalation. It should not be able to rebook a carrier or issue a credit unless you have decided that on purpose. Second, text written by outsiders, such as driver notes, customer emails and carrier messages, is input to be read, not instructions to be followed. The agent should treat it as evidence.

How should the agent update customers?

A good exception update answers four questions: what happened, what happens next, when the customer will hear again and what, if anything, the customer must do. It says nothing else. The discipline is in what the agent leaves out.

Use these rules as the starting policy:

  • State only facts that trace to a source event or a dispatcher decision. If the cause is unknown, say that the cause is being confirmed.
  • Give a new arrival time only when a person or a trusted carrier estimate supplies it. Never let the agent extrapolate one.
  • Send one update per meaningful change, not one per scan. Customers stop reading a feed that repeats itself.
  • Do not assign blame, offer compensation or change terms. Those belong to a person.
  • Match the customer's channel and language, and keep the tone plain and calm.
  • Always name the next time the customer will hear from you, even if the news is that nothing has changed.

The agent should also keep the context of the conversation. If the customer wrote yesterday about a receiving constraint, today's update should reflect it. The approach is similar to what we describe in AI customer follow-up drafts that keep the context. In the early weeks, have a person approve each message type until the drafts stop needing edits.

A blank folded map on an oak table with a linen thread route crossing it, a single knot in the thread and a brass compass beside it.
Conceptual illustration created with AI · Be Human

When and how should the agent escalate to a dispatcher?

Escalation is where most logistics automation either helps or becomes noise. A dispatcher who receives a vague alert has to redo the investigation. A dispatcher who receives an evidence packet can decide in a minute.

Every escalation should carry the same fields:

  • What happened, in one sentence, with the exception type.
  • The evidence: the events, timestamps and sources that support it, plus any customer message already received.
  • What is not known, stated plainly, so nobody mistakes a gap for a fact.
  • The consequence if nothing is done, such as a missed receiving window or a downstream shipment waiting on this one.
  • Two or three options with the trade-off of each, and the agent's recommended option marked as a recommendation.
  • What the customer has already been told.

That last field prevents the most common failure, which is a dispatcher contradicting a message they never saw. A consistent packet format is the same idea as the one in an AI agent handoff template that preserves the work.

Use a simple decision guide for who acts:

  • The agent handles it alone when the exception type is on the approved list, the facts are confirmed and the message is a status update with no promise attached.
  • The agent drafts and a person approves when the update involves a new arrival time, a changed delivery method or a sensitive customer.
  • The agent escalates immediately when money, safety, regulated goods, customs, damage or a contractual penalty is involved.
  • The agent escalates when sources conflict, when the same exception repeats for the same customer or when it cannot confirm the facts after its permitted checks.

An escalation with no owner is just a louder inbox. Each exception type should name the role that receives it and the time after which the agent raises it again.

What does this look like in practice? An illustrative scenario

This is an illustrative scenario, not a real case.

A regional distributor delivers a pallet to a retail receiving dock that accepts deliveries only in a morning window. Mid-route, a carrier event shows the load held at a hub because of a sorting delay. The agent, triggered by that event, compares the new status with the delivery window and sees that the window will almost certainly be missed.

It does three things. It checks the playbook, which says a missed window at this type of destination is a dispatcher decision. It drafts a short note to the receiving contact saying the delivery is delayed at a hub, that a revised arrival time is being confirmed and that they will hear again by a stated time. And it sends the dispatcher an evidence packet: the hub event and its timestamp, the window, the receiving hours, the next available window and two options, rebook to the next window or arrange a different drop, with the trade-off of each.

The dispatcher chooses to rebook. The agent sends the approved update with the new window, records the decision against the shipment and watches for the next scan. If the hub releases the load earlier than expected, it flags that to the dispatcher instead of changing the plan itself. The customer received two accurate messages. The dispatcher made one decision and did no searching.

How do you build the first exception workflow, step by step?

Keep the first version small. Your first AI workflow should be small enough to prove, and exceptions are a good candidate because the trigger is clear and the success criterion is observable.

  • Step one: choose three to five exception types that happen often and are well understood. Leave out anything involving regulated goods or contractual penalties for now.
  • Step two: write the playbook for each type in plain language: trigger, sources to check, customer message rule, escalation owner and what the agent may never do.
  • Step three: connect the minimum sources with read-only access, and give the agent its own account and a narrow permission set.
  • Step four: define the escalation packet and the message templates, and agree on the follow-up time for each exception type.
  • Step five: build a set of past exceptions with the correct outcome known, and use it to test the agent before it sees live traffic.
  • Step six: run in shadow mode. The agent drafts and escalates privately while people work as usual, and you compare its output with what they did. The method is described in running an AI agent in shadow mode before giving it authority.
  • Step seven: grant authority by exception type. Start with status-only updates, then move to drafts that a person approves, and only later to anything that carries a promise.
  • Step eight: review weekly. Look at missed escalations, edited drafts, customer replies that signal confusion and exceptions the playbook did not cover, then adjust the playbook rather than patching the prompt.

For measurement, favor observable signals over impressions: how long an exception waits before someone sees it, how often a dispatcher has to ask for more information, how many customer messages are corrected after sending. Good logging makes these visible, which is the point of the observability practices described in [OpenTelemetry's observability primer](https://opentelemetry.io/docs/concepts/observability-primer/).

How does Be Human handle this?

Be Human designs, implements and operates this kind of workflow as part of a personalized AI infrastructure for the company. A first engagement defines one useful role, here an exception and update agent, along with the memory and tools it needs, the approval boundaries and a success criterion you can observe. The agent keeps its own identity, channels and permissions, and your team keeps control of what it may send and decide. Managed operations then cover monitoring, recurring evaluations, integration maintenance, permission review, incident response and controlled improvements as your carriers, customers and playbooks change.

Frequently asked questions

Can an AI agent replace dispatchers in handling delivery exceptions? No, and it should not be designed to. The agent takes on monitoring, evidence gathering and first drafts, while dispatchers keep decisions that change routes, cost or promises. The practical result is that dispatchers handle fewer searches and more decisions.

What systems does the agent need to connect to? At minimum, the shipment or transport management records, carrier status events and the channel used to contact customers. Add route plans, receiving hours and your written playbook as context. Start read-only and add write actions only when a specific exception type has earned them.

How do you stop the agent from sending a wrong update to a customer? Limit it to facts traceable to a source event or a dispatcher decision, forbid it from inventing arrival times and require approval for any message that carries a promise. Test against past exceptions and run in shadow mode before it contacts anyone. Keep a record of every message and the evidence behind it so errors can be traced and the playbook corrected.

How long before it is useful? A small workflow with a few exception types can show value in shadow mode before it sends a single message, because the evidence packets are useful on their own. The pace after that depends on how clearly your playbook is written and how clean your carrier data is. Widen authority gradually, based on the record, not on a schedule.

Be Human editorial guidance. Examples are illustrative unless explicitly attributed. Sources provide background; implementation choices depend on your workflow.

Less busywork. More room for you.

Bring us the work you wish you had time for.

Try a personalized AI agent free for 7 days on WhatsApp ↗