Templates · Utility
WhatsApp delivery update templates for couriers and last-mile teams
Last-mile utility templates beyond basic order updates: slot booking, failed attempt and reattempt, address confirmation, delivery code, store pickup and installation visits.
By Broadchat teamPublished 5 min read
Before you submit these templates
- Every delivery template should name the shipment: AWB or order number, the sender brand and the date. Without them a reviewer cannot tell it apart from spam.
- If you are a courier writing on behalf of a brand, name both ("your Rangoli Home parcel, shipped with SwiftKart Logistics"), so the customer knows why you have their number.
- Do not ask for an OTP or a delivery code to be typed back in chat. Ask the customer to show or tell the code to the delivery partner at the door.
- Keep cross-selling out of delivery messages. "Rate us and get ₹50 off" changes the category to marketing.
- Use quick replies for anything the customer must choose (slot, reattempt date, address correct or not), so your system can read the answer without a human.
- Tracking links must open your or the courier's own domain, with the AWB number as the button variable.
Delivery updates beyond "your order has shipped"
These WhatsApp delivery update templates cover the last mile, where most delivery problems happen: choosing a slot, failed attempts, unclear addresses, secure handover, parcels stuck at a hub, store pickups and installation visits. They are written for couriers, D2C brands that run their own logistics, hyperlocal delivery teams and appliance sellers. For the standard confirmation, shipped and delivered messages, use the order update templates; this page picks up where those stop.
All of them are utility templates: they report on a shipment the customer is already waiting for and ask them to make a choice about it. That is also why customers answer them.
Which templates save the most failed deliveries
| Problem | Template | What the customer does |
|---|---|---|
| Nobody home | delivery_slot_choice | Picks a slot the evening before |
| Attempt failed | delivery_attempt_failed | Picks a reattempt day or fixes the address |
| Incomplete address | address_confirmation | Confirms or corrects before dispatch |
| Parcel about to go back | return_to_origin_notice | Replies to stop the return |
Each question is answered with a tap. Your system then needs to act on the reply: a reattempt date that nobody reads is worse than no message at all.
Wiring replies back to your system
- Create the templates in CRM → WhatsApp Templates under Utility.
- Send them from your courier or order system through Broadchat's developer API, or by posting the shipment event to a workflow's Custom Webhook in Automations → Workflow.
- In Chatbots, create a flow with a Keyword Match trigger for each button text (Tomorrow, Update address, 9 am to 1 pm). Use Ask Question where you need more detail, such as the corrected address.
- Forward the answer to your system: add an Add Automation App step with the External API Call tool to call your API, or let your system read incoming messages from the channel's Webhooks tab, which forwards incoming messages in Meta's format. See the webhooks integration.
Volume and quality
Logistics senders reach many people once, which makes the messaging limit matter: a new business portfolio starts at 250 unique customers in a rolling 24 hours and moves up as quality stays high and volume grows. Delivery messages that customers expect rarely cause blocks, but a wrong number in your shipment data does. Validate numbers before sending; see quality rating and messaging limits.
Meta charges per delivered utility template. Rates by country are on WhatsApp API pricing, and the WhatsApp message templates guide explains the category rules.
Sources
- Template components — Meta for Developers, checked 12 October 2026
- Messaging limits — Meta for Developers, checked 12 October 2026
- Template categorization guidelines — Meta for Developers, checked 12 October 2026
Broadchat team · Product and partner success team
The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.
Last updated:
11 delivery updates templates
Copy the wording, then submit it from CRM → WhatsApp Templates with the sample values shown. Meta reviews every template; approval is never guaranteed.
Hi {{1}}, your Rangoli Home parcel {{2}} will reach your area on {{3}}. Please choose a delivery slot so someone is home to receive it.
- 9 am to 1 pm
- 1 pm to 5 pm
- 5 pm to 9 pm
Choose a delivery slot
Utilitydelivery_slot_choiceLanguage: en
Use it when: The evening before delivery, for bulky or high-value items where a missed delivery is costly.
Variables Variable Meaning Sample {{1}} Customer first name Priya {{2}} AWB or order number SKL7734120 {{3}} Delivery date Thu, 16 Oct - The chosen slot arrives as a reply; save it with a chatbot step and send it to your routing system.
Hi {{1}}, our delivery partner tried to deliver your parcel {{2}} today but {{3}}. Please choose when we should try again.
- Tomorrow
- Day after tomorrow
- Update address
Delivery attempt failed
Utilitydelivery_attempt_failedLanguage: en
Use it when: Within an hour of a failed attempt, before the parcel is marked for return.
Variables Variable Meaning Sample {{1}} Customer first name Arjun {{2}} AWB number SKL7734188 {{3}} Failure reason nobody was available at the address - Write the reason sample as a full clause so the sentence reads naturally.
Hi {{1}}, before we ship your order {{2}}, please confirm your delivery address: {{3}}. If anything is missing, such as a flat number or landmark, tap Edit address and reply with the correction.
- Address is correct
- Edit address
Confirm or complete the address
Utilityaddress_confirmationLanguage: en
Use it when: When your address check flags an incomplete address, or for every first-time cash on delivery order.
Variables Variable Meaning Sample {{1}} Customer first name Meera {{2}} Order number #48230 {{3}} Address as entered B-704, Greenleaf Residency, Baner, Pune 411045 - Inside the open window after the reply, you can also ask the customer to share their location pin.
Hi {{1}}, your parcel {{2}} is out for delivery today. For security, share the code {{3}} with the delivery partner at handover. Do not share this code before the parcel is in your hands.
Delivery code for secure handover
Utilitydelivery_code_shareLanguage: en
Use it when: On the morning of delivery for high-value parcels such as phones, jewellery or documents.
Variables Variable Meaning Sample {{1}} Customer first name Kabir {{2}} AWB number SKL7734201 {{3}} Handover code 4827 - This is a handover code for the doorstep, not a login code, so it is a utility template, not authentication.
Hi {{1}}, your parcel {{2}} is being held at our {{3}} hub because of {{4}}. We will update you here as soon as it moves. No action is needed from you right now.
Parcel held at hub
Utilityparcel_held_at_hubLanguage: en
Use it when: When a shipment is delayed in transit for more than a day, so the customer does not need to call.
Variables Variable Meaning Sample {{1}} Customer first name Neha {{2}} AWB number SKL7734156 {{3}} Hub city Nagpur {{4}} Reason a regional transport strike Hi {{1}}, your order {{2}} is ready for pickup at {{3}}. Please collect it by {{4}} and show this message or your order number at the counter.
- Store location
Ready for store pickup
Utilityready_for_store_pickupLanguage: en
Use it when: For click-and-collect orders, pharmacy pickups and repair counters.
Variables Variable Meaning Sample {{1}} Customer first name Sanjay {{2}} Order number #48241 {{3}} Store Rangoli Home, MI Road, Jaipur {{4}} Last pickup date Sunday, 19 Oct Hi {{1}}, your {{2}} was delivered. Our technician will visit on {{3}} between {{4}} for installation. Please keep the box unopened until then so the warranty seal stays intact.
- Confirm visit
- Change date
Installation visit after delivery
Utilityinstallation_visit_scheduledLanguage: en
Use it when: For appliances, furniture and electronics that need installation or assembly.
Variables Variable Meaning Sample {{1}} Customer first name Anita {{2}} Product washing machine {{3}} Visit date Sat, 18 Oct {{4}} Time window 10 am and 1 pm Hi {{1}}, {{2}} has picked up your order from Kesar Organics and is on the way. Expected arrival: about {{3}}. Track the rider live using the button below.
- Track rider
Rider assigned (hyperlocal)
Utilityhyperlocal_rider_assignedLanguage: en
Use it when: For same-day grocery, food, pharmacy or flower deliveries.
Variables Variable Meaning Sample {{1}} Customer first name Rohit {{2}} Rider name Suresh {{3}} ETA 25 minutes - Do not share the rider's personal phone number in the template; use a masked number or the tracking page.
Hi {{1}}, after {{2}} unsuccessful delivery attempts, your parcel {{3}} is being returned to the seller. If you still want the order, reply here today and we will try to stop the return.
Parcel returning to sender
Utilityreturn_to_origin_noticeLanguage: en
Use it when: When a shipment is marked for return to origin, as a last chance to save the order.
Variables Variable Meaning Sample {{1}} Customer first name Pooja {{2}} Number of attempts three {{3}} AWB number SKL7734190 नमस्ते {{1}}, आज हमारे डिलीवरी पार्टनर आपका पार्सल {{2}} देने आए थे, लेकिन {{3}}। कृपया बताएँ कि दोबारा कब डिलीवरी करें।
- कल
- परसों
- पता बदलना है
Failed delivery (Hindi)
Utilitydelivery_attempt_failed_hiLanguage: hi
Use it when: For customers in Hindi-speaking regions or those who chose Hindi.
Variables Variable Meaning Sample {{1}} Customer name सुनीता {{2}} AWB number SKL7734188 {{3}} Reason घर पर कोई नहीं मिला Hi {{1}}, aapka parcel {{2}} kal {{3}} tak pahunch jayega. Delivery ke liye apna time slot chuniye taaki koi ghar par ho.
- Subah 9 se 1
- Dopahar 1 se 5
- Shaam 5 se 9
Delivery slot (Hinglish)
Utilitydelivery_slot_hinglishLanguage: en
Use it when: For customers who chat in Roman-script Hindi. Submitted under English (en) because WhatsApp has no Hinglish language code.
Variables Variable Meaning Sample {{1}} Customer first name Rahul {{2}} AWB number SKL7734120 {{3}} Area Malviya Nagar
Frequently asked questions
What is the difference between order updates and delivery updates?
Order updates cover the order's life from the shop's side: confirmed, packed, shipped, delivered, refunded. Delivery updates cover the last mile: slots, failed attempts, address checks, handover codes and pickups. Both are utility templates.
Can a courier send WhatsApp updates on behalf of the brand?
Yes, from the courier's own WhatsApp number, as long as the customer agreed to receive delivery updates on WhatsApp. Name both the brand and the courier in the message so the customer understands who is writing.
Can customers reschedule a delivery by tapping a button?
Yes. Add the options as quick-reply buttons. In Broadchat a chatbot flow can start on each reply and pass the choice to your delivery system through an automation step or a webhook.
Are delivery handover codes authentication templates?
No. Authentication templates are for one-time codes that log a user in or verify an account. A code the customer shows to a delivery partner is a utility message about a shipment.