Operations

How to automate shipment tracking updates

The short answer

To automate shipment tracking updates, register every tracking number with a carrier API or a tracking aggregator when the label is created, receive status changes by webhook, map them into a small set of milestones, and message customers only when something meaningful happens, especially delays and delivery exceptions. AI drafts clear delay notices and replies to where-is-my-order emails, while the tracking facts always come from the carrier.

What this automation does

Customers hear about problems from you first, and your support team stops spending its day copying tracking numbers into carrier websites.

  1. Register. When a label is created in ShipStation or a fulfillment is created in Shopify, the workflow registers the tracking number and carrier with the tracking source and links it to the order and customer.
  2. Receive events. The carrier or aggregator pushes each scan by webhook. Every event is stored with its carrier timestamp, location and raw status code.
  3. Normalize. Hundreds of carrier-specific codes map to a short list of milestones: label created, picked up, in transit, out for delivery, delivered, delivery attempted, exception and returned to sender.
  4. Detect problems. Rules flag labels with no pickup scan, shipments with no movement for longer than their service level allows, exception codes, and shipments that will miss the promised date.
  5. Notify. Customers get messages at the milestones you choose, plus a plain-language delay notice when something goes wrong. Internal alerts go to the shipping lead, and B2B accounts can alert the account manager.
  6. Answer status questions. When a where-is-my-order email arrives, a model identifies the order from the email address or order number, pulls current status, and drafts the reply in your help desk.

When it is worth building

This earns its keep when where-is-my-order tickets are a large share of support volume, when B2B customers expect a call before a late delivery rather than after, or when you ship with a mix of parcel and freight carriers that no single tool covers.

It is usually not worth a custom build for a straightforward direct-to-consumer brand on one platform. Shopify’s built-in shipping notifications and the carriers’ own emails cover the basics, and post-purchase tracking apps offer branded tracking pages for a monthly fee. Build when tracking has to connect to your help desk, ERP or account management process, when you need custom delay rules per service level, or when freight is in the mix. For broader order problems beyond tracking, pair this with automated Shopify order exception handling.

Architecture

LayerWhat we useWhy
Label sourceShipStation through its REST API using n8n’s HTTP Request node, Shopify fulfillment eventsTracking numbers are captured the moment they exist
Tracking dataCarrier APIs (UPS, FedEx, USPS developer accounts) or an aggregator such as EasyPost, Shippo or AfterShipWebhooks instead of polling, and fewer formats to maintain
Event storePostgresFull scan history per shipment, needed for stuck-shipment rules
RulesCode inside n8nDelay thresholds per carrier and service level are exact logic
Customer messagesTransactional email, Twilio SMS for opted-in customersCustomers choose the channel; SMS is reserved for what matters
Help deskZendesk or GorgiasStatus replies are drafted where agents already work
AI layerClaude Haiku 5.5Short, accurate delay notices and reply drafts from structured facts

Our ShipStation notes cover webhook setup and the API limits to plan around.

How to build it

  1. List carriers and label sources. Note every carrier, service level and place labels get created. Missing one source means silent gaps.
  2. Choose the tracking source. Direct carrier APIs for one or two carriers, an aggregator beyond that. Register a test shipment end to end before building anything else.
  3. Build the milestone map. Map each carrier status code to your milestones. Keep the raw code too, because the mapping will need revisions.
  4. Write the notification policy. Decide which milestones message the customer. Shipped, out for delivery, delivered and any delay is usually enough. More messages mean more opt-outs.
  5. Set delay rules per service level. Ground and overnight need different thresholds. Store them in a table, not in workflow logic.
  6. Add AI for exceptions. Give the model the exception code, the carrier’s own description, the order and the promised date. Constrain it to never promise a new delivery date the carrier has not provided and never offer refunds or reships.
  7. Draft status replies in the help desk. Have the model find the order, pull live status and write a draft. Agents send it in one click. The same pattern is covered in more depth in our support reply drafting guide.
  8. Replay last month. Feed last month’s shipments through the rules and compare alerts with what actually happened before you message any real customer.

What breaks in production

  • Out-of-order and duplicate webhooks. An “in transit” event can arrive after “delivered”. Order events by carrier timestamp and never move a shipment backward to an earlier milestone.
  • Voided labels. A label created and then voided looks like a package that was never picked up. Not every label source sends a void event, so check label status before alerting, or every void becomes a false alert.
  • Vague exception codes. “Exception” can mean a weather delay, a bad address or a damaged package. Keep the carrier’s detail text and treat address problems as urgent.
  • Multi-package orders. One box delivered and one stuck is not “delivered”. Roll up status per order only when every package agrees.
  • Delivered but not received. Porch theft and misdelivery claims need a person and a policy. Do not automate the response beyond acknowledging the report.
  • Over-messaging. Every scan as a text message drives opt-outs and complaints. Watch opt-out rates in the first weeks and cut messages if they rise.

Timeline and cost

A parcel-only setup with one label source and one help desk typically takes two to three weeks. Lumeor builds this in the range of $3,500 to $9,000. The lower end covers registration, milestone mapping, delay alerts and email notices. The upper end adds SMS, help desk reply drafting and freight carriers with uneven API coverage. Ongoing costs are mostly per-shipment tracking fees from the aggregator or carriers, SMS fees and modest model usage.

How to measure success

  • Where-is-my-order tickets per 100 orders shipped
  • Hours from a shipment stalling to someone on your team knowing
  • Share of delayed orders where the customer heard from you before contacting you
  • Agent handle time on tracking tickets
  • SMS and email opt-out rates after launch
  • Open delivery exceptions older than three business days

Frequently asked questions

Do I need a tracking aggregator or can I use carrier APIs directly?

If you ship with one or two carriers, direct carrier APIs work, but each needs its own developer account, authentication and status code mapping. Once you use three or more carriers, an aggregator such as EasyPost, Shippo or AfterShip usually saves time because it gives you one webhook format and one set of statuses. Check current pricing, which is typically per tracked shipment.

Can AI predict delivery delays?

Not reliably on its own. What works is rule-based detection on carrier data, such as no scan within a day or two of label creation, no movement for longer than the service level allows, or an exception code. The model's job is to explain the delay clearly, not to guess at future events.

Can we send tracking updates by text message?

Yes, through Twilio or a similar provider, but only to customers who opted in to texts. In the US, business texting from standard ten-digit numbers also requires A2P 10DLC registration, which can take time to approve. Plan for it before launch.

Does this work for LTL freight, not just parcels?

Partly. Many LTL carriers offer tracking by PRO number through an API, but coverage is uneven, and some smaller carriers only offer a web portal or email updates. We connect the carriers that have APIs and handle the rest with scheduled checks or inbound email parsing.

Will it reply to customer emails automatically?

We recommend starting with drafts. The model reads the email, finds the order, pulls live tracking and drafts a reply in Zendesk or Gorgias for an agent to send. Once drafts are consistently right, simple status questions can be sent automatically while anything involving refunds or lost packages stays with a person.

Next steps