Delivery updates with OrelFlow
Explore logistics WhatsApp tracking notifications with OrelFlow: customer journeys, connected records, team handoffs and practical launch steps.
By OrelFlow Editorial

A practical guide to designing logistics WhatsApp tracking notifications around carrier events, consent, duplicate updates, delivery disputes and human hand‑(. With OrelFlow, delivery inquiries can connect the shipment reference, authorized status and an owner for exceptions. This guide explains how to connect that design to your OrelFlow solution and the work your customers need to complete.
Decide which events deserve a customer notification
Start with customer decisions, not carrier event names. A warehouse scan may matter operationally without helping a recipient. By contrast, an attempted delivery may require an address correction, a new delivery instruction or contact with support.
A useful initial notification set is: shipment accepted, meaningful delay, out for delivery, delivery attempt requiring action, and delivered. Treat these as proposed states, not universal carrier definitions. The carrier’s event catalogue, service commitments and dispute process determine the final mapping.
For each state, ask: What has been confirmed? What action can the recipient take? Who owns an incorrect update? A message should not say a parcel is arriving today merely because it entered a regional depot. If the next step is unknown, state the known event and provide a support route rather than inventing an estimate.
Separate service notifications from promotional follow-ups. Check the current account, messaging, permission and billing requirements against Meta’s WhatsApp Cloud API overview and applicable rules before implementation. Do not assume that permission to receive delivery updates covers unrelated marketing.
Design the event-to-message architecture
A robust pattern has six parts: an authoritative event source, an ingestion endpoint or agreed transfer method, an event ledger, a shipment-state reducer, a notification decision layer, and a conversation or support queue. The ledger keeps the original event; the reducer determines the current customer-facing state. The decision layer checks permission, relevance, timing and prior sends before requesting a WhatsApp message.
The shipment record should connect a carrier reference to the merchant order or service request and to the correct recipient. That connection needs access controls: possession of a tracking number alone should not authorize disclosure of an address or delivery evidence. Where carriers disagree, define which system can assert each fact. For example, a carrier may own scan status, while the merchant owns the customer relationship and the agreed contact preference.
Send results belong in the ledger too. A carrier event being valid does not prove a notification was sent, delivered or read. Record message-request outcomes separately from shipment state. If an event cannot be mapped, quarantine it for review rather than silently converting it to a reassuring status.
This architecture is a pattern to assess with the OrelFlow team, not a statement about live integrations. It also helps teams define responsibility before choosing automation: carrier operations resolve scan discrepancies; customer service owns recipient conversations; and an authorized owner approves messaging rules.
Specify inputs, state transitions and output records
Agree a field contract with each event provider before writing message copy. The table below is an illustrative mapping; field names and availability must be verified against the actual systems.
| Input field | Purpose | Required decision or control |
|---|---|---|
| `event_id`, `carrier_id` | Identify the originating update | Use a stable deduplication key; investigate reused IDs |
| `shipment_id`, `order_reference` | Match an event to the right shipment | Hold unmatched events; do not guess the recipient |
| `event_type`, `event_time`, `received_time` | Establish meaning and sequence | Preserve both times and the original event |
| `location_code` | Provide operational context | Translate only approved, necessary location detail |
| `proof_reference` | Locate delivery evidence | Store a protected reference, not evidence in message text |
| `recipient_id`, `permission_status` | Select an eligible contact | Verify identity, channel permission and suppression state |
The decision record should capture `normalized_state`, `state_version`, `decision`, `reason_code`, `template_or_copy_version`, `message_reference`, and a timestamp. For example, a delivered scan could produce `decision: hold_for_review` and `reason_code: conflicting_attempt_open`. An output record like this explains why a message was not sent; it is as important as a successful-send record.
Define allowed transitions explicitly. A shipment might move from accepted to in transit to out for delivery to delivered. An attempt can instead open a needs-action state. A return-to-sender event may start a separate branch. Do not force every carrier event through one linear sequence if the operation supports redelivery, pickup or partial fulfilment.
For order and shipment boundaries, the related guide to WhatsApp commerce order-state automation covers why customer-facing updates need a clear source of truth. Its commerce patterns should be adapted, not copied wholesale, for carrier-controlled events.
Handle duplicates, late scans and conflicting updates
Assume ingestion can replay an event. Deduplicate using a documented key, but retain the replay attempt for diagnostics. If the provider does not guarantee stable IDs, agree a cautious composite key and a review process for collisions. Deduplication must protect both state changes and message sends: suppressing a duplicate record after a second notification has gone out is too late.
Ordering requires more than comparing timestamps. A scan can arrive after a later event because a device was offline; carrier clocks may also differ. Use the event’s meaning, shipment state and source precedence to decide whether it advances, corrects or merely annotates the record. Define a policy for corrections and reversals rather than discarding every older-looking update.
For example, an out-for-delivery scan arriving after a credible delivered event should usually be recorded without triggering a new arrival message. A delivered event followed by a carrier correction should instead open review and, where warranted, a carefully worded customer correction. Keep the earlier message and the reason for correction in the audit trail.
Retry ingestion and messaging separately, with limits and an owner for exhausted retries. The related webhook idempotency guide discusses the duplicate-event problem in a different domain; the same discipline of recording a decision before retrying is useful here. Any specific retry capability must be confirmed for the selected systems.
Respect permission and customer location privacy
Build permission checks into the send decision, not into a spreadsheet maintained after launch. Record the recipient identifier, permission basis and source, relevant scope, last verified status and opt-out state. Confirm current WhatsApp requirements with Meta and the team responsible for legal and privacy review. An operational need to track a parcel does not automatically justify sending every update to every number on an order.
Minimize location detail in customer-facing messages. A depot name or city may be useful; a precise driver position, full delivery address or detailed route can expose people and operations unnecessarily. Prefer a shipment reference and a secure route to further information. Before revealing detailed location or proof, determine how the recipient will be authenticated and who may access the record.
Plan for number changes, shared phones, forwarded conversations and wrong-recipient reports. A recipient who says a shipment is not theirs should have a clear way to stop messages. Suppress further disclosure while the identity and order link are checked. Define retention and access rules for event logs, contact data and delivery evidence with the organization’s privacy owner; do not treat message history as a substitute for an approved evidence repository.
Treat delivery evidence and disputes as a separate workflow
A delivered scan is a carrier assertion, not conclusive proof that the intended person received a parcel. Avoid wording that closes off a dispute, such as claiming the customer personally accepted delivery when the scan only says delivered.
Define an evidence hierarchy with operations before launch: carrier status, proof-of-delivery reference, permitted recipient or location detail, driver investigation, and the merchant’s resolution decision. Not every source will exist for every shipment. Record what is available, when it was obtained and who reviewed it. Protect signatures, photographs and addresses under the organization’s access and retention rules.
A recipient response such as ‘I did not receive this’ should create a disputed-delivery case linked to the shipment and the exact notification. A human owner should be able to see the event chronology, evidence references, prior customer messages and any open investigation. The reply should acknowledge the report, explain the next step and avoid promising a refund or replacement before the responsible team confirms policy.
Illustrative scenario: a late scan after a delivery attempt
Illustrative example, not an OrelFlow deployment: At 10:00, a carrier records out for delivery. At 14:00, the driver records an unsuccessful attempt and requests a delivery instruction. The attempt reaches the event ledger first; the out-for-delivery update arrives at 14:10 after a device reconnects.
The state reducer accepts the attempt as the current actionable state. The notification layer checks recipient permission and whether an attempt message has already been requested. It sends one approved message explaining that a delivery attempt was recorded and directs the recipient to an authorized channel for the next step. The late out-for-delivery scan remains in the ledger but does not generate an optimistic ‘arriving soon’ message.
At 15:00, the recipient says nobody visited. The system creates a dispute case rather than arguing from the scan. An agent checks the carrier reference and permitted evidence, then provides a verified update. If the evidence is inconclusive, the case stays open with a named owner. This approach matters because the operational record and the customer’s account may both be incomplete; automation should preserve that uncertainty.
Plan failure paths and human escalation
Define a response for each failure before switching on sending. An unmatched shipment goes to a reconciliation queue, not an arbitrary contact. A missing permission record suppresses the send pending review. An unrecognized carrier event is logged and classified. A messaging failure is retried only under the agreed policy; an unresolved failure is visible to an owner.
Conversation failures need equal attention. Route wrong-recipient reports, safety concerns, address changes, repeated failed attempts and disputed delivery to trained staff. Specify queue ownership, business hours, priority rules and what happens outside those hours. A bot or template can collect the shipment reference, but should not claim to have changed a carrier instruction unless a confirmed update exists in the authoritative system.
Make escalation context portable. The agent should receive the shipment reference, current verified state, disputed fact, relevant event chronology and message history, subject to access controls. Avoid forcing customers to repeat sensitive details. If the support queue is unavailable, provide an honest alternative and record the unresolved request for follow-up.
Set operational controls and measurement definitions
Assign owners for event mapping, message wording, permission policy, exception handling and evidence access. Version mappings and copy; review changes when a carrier introduces a new code or alters a scan definition. Test with redacted or synthetic records, and audit a sample of suppressed as well as sent notifications. Suppression can indicate either a working safeguard or a broken data link.
Define measures before a pilot. Notification eligibility rate is eligible shipment events divided by all events assessed, with exclusions classified. Duplicate-send rate is shipments receiving more than one notification for the same approved state divided by shipments notified of that state. Event-to-decision time runs from event receipt to a recorded send, hold or escalation decision; report its distribution rather than only an average.
Track dispute handoff time from a recipient’s dispute message to assignment to a human owner, and correction rate as customer-facing updates requiring a subsequent correction divided by updates sent. Segment results by carrier, event type and failure reason. Message delivery status alone is not evidence that a customer understood an update or that a shipment arrived successfully.
Implementation acceptance checklist
Use this checklist as a go/no-go gate, with owners and evidence attached to each item:
- [ ] List the carrier event codes in scope, their meanings, correction behavior and authoritative source.
- [ ] Test matched, unmatched, duplicated, late and contradictory events against documented state transitions.
- [ ] Show that each send has a permission decision and that an opt-out or wrong-recipient report suppresses further disclosure.
- [ ] Demonstrate that replaying an event does not create a second notification for the same approved state.
- [ ] Verify message copy against confirmed facts, approved location granularity and a usable next action.
- [ ] Open a disputed-delivery case from a reply and hand an agent the permitted event and message context.
- [ ] Demonstrate bounded retries, visible exhausted-retry queues and a named operator for each queue.
- [ ] Confirm access and retention rules for contact details, event history and delivery evidence.
- [ ] Define pilot measures, review cadence, rollback authority and criteria for expanding carrier coverage.
A passed technical test is not sufficient if operations cannot investigate a misleading ‘delivered’ message. Include customer-service and carrier-operations staff in acceptance testing, and use the results to revise event rules before widening the rollout.
Evaluate OrelFlow against the proposed design
OrelFlow presents business messaging, conversational AI, CRM workflows and automation templates, alongside logistics-focused pages. Evaluate those areas against the event contract and operating controls above. Ask the team to demonstrate how the proposed setup would receive events, retain decision history, apply permission and suppression rules, route disputes and expose failures to operators. Confirm which parts are available, which require integration work, and who will maintain them.
Request a scoped OrelFlow demo using synthetic duplicate, late-scan and disputed-delivery cases—not only a successful notification. Ask for onboarding steps, integration responsibilities and pricing assumptions in writing. If publishing public tracking explanations alongside the workflow, make them genuinely useful to recipients; Google’s people-first content guidance is a useful editorial reference, not a promise of search traffic.
FAQ
Should every carrier scan trigger a WhatsApp message?
No. Notify on verified states that change the recipient’s understanding or require action. Internal handoffs and repeated scans may belong in the event ledger without appearing in the conversation. Decide this per carrier and service type, and keep a reason code for suppressed sends. That record lets operations distinguish deliberate restraint from a missed notification.
What should happen if a carrier marks a parcel delivered but the customer disagrees?
Open a disputed-delivery case and assign a human owner. Preserve the scan, notification and customer reply; retrieve permitted evidence through the appropriate process. Acknowledge the concern without presenting the scan as conclusive or promising a particular remedy. If the carrier later corrects its status, decide whether the customer needs a correction and record why it was sent.
Can a team launch before every carrier and failure path is integrated?
A limited pilot can be sensible if its boundaries are explicit. Select event types with reliable identifiers and clear ownership, test permission and duplicate handling, and provide a monitored route for exceptions. Do not present unsupported carriers or unavailable states as covered. Expansion should depend on the agreed acceptance tests and operational measures, not simply on the number of messages sent.
Continue your implementation journey
Continue with Travel Booking Workflows: Agentic Briefs and Consultant-Led Availability. Design a travel WhatsApp booking workflow that captures a useful brief, verifies supplier availability and quote terms, and keeps a consultant accountable for Use its implementation checklist alongside this guide when mapping your OrelFlow workflow.
Continue with Financial Customer Service Automation: Clear AI and Staff Boundaries. A practical guide to financial customer service AI automation: what AI can answer, when staff must take over, how to control record access, and what to test. Use its implementation checklist alongside this guide when mapping your OrelFlow workflow.
Continue with Automation Webhooks, Retries and Outages: Build an Operator Runbook. A practical runbook for webhook intake, exponential backoff, idempotency, replay, poison messages, queue monitoring and customer communication during outages. Use its implementation checklist alongside this guide when mapping your OrelFlow workflow.
Build this journey around your business
Start your OrelFlow setup with one specific customer request. Bring the current conversation, the records the team checks and the action that should follow. Define what the assistant can answer, what a connected workflow can change and which decisions stay with your people. Delivery inquiries can connect the shipment reference, authorized status and an owner for exceptions.
Use the steps in this guide as acceptance criteria for your own configuration. Walk through a successful request, missing information, an unavailable connected system and a request that needs a person. Agree how your team will measure completion and review exceptions before expanding to another customer journey.
Explore the relevant OrelFlow workflow, browse ready-to-customize templates, or plan the setup with our team. Template purchases and any separately scoped setup work should match the actual requirements of your business.
Sources and further reading
- https://developers.facebook.com/docs/whatsapp/cloud-api/overview/
- https://developers.google.com/search/docs/fundamentals/creating-helpful-content