Skip to main content
call_permission_request Asks permission to call on WhatsApp.

How it works

Calling a customer on WhatsApp requires explicit permission. This model is the request: you write the reason, and WhatsApp adds the authorization part, with the name from your account profile. The CALL_PERMISSION_REQUEST component has no fields at all — its presence is what defines the model. There is no accept button and decline button in the template: WhatsApp draws the action. Meta’s documentation mentions allow calls and temporarily allow, for 7 days, plus declining, but it doesn’t describe the screen — so the preview above is an approximation, and the button arrangement on the device may differ. What is documented, and what you can rely on, is the answer: it arrives on your webhook with response as accept or reject. When the permission is temporary, is_permanent: false and expiration_timestamp come along.
Meta does not allow combining the permission component with other interactive components. No buttons, carousel or offer badge on the same template.

At creation and at send time

Fields in this model

Full JSON

Two JSON payloads: one creates the template, and Meta approves it once. The other sends the message, and goes on every dispatch, with that send’s values in the variables marked with braces.

1. Create the template

POST /whatsapp/businesses/{wabaId}/templates — see API reference.

2. Send it once approved

POST /v1/channels/{channelId}/messages — see Send template.

What Meta rejects here

  • Buttons, carousel or any other interactive component on the same template.
  • The AUTHENTICATION category.