Messenger
Messenger utility templates: how to send order and appointment updates after the 24-hour window
When a Messenger conversation goes quiet for 24 hours, a Facebook Page can still send an order update or an appointment reminder, through a utility template Meta approves in advance. What qualifies, why templates get rejected, and the exact steps to create and send them from MonoChat.
MonoChat Team Updated: 8 min read
On this page
A customer asks your Facebook Page about an order on Monday. You answer, they say thanks, and the conversation goes quiet. On Wednesday the parcel leaves the warehouse. On Messenger, that is where the trouble starts: the 24-hour window closed on Tuesday, and a normal message to tell them their parcel is on its way no longer goes through.
Meta’s answer for exactly this case is the utility message: a template your Page creates once, Meta approves in advance, and you can send after the window has closed, as long as it is an order or account update or an appointment or event reminder. Since version 3.8.43, MonoChat creates, syncs and sends these templates from the chat screen, from flows and from bulk messages.
This guide explains what qualifies as a utility message, how Meta reviews the templates and why it rejects them, and the exact steps in MonoChat, with examples you can adapt.
Why the 24-hour window matters on Messenger
Meta calls it the standard messaging window: the time your business has to respond after a person messages your Page. For most actions it lasts 24 hours, and every new message from the customer starts it again. Inside the window you can send any message that follows Meta’s policies.
After the window, Meta’s policy lists only a few ways to reach the person:
| Option | What it is for | Sent by |
|---|---|---|
| Human Agent tag | A person replying manually within a separate 7-day period | An agent, by hand |
| One-time notification | One follow-up the person asked to receive | Your Page, once |
| Utility messages | Order or account updates, appointment or event reminders, from an approved template | Your Page, automated or by hand |
| Marketing messages | Promotions to people who subscribed | Your Page |
| Sponsored Messages | Ads delivered in Messenger | Ads Manager |
For everyday operations (shipping updates, booking reminders, payment confirmations), utility messages are the option that fits. Our guide to the Messenger 24-hour rule and message tags covers the other options in detail.
Messenger is worth getting right: in GWI’s survey of internet users aged 16 and over for Q2 2025, 38.4% had used Messenger in the past 30 days, which DataReportal ranks fifth among social platforms worldwide.
What a utility template is
Meta’s documentation defines a utility message as a message, created from a template, that carries an order or account status update or an appointment or event reminder. The template holds placeholders, such as the customer’s name, an order ID or a tracking number, which are filled in when you send it.
A template has:
- A header (optional): text or an image.
- The message text, with its variables.
- Buttons (optional): a link button that opens a web address, or a reply button that sends a payload back to your Page.
- A variable format: numbered (
{{1}},{{2}}) or named ({{order_id}},{{first_name}}). You choose one per template.
Meta also lets you start from its own template library: ready-made utility templates for common updates such as an order confirmation, which you clone and adjust.
What Meta does not allow
Meta’s rules for utility messages are short and strict:
- No marketing. “Utility messages must not contain marketing materials.” A coupon, a “you may also like” line or a discount in a shipping update turns it into marketing.
- No sensitive identifiers. Do not ask for full card numbers, bank account numbers or national ID numbers. Partial identifiers, such as the last four digits of a card, are allowed.
- No threats. Content that threatens legal action or public shaming, for example in a payment reminder, is not allowed.
How Meta reviews utility templates
Meta reviews a Page’s own utility templates within seconds of creation. In MonoChat each template shows one of three statuses:
| Status | What it means |
|---|---|
| Approved | The template can be sent. |
| Pending | Meta is still reviewing it. |
| Rejected | Meta did not accept it; the Rejection reason column shows why. |
The rejection reasons you will see most often:
| Rejection reason | What went wrong | How to fix it |
|---|---|---|
INCORRECT_PARAMS | A variable is written wrongly ({1} instead of {{1}}), numbered and named variables are mixed, or a variable name is invalid | Use one format and double braces, and keep special characters such as #, $ or % out of variable names |
PARAMS_TO_WORD_RATIO_EXCEED_LIMIT | Too many variables for the length of the text | Add fixed words around the variables, or merge two variables into one |
TAG_SHOULD_BE_MARKETING | The text contains marketing | Remove offers, discounts and product suggestions |
Meta’s documentation adds two rules that cause many INCORRECT_PARAMS rejections: variables must be sequential, and a template must not start or end with a variable. “{{1}}, your order has shipped” is rejected; “Hi {{1}}, your order has shipped.” is not.
Setting up utility templates in MonoChat
Everything below is in MonoChat since version 3.8.43 and needs a connected Messenger channel (your Facebook Page).
1. Open the Page’s templates
- Go to Settings › Chat › Channels.
- Open the ⋮ menu of your Messenger channel and choose Template Messages.
The list shows each template’s name, language, status, rejection reason and update date. Sync fetches the templates and their status from Meta.
2. Start from Meta’s library, or write your own
To start from Meta’s library:
- Click Create.
- Under Meta’s template library, type a name or a word of the text into Name or text and click Search.
- Choose a template in Library template. Its text and buttons fill the form and the preview.
- Change the Template name if you like. For a link button, enter Your website address.
- Click Create template.
To write your own:
- Click Create.
- Enter the Template name, then choose the Language and the Variable format.
- Write the Header (optional) and the Message text. For every variable, enter an example: Meta reviews the template with these examples, so make them realistic (“ORD-48213”, not “test”).
- Add a Link or Reply button if you need one.
- Click Create template. The preview on the right shows the message as the customer will see it.
3. Keep the statuses up to date
Turn on Utility templates in the channel’s Update Channel form, and the list updates itself whenever Meta changes a template’s status. Without it, click Sync after you create a template.
4. Map the variables
Before you send, open the template’s Variables ({}) and choose what fills each one: the customer’s name from their profile, an order number from a profile field, or a fixed value. A template whose variables are mapped can be sent by anyone on the team, or by a flow, without typing the values each time.
5. Send it
- From the chat screen: once more than 24 hours have passed since the customer’s last message, click Send Template Message and pick the template. This is how an agent follows up on a case that took two days to solve.
- From a flow: the Send Template Message node can use a Messenger channel, so a flow can send the update on its own (see below).
- From bulk messages: choose the Messenger channel and send a template message, for example an event reminder to everyone who booked a seat.
Utility templates need Meta’s page_utility_messaging permission for MonoChat. If the template list or a send shows a permission error, contact MonoChat support.
Examples you can adapt
Keep each template to one job, with fixed text around every variable. These pass Meta’s rules as written; change the wording to your brand’s voice.
Order shipped (header: “Your order is on its way”; link button: “Track your parcel”):
Hi {{1}}, good news: order {{2}} left our warehouse today. It should reach you by {{3}}. You can follow it with the button below.
Appointment reminder (reply buttons: “Confirm”, “Reschedule”):
Hi {{1}}, this is a reminder of your appointment at {{2}} on {{3}} at {{4}}. Please confirm or tell us if you need another time.
Payment received:
Thank you, {{1}}. We received your payment of {{2}} for invoice {{3}}. No further action is needed.
Event update (link button: “See the details”):
Hi {{1}}, a change to {{2}}: the doors now open at {{3}}. Your booking stays valid.
What would be rejected: “Your order shipped! Use code AUTUMN10 for 10% off your next order.” The second sentence is marketing, and Meta rejects the template with TAG_SHOULD_BE_MARKETING.
Pair utility templates with a flow
The highest-value setup is a flow that sends the update without anyone touching the inbox:
- When an order ships, an agent (or another flow) adds a tag such as
shippedto the customer. A flow that starts with the Customer Tag Added trigger, listening for that tag, picks it up. - A Send Template Message node sends the approved Messenger utility template, with the tracking link in its button.
- When the customer replies, the 24-hour window opens again, and your AI agent or your team takes the conversation from there in the same inbox as WhatsApp, Instagram and your other channels.
Customers who reply to a utility message open a new standard window, so a well-timed update often turns into a normal conversation: a delivery address change, a reschedule, a question about the product.
Checklist
- Messenger channel connected and Utility templates turned on in Update Channel.
- One template per job: shipped, delivered, appointment reminder, payment received, event change.
- Realistic examples for every variable, one variable format per template, no variable at the start or end.
- No offers, discounts or product suggestions in any utility template.
- Variables mapped under Variables (
{}), so agents and flows can send without typing values. - A flow, started by Customer Tag Added, that sends the order or booking update.
- Promotions kept for marketing messages, never squeezed into a utility template.
Sources
- Meta for Developers: Send a utility message (Messenger Platform) (definition, components, approval within seconds, page_utility_messaging, rejection reasons, content rules; opened November 2, 2026)
- Meta for Developers: Messenger Platform policy overview (standard messaging window, Human Agent tag, options outside the window; opened November 2, 2026)
- DataReportal: Digital 2026 Global Overview Report (GWI Q2 2025: 38.4% used Messenger in the past 30 days; opened November 2, 2026)
- MonoChat help center: Messenger Utility Templates (opened November 2, 2026)
- MonoChat help center: Flows, Customer Tag Added (opened November 2, 2026)
- MonoChat changelog 3.8.43 (Messenger utility templates; opened November 2, 2026)
Put this into practice with MonoChat