Order updates are the highest-volume messaging workflow most e-commerce teams run, and the one where a mistake is most visible. This recipe keeps the customer informed from checkout to doorstep without sending anything twice.
Prerequisites
- An active account with a messaging service.
- A store whose order events reach Furcata — see the Shopify page if you sell on Shopify.
- A public HTTPS endpoint for webhooks, or a Zapier account if you would rather not run one.
Not every order event deserves a message. The Shopify connection delivers four events: checkout created, checkout updated, order fulfilled and order updated. Together they cover the three moments customers expect to hear about.
- Checkout created or updated — a gentle reminder if the customer leaves before paying.
- Order fulfilled — the message people actually open, because it answers 'when?'.
- Order updated — a change to the order, such as a delivery update, worth confirming with the customer.
From order event to delivered message
Identify the customer
Match the order to a contact by phone number. Store the phone number on the order in international format when it is captured, not when the message is sent.
Choose the moment
Decide which of the supported events you will send on. Start with order fulfilled only — it is the one with the highest value and the lowest risk of being wrong.
Write the message
Lead with the outcome, not the process. 'Your order is on its way' beats 'Your order status has changed to dispatched'.
Send idempotently
Key the send on the order id and the event. A retried fulfilment must not produce a second shipping message.
Track delivery
Subscribe to delivery and failure events. A failed send on a shipping notification is worth retrying or escalating.
{
"recipients": ["+15555550100"],
"body": "Hi Alex, your order #4821 is on its way. It should arrive within two working days.",
"type": "sms"
}Idempotency-Key: order-4821-shippedCustomers who opted out still buy
Someone who has opted out of marketing messages may still expect transactional ones — but opt-out in Furcata is a single state, not a category. A contact who has opted out is not messaged. If your process depends on transactional messaging, make that clear at the point of consent.
If you sell on Shopify
The Shopify connection already delivers the events you need — checkout created, checkout updated, order fulfilled and order updated — with the signature verified and unsubscribed contacts skipped. You supply the message, not the plumbing.
See the Shopify page for the connection details.
A Zapier Zap can watch for new contacts or messages and hand the event to another tool, which is often enough for a small catalogue. It is slower than a direct webhook but needs no server.
See the Zapier page for the available triggers.
Order updates scale with order volume, so they are the workflow most likely to move you through a pricing tier. Check your usage reports against your order count regularly rather than at the end of a quarter.
Next recipe
Broadcasts cover the opposite case: one message to a large list, sent once and sent safely.
Broadcasts