WhatsApp templates
Every WhatsApp template of the group and its state at Meta: SchoolOS's templates, the group's own (campaigns and the wordings from “Message templates”), and those made in Meta itself.
Open the page in SchoolOSWhat it is for
WhatsApp sends a message the group's number starts only by a template Meta has approved. Here you see every template: its source, category, state, quality and Meta's note. From here you ask Meta for the states, send again what Meta has not taken, and add a new campaign template.
Who uses it
The page opens for whoever holds “View WhatsApp templates”, to look only, or “Manage WhatsApp templates”, to work in it. In the built-in roles: Owner, Manager. They are granted to any role under Settings → Roles and permissions.
Step by step
- When WhatsApp is connected, and any time after, “Suggested templates to approve” is at the top of the page: SchoolOS's fixed templates (the notice, the general message, the optional message and the sign-in code), each beside its preview as the recipient sees it. None of them goes to Meta until you approve it. Edit the wording around the placeholders in the text box (the greeting, the closing and the sentences around them) if you wish: lines under the text say at once what Meta or the system would refuse. Then press “Save”, then “Approve and send to Meta” for one template or for all. The placeholders are grey blocks in the text named by what they hold, fixed: never deleted or moved, as the unsubscribe link and the sign-in code's text are; Arabic is what goes to Meta, and the English is for reading. Beside every grey button a line says why it is grey.
- Narrow the list by status or source (SchoolOS, the group's own, or Meta), and look at the counters: approved, in review and rejected. The second tab, “Deleted”, holds the deleted templates. The list shows twenty templates a page, the filters and the tab kept from page to page, and the counters count them all.
- Press “Refresh from Meta” so the system asks Meta for each template's state. It sends Meta no template you have not approved.
- Under “Uses” you see the template each use is sent by: the sign-in code, the notices, the general message and the optional message. Press “Change” to choose for it any approved template of the account, the group's own or one made in Meta, then choose what fills each of its variables, then “Save”. The sign-in code's template is chosen by the account's owner alone, as the messaging connection is.
- A template Meta re-categorised from what was asked (from utility to marketing, say) shows Meta's category beside the one asked under its name, and a line of what it can still do: marketing with the unsubscribe link goes in optional campaigns and the optional message only, and without the link nothing goes by it automatically (a reply inside an open chat within 24 hours needs no template). If Meta announced that it will change its category, a warning says so.
- Press “View” on a template's row to read its text, its variables and Meta's note, and “Message samples” to see what a recipient reads in SchoolOS's templates.
- A template that is “Draft”, “Rejected” or “Paused”: read its note, then press “Send again”. A template you no longer need, of the group's own or made in Meta: “Delete”, and it moves to “Deleted”, where “Restore” brings it back; in the confirm, “Also delete it at Meta” stays unticked unless you tick it.
- For a new template: “+ New template”, with what Meta asks: your name for the template, in any language (its name at Meta is made for it), and its language, its category, an optional header (a line of text, or an image, a video or a document whose sample you choose), the text with its formatting, a footer, and up to ten buttons (quick reply, visit website, call phone number, copy code). A variable in the text is a block named by what it holds, never codes in braces: press “+ New variable” and choose what it holds (the recipient's name, the group's name or the sending date, which a campaign fills by itself; or a column of the imported list, or a text typed at sending, which you name) and type an invented example Meta reviews the template by; it is added where the cursor is, and its button adds it again. Under the text the page says, as you type, what Meta asks: an example for every variable, no variable at the start or the end, and never two side by side. Beside them, the template on a phone as it arrives in WhatsApp, the examples tinted (on a phone, under “As it arrives”). Then “Send to Meta”.
How it works
A notice goes by the newest approved version of the group's own wording if there is one, otherwise by SchoolOS's approved template for its kind; with neither, while WhatsApp is linked, the notice is recorded as not sent and does not fall back to SMS. Only an “Approved” template sends; “In review” waits for Meta. “Rejected” is Meta's verdict on the template's words, and only that, and its reason is in “Meta's note”. A submission Meta did not take (it answered the request with an error, or does not know the template) leaves the template a “Draft”, and its note says what Meta answered, by its code; it is never called “Rejected”. “Paused” or “Disabled” was stopped by Meta. “Quality” is Meta's rating of how recipients take the template (high, medium or low), and arrives with “Refresh from Meta”. If Meta answers that the template is no longer there (it was deleted in WhatsApp Manager, or the access token cannot see it), “Send again” creates it anew under the same name and words. If Meta refuses to create the “Authentication” template (the sign-in code) with code 10 while it took templates of other categories on the same account, the business is most likely not verified at Meta; if it refuses every template with code 10, the access token most likely lacks whatsapp_business_management or the WhatsApp Business account is not among the system user's assets. Either way the note points to the “Messaging connection” page. Changing a wording under “Message templates” sends a new version for approval, and the older approved version keeps sending until the new one is approved. The system checks a text before sending it: not empty, not starting or ending with a variable, no two variables side by side, and enough text around the variables (at least three words a variable and one more); its refusal shows in “Meta's note” too. If Meta answers INVALID_FORMAT, one of these three is the likely cause. A new template is written as Meta takes it, and checked before it goes: its name here (the template name) is in any language, required and not repeated among your live templates, and “Rename” changes it here without changing anything at Meta; its name at Meta is made automatically (SchoolOS's prefix, six letters and a number), shown small in its details, never typed, never one the account has nor one Meta deleted in the last 30 days; SchoolOS's own templates are named in words: “Custom message”, “Optional message”, “Service notice” and “Sign-in code”; a new template's variables always go by name, their names at Meta made for them and never typed, each with an example Meta reviews; a text header is up to 60 characters, with no formatting (no *, _ or ~) and at most one variable, and the footer up to 60 with none; up to ten buttons, at most two links (each https:// and a site's name, not localhost nor an address by number), one call button and one copy-code button, the quick replies kept together, and more than three shown as a list. An image, video or document header's sample goes to Meta to review the template by, and is not kept here nor its name logged; Meta is a third party, so do not use a real person's photo or a document with anyone's details as a sample, but a made-up picture or document; once the template is approved, a campaign's draft asks for its file. An “Authentication” template's text is Meta's own; you choose its security line, the code's life and the copy button's text. If Meta refuses the template, its refusal is said in the same window with its code, and what you wrote is kept, to correct and send again under its name; an “Optional message” template gets the stop link at its end. Deleting here is deactivating: the template moves to “Deleted”, campaigns no longer choose it and nothing is sent by it, and it has “Restore”. A template a draft, scheduled or running campaign uses is not deleted, and the reason is said. It is deleted at Meta only when you tick “Also delete it at Meta”, and that is final: Meta deletes this template in its one language, leaving the name's other languages, and takes no new template of that name for 30 days. Restored here, the group's own comes back a “Draft” that “Send again” creates anew at Meta once it takes the name again, and one made in WhatsApp Manager comes back “Disabled”, to be made there again. A template made in WhatsApp Manager is hidden here by deleting it, and “Refresh from Meta” does not bring it back. SchoolOS's templates and the versions of “Message templates” wordings are not deleted here. “Deleted” also holds older names of SchoolOS's templates and earlier versions of “Message templates” wordings that newer ones replaced. “Uses”: SchoolOS's approved template for each use is the default, and a use is sent by the group's choice while it is approved and fits, checked at every send: when it is no longer approved, or was changed at Meta so that it no longer fits the use (a header added, a variable dropped or added, its category changed), the use is back on SchoolOS's, and the card says why. The sign-in code goes by an authentication template only, whose code and copy button Meta fills; every other use by a template that is not one: notices and the general message by a utility template only (they go with no consent asked, and a marketing template is billed and limited as marketing), the optional message by a utility or a marketing one, with no image, video or document header, no more variables than the use fills, and carrying what the use cannot do without: a notice's details, the message text. The optional message's stop link is your choice: its template may carry it or not, and the stop list applies either way: it never reaches a number that stopped optional messages. With no approved template for a use, its card says so: notices are recorded and not sent, and the sign-in code goes by SMS if it is connected. A template a use is sent by is not deleted. Every action is written to the action log by its counts and outcome, never the template's text. Only someone holding “Manage WhatsApp templates” manages them, and only someone holding “Manage the messaging connection” chooses the sign-in code's. The suggested templates never go to Meta by themselves: what you have not approved leaves its uses as they were, and what you edit and save becomes your own wording under a new version name at Meta, the older approved one sending until the new one is approved. A text is checked on the page and on the server by the same rules: every placeholder stays, the unsubscribe link stays in the optional message, no two placeholders side by side, none at the start or end, enough words around them, at most 1024 characters. Every save and approval is written to the action log. Only whoever holds “Manage the messaging connection” approves the sign-in code's template.
On the page
- The status, and the source: SchoolOS, the group's own, or Meta.
- “Refresh from Meta”, and “Message samples”.
- Approved, in review and rejected.
- “Suggested templates to approve”: each template beside its preview. The highlighted wording is editable and the grey is fixed, and the line under the text says what Meta refuses. Then “Save”, then “Approve and send to Meta”.
- “Uses”: the template the sign-in code, the notices, the general and the optional message go by, and “Change” for each.
- Templates, and “Deleted”: what was deleted, where it can be restored.
- Each template's language and parts, source, category, status, quality, Meta's note and last update. “View” opens its text, “Send again” is for what Meta has not taken, and “Delete” is for the group's own and those made in Meta. A template Meta re-categorised says under its name what it can still do.
- “+ New template”: the name, the language and the category, the header, the text with its variables as blocks named by what they hold, the footer and the buttons, with the phone beside them.
Part of these flows
Questions
- Why does none of SchoolOS's templates go to Meta by itself?
- Because they are suggested to you: you review them under “Suggested templates to approve” and approve the ones you want, and only what you approved goes to Meta.
- The “Save” or “Approve” button is grey. Why?
- Under every grey button a line says why: there is no new edit to save, or the text breaks Meta's rules (the red line says which), or the template was approved already, or your edit is not saved yet, or you do not have the permission.
- Why is a notice not sent on WhatsApp?
- It has no approved template: neither the group's wording nor SchoolOS's. The notice is recorded and does not fall back to SMS. Approve the notice template under “Suggested templates to approve” and wait for Meta's approval.
- Which notices go by the “Notices” template?
- Every notice the modules the group holds send a person about their own record; the “Notices” card under “Uses” names them. Each goes by the group's own wording if there is one, otherwise by the template the “Notices” use goes by; with no approved template the notice is recorded and not sent on WhatsApp.
- I changed a wording under “Message templates”. Does the old one stop?
- No. A new version is sent for approval, and the old approved one keeps sending until the new one is approved.
- A template was rejected. What now?
- Read “Meta's note”. If it is a wording from “Message templates”, fix it there; otherwise press “View” to read its text, then “Send again”.
- What is the difference between “Draft” and “Rejected”?
- “Rejected” is Meta's verdict on the template's words, after it took the template in. “Draft” is a template Meta has not taken: it answered the request with an error, or no longer knows it. Its note says why, by Meta's code: read it, then press “Send again”.
- The sign-in code template is a “Draft” with Meta's code 10, and others were accepted. Why?
- Meta takes authentication templates only from a verified business. Verify the business in Meta's Business Settings (Security Centre → Business verification), then press “Send again”. If all your templates are refused with code 10, open “Messaging connection” and check that the access token has whatsapp_business_management and that the WhatsApp Business account is among the system user's assets.
- A template's note says Meta no longer holds it.
- It was deleted in WhatsApp Manager, or the access token cannot see it. Press “Send again”: it is created anew under the same name and words, and gets a new number at Meta.