AI automation for UAE logistics

AI automation for logistics in the UAE means a shipment status answered without anyone opening a tracking page, a proof of delivery filed against the right job on the day it happens, and a customs declaration prepared before the desk asks for it. The hardest part is none of those. It is noticing when a shipment has quietly stopped moving.

The failure you are automating is silence, not an error

A stalled shipment does not throw an exception. Nothing happens. No webhook fires, no status changes, no message arrives. The system is not broken and has nothing to report, which is exactly why the problem survives so long inside rule-based tools: a rule reacts to events, and there is no event.

Detecting an absence is a different build. It needs a clock, an expectation of what should have happened by when, and a separate threshold for every lane, because a road shipment to Abu Dhabi and an air consignment out of Jebel Ali do not go quiet for the same reasons or for the same length of time. That single requirement is why logistics automation tends to outgrow the off-the-shelf tools faster than most other operations work.

What DHL, FedEx and Aramex actually give you, and why they disagree

All three operate in the UAE and all three publish an interface. They are named because each publishes documentation anyone can read, which is the fastest way to see the problem. Nothing below is a partnership, an endorsement, or a claim that we have integrated with any of them.

DHL. The MyDHL API is REST and JSON, with test and production environments and Basic authentication. It exposes rating for account-based rates and available products, shipment creation including labels, pickups and electronic proof of delivery, tracking, pickup booking, address validation, and a landed cost operation that estimates duties and taxes. DHL separately publishes a Shipment Tracking Unified API with a push variant that sends status changes to you instead of making you poll. (Verified July 2026, developer.dhl.com.)

FedEx. The Track API on the FedEx developer portal, which serves a United Arab Emirates locale, is a JSON API. It tracks by tracking number, up to 30 in a request, and also by reference, where a reference can be a purchase order number, a customer reference, an invoice, a bill of lading or a part number. A separate Track Document operation retrieves signature proof of delivery, bill of lading and freight billing documents. Its notification feature is described as sending shipment status to you by email, on ON_DELIVERY, ON_ESTIMATED_DELIVERY, ON_EXCEPTION and ON_TENDER. (Verified July 2026, developer.fedex.com.)

Aramex. The tracking service of the Aramex Shipping API v2 is SOAP over HTTP, described by a WSDL published at ws.aramex.net, and it defines three operations: TrackShipments, TrackPickup, and HasShipmentBeenDelivered. (Verified July 2026, ws.aramex.net.)

Carrier Interface How status reaches you
DHL REST and JSON, Basic authentication Poll the tracking API, or take the push variant of the Shipment Tracking Unified API
FedEx JSON, with a UAE locale on the developer portal Poll by tracking number or by reference; notifications are documented as email on four event types
Aramex SOAP, described by a WSDL Call TrackShipments or HasShipmentBeenDelivered
Regional last-mile and COD couriers Often a portal login, a daily spreadsheet, or a manifest by email Somebody downloads it

Read the table as one build and the second carrier stops being an abstraction. It is the moment a shipment leaves DHL's push feed and lands on a SOAP call that answers a yes-or-no question, or on an emailed spreadsheet with no schema at all. Three transports and three ideas of what a status event is. Status vocabularies do not line up either, so "in transit" from one and "in transit" from another are not the same fact, and neither is comparable to a milestone from an operator whose integration surface is a person attaching a file.

Normalising all of it into one internal status set is most of the work, and it is what determines whether every downstream automation can be trusted. Where a carrier offers push, take it. Where it does not, the agent polls on a schedule you can defend. Both paths have to end in the same normalised record, and a build that skips that step has two systems and one dashboard lying about them.

How much of a customs declaration can software actually do?

Dubai Customs runs Mirsal 2, its electronic customs declaration system, and launched a Mirsal 2 B2G service for eligible high volume business partners, described as "the integrated system enabling them to submit declarations online from client's system to Mirsal 2", implemented as a web service that the partner's system calls when declaring. (Verified July 2026, dubaicustoms.gov.ae.) Dubai Customs also publishes Al Munasiq, a classification tool for finding the Harmonized System code for goods, which returns commodity descriptions, applicable duty rates and any restrictions or prohibitions. (Verified July 2026, dubaicustoms.gov.ae.)

Read those two facts together and the design writes itself. Declaration submission is a machine to machine path, so preparing and validating a declaration before it goes anywhere is genuinely automatable. Classification is a judgment with a duty consequence and a compliance consequence, so it is precisely where a human belongs. An agent should assemble the commercial invoice, packing list and origin documentation, propose an HS code with its reasoning and the duty that follows from it, and let a licensed broker approve. Software that classifies goods on its own and files the result is not saving you time, it is moving your risk.

Illustrative scenarios

These are illustrative, not client accounts. Telora Labs was founded in 2025 and does not publish client names. Each is written as what an agent would do for an operator running this workflow.

Status enquiries

"Customers email asking where their shipment is and we go and look it up, one by one."

A freight forwarder handling several carriers would have the agent resolve the reference in the enquiry, whether it is a booking number, an air waybill or an internal job number, pull the current normalised status, and reply with what has happened and what is expected next. When the last recorded event is older than that lane's threshold, it does not reassure anyone. It says the shipment has not moved since a given date and passes the enquiry to operations with the history attached.

Operations get the stalled shipment on the morning it crosses its threshold, with the full event history already attached.

Proof of delivery

"We invoice, the customer disputes, and finding the POD takes two days."

An operator would have the agent retrieve electronic proof of delivery where the carrier exposes it, take the driver's capture where it does not, attach it to the job and to the invoice line it supports, and check the receiving name against the consignee on the booking. A POD with no signature, or one signed by a name that does not appear anywhere on the booking, gets flagged the same day, while the driver can still be asked about it.

By the time finance raises the invoice, the document that defends it is already attached to the line.

Rate comparison

"Quoting means three portals and a spreadsheet, so the sales team quotes from memory."

The agent requests rates across the carriers that publish them, applies your own rules on lane, weight break and service level, and returns a comparison with the landed cost estimate attached, so the customer sees the duty figure while the quote is still a quote. Booking above a value you set waits for approval. The agent produces the recommendation and the arithmetic behind it; a person on your side commits the booking.

Every quote carries the rates it was built from, so the salesperson who sent it can defend it a month later.

Where these builds go wrong

The threshold is set globally

One "no movement in 48 hours" rule across every lane produces either constant false alarms or silence exactly where it matters. Thresholds belong per lane and per service level, and they need to be editable by operations without a deployment.

Carrier statuses drift

Carriers add and rename status codes. A normalisation map is a living thing, so unmapped statuses must raise an alert naming the carrier and the code rather than falling into a default bucket, which is how a stalled shipment ends up displayed as in transit.

The reference in the enquiry is ambiguous

Customers quote whichever number they were given, and some of those are not unique across carriers. When a reference resolves to more than one shipment the agent asks rather than picks, because picking wrong here means telling a customer about someone else's cargo.

Classification gets automated

The strongest recommendation on this page is a limit we write into our own builds. HS classification stays with a person who is accountable for it. The agent's job is to make that person's decision fast and well evidenced, not to make it for them.

What this costs in the UAE

An AI agent build is AED 10,000 to 50,000, fixed price, agreed before work starts.

Single-workflow agent: AED 10,000 to 20,000, 2 to 3 weeks

One trigger, one or two systems, a human escalation path. Status enquiries answered from a single carrier's tracking sits here.

Multi-system agent: AED 20,000 to 35,000, 3 to 5 weeks

Three or more systems, branching logic, error handling. Normalised tracking across several carriers with stall detection, or proof of delivery capture filed against jobs and invoices, sits here.

Complex agent: AED 35,000 to 50,000, 5 to 8 weeks

Custom logic, compliance constraints, a self-hosted model, or a heavy integration surface. Anything touching customs documentation belongs in this band, because the review path and the audit trail get built, tested and priced with everything else.

Ongoing changes and monitoring run on a monthly retainer. How we work sets out scoping, fixed pricing and delivery.

Tell us how you find out a shipment has stalled today

If the answer is that the customer tells you, that is the workflow to start with. Send us the carriers involved and we will tell you which band it falls into.