Overview
WhatsApp Cloud feature. Call permission is a Meta requirement on the WhatsApp Cloud (official API) channel. WhatsApp Web has no such step β there the call goes out directly.
Before you can call a contact over WhatsApp Cloud, Meta requires the contact to allow receiving calls. When the agent clicks the call button and the contact hasn't allowed it yet, the platform opens the Request call permission dialog, where the agent edits the text the contact will receive, with a live preview of the WhatsApp permission card and a 1,024-character limit (Meta's limit).
The message sent is mirrored into the conversation as a real outgoing message β the agent sees exactly what was sent and its delivery status, just like any other message.
The contact's answer is fully recorded: accept (temporary, with an expiry date, or permanent) and also decline. In both cases the platform posts a line in the conversation and notifies the agent in real time.
Prerequisites
- A connected WhatsApp Cloud inbox.
- Calls enabled on the inbox (Settings β Inboxes β (inbox) β Calling).
- The contact with a valid WhatsApp number in the conversation.
- The account language set in Settings β Account β Language β it defines the default text the contact reads.
Step by step
- Open the contact's conversation and click the call button.
- If the contact already granted permanent permission, no request is sent β the call goes out directly.
- Otherwise the Request call permission dialog opens with a message already filled in.
- Edit the message explaining why you want to call. The counter shows usage of the 1,024-character limit, and Preview shows the card as the contact will see it ("Can {your business} call you?").
- Click Send request. The message appears in the conversation as an outgoing message, with delivery status.
- Wait for the answer. When the contact replies, you get a notification and the conversation records the outcome.
- If they accept: the status changes to allowed and you can use Call now.
- If they decline: the conversation records the decline and you are free to send a new request immediately, without waiting the 5 minutes.
Settings & options
- Default text follows the account language: the suggested text follows the account language (Settings β Account β Language), not the agent's dashboard language. That way an agent running an English dashboard doesn't send an English request to a Brazilian customer.
- Per-inbox default: in Settings β Inboxes β (inbox) β Calling, the Call permission request message field sets that inbox's default text. When filled, it wins over the language default. Leave it blank to use the default.
- Edit at send time: the dialog's text can be changed on every request β the default is only the starting point.
- 1,024-character limit: the platform refuses a longer text instead of truncating it, so your message is never sent half-finished.
- Permission status shown in the conversation:
| Status | Meaning |
|---|---|
| Calls not allowed | The contact hasn't allowed calls yet (or declined). You must request it. |
| Calls allowed until (date) | Temporary permission β expires on the date shown. |
| Calls always allowed | Permanent permission β you can call without requesting again. |
- The permission belongs to the contact, not to the conversation: a new conversation with the same contact already knows about the permission.
- WhatsApp button in the composer: on Cloud inboxes it is always available, even with no approved templates. With no templates it opens straight on the Interactive tab β the Flows, Interactive and Catalog tabs stay reachable.
Use cases
- Explain the reason for the call ("let's confirm the delivery address for your order") to increase the chance of acceptance.
- Standardize the text per operation or brand in the inbox field, keeping the company's tone of voice.
- Continue serving by message when the contact declines the call.
- Call directly, with no request at all, for contacts who already granted permanent permission.
Tips, limits & best practices
| Limit | Value |
|---|---|
| Message length | 1,024 characters (Meta's limit) |
| New request in the same conversation | 1 every 5 minutes |
| Per-contact quota | Set by Meta β once spent, you must wait for the window to roll |
- Write a short and specific text: the contact reads this message right above the permission card, and a clear reason increases acceptance.
- A decline unblocks the next request right away, but that's no invitation to insist β respect the contact's choice and continue by message.
- Watch the expiry date of a temporary permission: after it, you have to request again.
- Meta's quota is per contact. Firing requests back to back burns the quota and blocks even the customer who would have accepted.
- WhatsApp Web has no permission step β if your operation uses both channels, don't mix up the flows.
Troubleshooting
- "Request already sent": there is a recent request in this conversation. The dialog tells you in how many minutes you can send another β or wait for the contact to answer.
- "The permission request limit for this contact has been reached": Meta's quota for that contact is spent. Re-sending won't help; wait for the window to roll.
- "The permission request message is too long": shorten the text to 1,024 characters and send again.
- "This contact has already allowed calls": nothing was sent because it wasn't needed β just call.
- The contact declined: the conversation shows the decline and the status goes back to Calls not allowed. You can request again later.
- I don't see the call button: confirm the inbox is WhatsApp Cloud and that calls are enabled on the inbox's Calling tab.
- The request went out in another language: the default text follows the account language β adjust it in Settings β Account β Language or fill in the inbox default.
- The message doesn't show in the conversation: the message is only posted after Meta confirms the send; if the request failed, an error is shown instead.