Prerequisites
- WhatsAble account on Bulk Message, Pro, or Agency. Template management is on all three. Sign in at dashboard.whatsable.app/signin.
- Super-admin role on that account. Only super-admins can create templates. A normal admin does not have that access. If create is missing, this is the usual cause. The rest of the role matrix is not documented here.
- WhatsApp Business number connected through WhatsAble (Embedded Signup / Coexistence — keep the WhatsApp Business app; do not uninstall it after connect). Submit uses that number’s WhatsApp credentials.
- Meta Business Portfolio (business.facebook.com), not a personal Facebook profile. Embedded Signup may ask for a website; an Instagram profile link or Facebook page link is enough if you have no site.
- Meta payment method before you send template messages. Meta charges per template message. A missing card is a send failure, not proof the template was rejected.
- You do not need Make, Zapier, n8n, or the API to create a template in the console.
How-to video (EN): How to create a WhatsApp message template. Templates and broadcasts are different topics — do not swap the videos. ES / PT / FR versions exist on the same topic.
Operator path — create and submit
Exact button and sidebar strings can vary. The destination below is locked; other chrome is UNVERIFIED unless noted. Do not treat a Save draft control, a separate typed display name, or an Ireland (+353) test-send as documented product until those are live.1. Open templates
In the WhatsAble console, open Settings → Templates. That is where you check status. Only Meta-approved templates appear in send dropdowns (broadcasts, chat, monday.com Send Template, and similar).2. Start a new template (super-admin)
A normal admin cannot create. There is no documented “edit and resubmit.” If you need different text, you create another template (you can delete the old one).3. Fill the fields and submit to Meta
WhatsAble sends the template to Meta for review. It is stored for the workspace only if Meta accepts the submission. A duplicate name already on the workspace is rejected (you cannot create a second template with the same name).4. Read status
After submit, status is pending until Meta finishes review. Open Settings → Templates again to refresh pending items against Meta (the console list updates pending templates when it loads). You do not approve the template yourself.- Approved — ready for broadcasts, inbox/API sends, and integration dropdowns.
- Rejected — Meta declined it. Create a new template. You cannot edit the rejected one and resubmit it. Where a rejection reason appears in the console is UNVERIFIED; if the console does not show one, check Meta Business Manager.
5. Use it only when approved
Pending templates do not send reliably. A test or template send that returns WhatsApp error (100), “Unsupported post request… object with ID ‘messages’…”, is often this template still pending, not a disconnected number. If status is already approved and the error remains, then check that the number is still connected. Copying an old template’s text: open preview on the old template, then paste into the new one. That is the supported shortcut when you change numbers or recreate. There is no transfer of approved templates onto a different WhatsApp number.Field inventory
Treat the names below as the create payload and the rules the console enforces. On-screen labels may differ — marked UNVERIFIED where we have not locked the chrome string.Template name
One name per template, unique in the workspace.- Lowercase letters, digits, and underscores. The console forces lowercase.
- Must start with a letter, not a digit.
- No spaces (use underscores).
- Maximum 512 characters.
- Examples that pass:
order_confirmation,invoice_en. Examples that fail:OrderConfirmation,2fa_code,promo banner.
Category
One of:
Meta prices template conversations by category. WhatsAble does not add a markup on Meta fees. Pick the category that matches the content. A mismatch is a common rejection reason; this page does not invent Meta’s policy text.
Authentication does not use a free-form body you write. The create payload builds a verification-code message, with an optional security line (“do not share this code”) and a code expiry in minutes (payload default 10). An OTP button label exists on that payload (default copy is “Copy Code”). Exact console controls for those options are UNVERIFIED. Do not document importing an authentication template that was created in Meta’s own manager — that send path is not live in these docs yet.
Language
Each template has one language code (examples:en, es, fr). Another language is another template (its own name, its own Meta review). There is no documented switch that adds a language onto an existing approved template.
Body and variables
For Marketing and Utility, you write the body. Personalization uses numbered placeholders, in order, starting at{{1}}:
Hello {{1}}, your order #{{2}} is confirmed.
Every placeholder needs an example value for Meta’s review (realistic dummy data, not empty). Those examples are for the reviewer. Real values are supplied later, per recipient, when you send or broadcast (body1, body2, … on the send API and on broadcast CSVs).
Do not document named placeholders such as {{company}} or {{name}} for this console. That syntax appears on an older mid-layer templates article and is not the WhatsAble create payload.
Header text variables and a free-text footer on Marketing/Utility templates are UNVERIFIED as console fields. Do not invent them here. The authentication security line above is the footer this create payload actually sets.
Header media type
The console uploads the file and stores a media handle on the template. At send time, a public media URL can still be passed per message when the template expects media — that is the template message API and the broadcast CSV
media column, not a second create step. Broader file types and size caps on that send page are send rules, not extra create formats.
Buttons (optional)
The create payload accepts these kinds. Console wording is UNVERIFIED; limits are from the console create path:
Total buttons on one template: 10. A dynamic website URL is a fixed base plus a per-recipient suffix (broadcast column
button_dynamic_url_value, or the send API’s dynamic website flag).
Status values you will see
Pending, approved, or rejected. Casing in API payloads varies (PENDING vs approved); do not treat letter case as a customer-facing label. Only approved templates are offered when sending.
Limits and what this is not
- Meta review time is not a guarantee. Meta usually approves within a few minutes and can take up to about 24 hours. Do not promise a minute, and do not promise 24–48 hours. If it is still pending, wait and recheck Settings → Templates rather than creating duplicates (duplicate names are blocked anyway).
- No in-console edit. Rejected or outdated copy means a new template. Use preview on the old one to copy the text.
- New number: recreate and resubmit every template. Old approvals do not apply.
- Sends need an approved template when you are outside the 24-hour window, or when you are opening the conversation. Inside 24 hours of the contact’s last message, free-form (non-template) messages are allowed. Business-initiated template conversations also follow Meta’s portfolio tiers (unverified about 250/day, then higher tiers after verification). Those caps are Meta’s, not a WhatsAble messages-per-minute number. This page does not invent a WhatsAble RPM.
- No native drip builder and no typing-indicator dots. Sequences of templates over days run in Make, Zapier, or n8n.
- Template management is not a plan upsell. Bulk Message, Pro, and Agency all include it. Broadcasting those templates is a different page. Scheduled broadcasts are Pro and Agency only.
- ProactiveBot (Pro and Agency) can generate a follow-up template when none fits. That does not replace this create flow, and it is not documented as a way around the super-admin rule.
- Do not use the older Notifier “advanced templates” article as the how-to for this console.
- Full permission matrix, exact Settings sidebar, and character caps beyond the 512-character name are not locked. Follow Meta’s template policies for content. WhatsAble does not publish a separate body character cap on this page.
Related
Broadcasts (CSV)
Send an approved template to a list. Not the create flow.
API: get templates
List templates and status for the connected number.
API: send a template
One recipient, with body variables, after approval.
API: non-template message
Free-form send inside the 24-hour window only.
Plans
Bulk Message, Pro, and Agency. Template management is on all three.
monday.com
Send Template lists approved templates only.
Connect WhatsApp (Coexistence)
Connect the number before you submit templates.
Pricing
Plan price and unique contacts. Meta fees are separate, at 0% markup.
FAQ
Who can create a template in WhatsAble?
Only a super-admin. A normal admin cannot. Template management itself is on Bulk Message, Pro, and Agency; the block is the role, not the plan.Where do I create and check templates?
Settings → Templates in the WhatsAble console. Send dropdowns list approved templates only.How long does Meta approval take?
Usually a few minutes, sometimes up to about 24 hours. That is the usual range, not an SLA. Recheck Settings → Templates. Do not keep submitting the same name while you wait.Can I edit a template after I submit it?
No. Create a new template and submit that. You can delete the old one. Open preview on the old template to copy its text. The same rule applies when Meta rejects one.Why did my template disappear from the send list?
It is not approved yet, or you are looking at a different WhatsApp number. Approvals belong to the number they were submitted on. Changing numbers means recreating every template.What variables can I put in the body?
Numbered placeholders{{1}}, {{2}}, … in order, each with an example for review. At send time those map to body1, body2, and so on. Do not use {{name}}-style names for this console.