Template message block
For outbound messages where the 24-hour service window has expired (re-engagement, marketing, transactional notifications). Meta requires templates to be approved in advance through the WhatsApp Manager / Templates API.
Config
- Template — pick from your approved-templates list (
/dashboard/templates) - Body variables — one input per
{{N}}placeholder in the template body - Header parameter — for templates with a non-text header:
- Hosted URL OR Upload (same UX as media blocks)
- Image / Video / Document depending on the template’s header format
- Required — without this, Meta rejects with
#132012 Parameter format does not match
- URL button params — for templates with
{{1}}in URL buttons - Quick-reply buttons — auto-detected from the template; each gets its own socket
for downstream wiring. The reply payload is system-generated as
tpl:[name]:[lang]:[idx]and hidden in a collapsed disclosure by default
Behaviour
- Sends as
template { name, language, components }to Meta - Customer’s QUICK_REPLY tap returns to us as
type: "button"(NOTinteractive) — the runtime handles both shapes - URL buttons open the browser; they don’t advance the flow
Common errors
| Code | Meaning | Fix |
|---|---|---|
| 132000 | Template not found | Check template name + language; ensure it’s approved |
| 132001 | Template paused / disabled | Re-enable in WhatsApp Manager |
| 132007 | Template needs re-approval | Edit + resubmit |
| 132012 | Parameter format mismatch | Header image / body var / URL param missing |
Meta sends template QUICK_REPLY taps as a standalone button inbound shape, not
interactive. The runtime normalises this internally; you don’t need to handle it
in the editor.
Last updated on