The WhatsApp channel in GetMyBot: connecting via the Cloud API, configuring the webhook in Meta, the 24-hour window, message templates, and using them in reactions.
Sur cette page
GetMyBot connects WhatsApp via the WhatsApp Cloud API (Meta Graph API). Once connected, the bot receives incoming WhatsApp messages and applies your reactions to them, and operators can hold conversations in dialogs. For a general overview of multichannel support, see the Channels page.
Connecting a WhatsApp channel
Connecting requires five credentials from your Meta app (WhatsApp Cloud API). All of them are required:
- Phone number ID: the identifier of the WhatsApp Business number.
- WABA ID: the WhatsApp Business Account identifier.
- Access token: the Meta app access token.
- Verify token: an arbitrary string you invent yourself. It is used when verifying the webhook in Meta (see below).
- App secret: the Meta app secret. It is needed to validate the HMAC signature of incoming webhooks (the
X-Hub-Signature-256header).
Steps in the UI:
- Open Projects, find the project, choose Add channel, then select WhatsApp.
- Fill in the five fields above and, optionally, a channel name.
- Choose Validate: GetMyBot checks the credentials through Meta.
- Choose Connect.
Configuring the webhook in Meta
After connecting, the channel gets a Callback URL in the form {address}/ch/{channelID} (the webhook 🔗 icon in the UI). Together with your Verify token it must be entered in the Meta app: WhatsApp → Configuration → Webhook.
How it works:
- Meta sends a verify request to the Callback URL and checks the
verify_tokenit passes against your Verify token. On a match, the webhook is considered confirmed. - Meta then sends events to this address (incoming messages, delivery statuses, template moderation verdicts).
- Every incoming request is signed with the
X-Hub-Signature-256header; GetMyBot validates the signature using the App secret: which is why that credential is required at connection time.
The 24-hour session window
WhatsApp limits proactive messaging: free-form messages can be sent to a user only within 24 hours of their last incoming message. Each new incoming message from the user resets the window.
Outside the 24-hour window you cannot send a free-form message: the only way to reach the user again (re-engage) is an approved message template. That is why templates are the key tool for broadcasts and reminders on WhatsApp.
Message templates
A message template is a message pre-approved with Meta that can be sent outside the session window. Templates are managed inside the GetMyBot UI.
Where to manage templates
On Projects, choose Message templates (the 📄 icon) on the WhatsApp channel to open the "WhatsApp channel templates" dialog. The dialog has buttons:
- "Create template": build a new template.
- "Sync": pull the template catalog from Meta (refresh statuses and the list).
Template categories
- MARKETING (Marketing): promotions, announcements, broadcasts.
- UTILITY (Utility): notifications about user actions (order statuses, reminders).
- AUTHENTICATION (Authentication): verification codes.
Template fields
- Name: lowercase Latin letters, digits, and
_, up to 512 characters. - Language: a Meta locale.
- Category: one of the three above.
For the Marketing and Utility categories, also:
- Header: none / text / image / video / document. For a media header, a sample file is uploaded.
- Body: required, up to 1024 characters. Variables are denoted
{{1}},{{2}}, … strictly in order from 1 to N, with no gaps. - Footer: up to 60 characters.
- Buttons: up to 10: quick reply, URL (up to 2), phone (1), copy code (1).
- Every
{{n}}variable needs an example value: this is a Meta requirement for moderation.
For the Authentication category, the body is fixed by Meta itself; you configure: the code lifetime (1-90 minutes), the security recommendation, and the copy-code button text.
Moderation
The "Create" button submits the template to Meta for review right away: there is no separate "submit for review" step. The verdict arrives asynchronously (via the webhook), and the template list refreshes automatically. Statuses:
- PENDING (In review)
- APPROVED (Approved)
- REJECTED (Rejected): with a reason
- as well as PAUSED, DISABLED, IN_APPEAL, PENDING_DELETION.
Templates in the APPROVED, REJECTED, PAUSED statuses can be edited. Name and language cannot be changed; for approved templates the category is locked too.
Using a template in a reaction
Sending a template is a reaction action:
- In the reaction builder open "Actions" → "Add action" → "Send WhatsApp template".
- The action is available only if the bot has a WhatsApp channel connected that supports templates.
- Only an approved (APPROVED) template can be selected.
- Fill in the parameters: the values of the
{{n}}variables in the body, the text header, the media header by URL, the URL-button parameters. Variable substitutions can be used in the parameters.
The actual sending channel is determined by the event's channel: if the event came from WhatsApp, the template goes out on WhatsApp.
Dialogs and attachments
An operator can reply in a WhatsApp dialog and send attachments: image, video, or document: subject to the 24-hour window (outside the window free-form messaging is unavailable). Incoming media from subscribers is pulled in through a proxy and shown in the dialog.
Billing
GetMyBot keeps track of WhatsApp conversations by category: marketing / utility / authentication / service. In the current version this is record-only (for observability): no balance is charged for conversations.
What's next
- Channels: multichannel support and the capability matrix.
- Reactions: the basics: how to build the bot's behavior.
- Broadcasts: mass sending (on WhatsApp: via approved templates).