WhatsApp Template Message Builder for the Cloud API
A WhatsApp Business message that starts a conversation outside the 24 hour customer service window must use a pre-approved template. This builder produces the two JSON payloads you need: one to submit the template for review and one to send it once approved.
Fill in
Used in the creation URL, found in Meta Business settings.
Used in the send URL. This is not the phone number itself.
Lowercase letters, digits and underscores only.
Use {{1}}, {{2}} style variables. They must be numbered in order with no gaps.
1. Create the template (POST https://graph.facebook.com/v21.0/123456789012345/message_templates)
{
"name": "po_shipment_update",
"language": "en_US",
"category": "UTILITY",
"components": [
{ "type": "HEADER", "format": "TEXT", "text": "Shipment update" },
{
"type": "BODY",
"text": "Hello {{1}}, purchase order {{2}} has shipped and is due on {{3}}. Reply below if the date does not work for you.",
"example": { "body_text": [["Priya", "PO-48213", "12 Nov 2026"]] }
},
{ "type": "FOOTER", "text": "Acme Precision Ltd purchasing" },
{ "type": "BUTTONS", "buttons": [ { "type": "QUICK_REPLY", "text": "Request new date" } ] }
]
}2. Send the approved template (POST https://graph.facebook.com/v21.0/109876543210987/messages)
{
"messaging_product": "whatsapp",
"to": "919812345678",
"type": "template",
"template": {
"name": "po_shipment_update",
"language": { "code": "en_US" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "Priya" },
{ "type": "text", "text": "PO-48213" },
{ "type": "text", "text": "12 Nov 2026" }
]
}
]
}
}Check the current Graph API version and the latest template rules in Meta's WhatsApp Business documentation before going live. Header and button components are optional, delete them from the output if you do not use them. Send the access token in an Authorization: Bearer header, never inside the JSON.
Wire WhatsApp templates to your ERP events
Optional: we can review your notification list and show which ERP events are safe to automate over WhatsApp.
Optional. The tool and every export work without this. No spam.
How to use the builder
Fill in your template name, category, language and body text with numbered variables. Add one realistic example value per variable, because Meta reviewers use the examples to judge what the message will look like. Copy block 1 into a POST to your WhatsApp Business Account's message_templates edge and wait for approval, which is often quick for utility templates but can take longer for marketing. After approval, copy block 2 into your integration code and replace the example values with live data from your ERP, such as the purchase order number and due date.
Choosing the right category
Category drives both approval and price. Utility templates confirm or update something the customer already asked for or is part of, such as an order, a delivery or an appointment. Marketing templates promote or invite. Authentication templates carry one-time codes. Meta can reclassify a template whose content looks promotional, so keep utility templates transactional and free of upsell wording.
- Order and shipment updates: utility
- Payment due reminders on an existing invoice: utility
- New product announcements and offers: marketing
- Login and verification codes: authentication
Common mistakes
The most frequent rejection reasons are variables at the very start or end of the body, variables placed next to each other with no words between them, missing or unrealistic examples, and vague content like "Your update is here {{1}}". Keep a sensible ratio of fixed text to variables, avoid line breaks and tabs inside a variable value, and never put sensitive data such as full bank account numbers in a template. Template names cannot be reused with a different language by mistake, so keep a naming convention.
Frequently Asked Questions
Do I need a template for every WhatsApp message?
No. Inside the 24 hour customer service window opened by a customer message you can send free-form replies. A template is required to start a conversation or to message after that window has closed.
How long does template approval take?
It varies. Many utility templates are reviewed within minutes to hours, while rejected or flagged ones need edits and resubmission. Plan for a day in your project schedule and have backup wording ready.
Can one template carry a PDF or image?
Yes, a template can have a header of type image, video or document. This builder generates a text header only, so add a media header component if you need to attach an invoice or delivery note.
Which Graph API version should I use?
Use a version Meta currently supports. The v21.0 shown is an example, so replace it with the version your app is configured for and check Meta's changelog for deprecations.
If you want order, shipment or quality events from your ERP to trigger approved WhatsApp templates automatically, Netray can build that integration with human approval on any write-back.
Related Tools
WhatsApp Business API Cost Calculator
Model monthly WhatsApp cost by marketing, utility and authentication volume with your own rates, free window share and provider fees.
Compliance & ContractsWhatsApp Opt-In Policy Template
A fill-in internal policy for how your company collects consent, sends WhatsApp messages, handles opt-outs and keeps records.
ERP OperationsERP Notification Matrix Worksheet
Map every ERP event to an audience, channel, priority and template, and see monthly volume per channel before you build.
Compliance & ContractsMessaging Integration Security Checklist
A 30 point checklist covering tokens, webhook verification, approver identity, data minimization, logging and incident handling for chat integrations.
Developer ToolsWhatsApp Webhook Incident Runbook Template
A fill-in runbook for when WhatsApp messages stop arriving, signatures fail or delivery receipts go missing. Export to PDF or Word.
More Developer Tools tools
See all- SAP Sales Order ABAP SELECT Generator (VBAK, VBAP, VBFA)
- SAP Sales Order Create BAPI ABAP Generator (BAPI_SALESORDER_CREATEFROMDAT2)
- SAP ABAP Open Items SELECT Generator
- SAP ACDOCA SQL Query Generator
- SAP QM Inspection Lot ABAP SELECT Generator
- SAP Quality Notification Pareto SQL Query Generator
- SAP QM Usage Decision BAPI Skeleton
- ABAP Custom Exception Class Generator
- ABAP Unit Test Class Generator