# Obtain User Call Permissions | Developer Documentation

<div id="bkmrk-obtain-user-call-per">## Obtain User Call Permissions

<div><span>Updated: Nov 13, 2025</span></div><div><div>As of November 3, 2025, permanent permissions is now available. Users can now grant a business ongoing permission to call. Users can review and change calling permission for a business at any time in the business profile.</div></div><div><div>Call permission related features are available only in regions where [business initiated calling is available](/books/meta-whatsapp/page/cloud-api-calling-developer-documentation).</div></div><div id="bkmrk-overview"><div id="bkmrk-overview-1"><div>### Overview

</div></div></div><div>If you want to place a call to a WhatsApp user, your business must receive user permission first. When a WhatsApp user grants call permissions, they can be either temporary or permanent.</div><div>Business does not have control over this permission as it is only granted by the user and can only be revoked by the user, at any time. Permanent permission data will be stored until it is revoked.</div><div>You can obtain calling permission from a WhatsApp user in any of the following ways:</div><span>**Send a call permission request to the user** — Send a free-form or templated message requesting calling permission from the user. User has the option to choose between temporary or permanent.</span><span>**Callback permission is provided by the WhatsApp user** — The WhatsApp user automatically provides temporary call permissions by placing a call to the business. The [callback setting must be enabled](/books/meta-whatsapp/page/configure-call-settings-developer-documentation) on the business phone number.</span><span>**WhatsApp user provides call permission via Business Profile** — The WhatsApp user provides call permissions to the business through their business profile.</span><div id="bkmrk-limits-%28per-business"><div id="bkmrk-limits-%28per-business-1"><div>#### Limits (Per business + WhatsApp user pair)

</div></div></div><span>Temporary permissions are **granted for 7 calendar days (168 hours)**</span> <span>Calculated as the number of seconds in a day multiplied by 7, from time of user’s approval.</span><span>Permanent permissions do not expire, but they have the same connected calls limit.</span><span>Your business can make a maximum of **100 connected calls every 24 hours**</span><span>These limits are on the **business phone number**</span><div>These limits are in place to protect WhatsApp users from unwanted calls.</div><div><div>When you test your WhatsApp Calling integration using public test numbers (PTNs) and sandbox accounts, Calling API restrictions are relaxed.</div><div>[Learn more about testing your WhatsApp Calling API integration](/books/meta-whatsapp/page/cloud-api-calling-developer-documentation)</div></div><div id="bkmrk-call-permission-requ"><div id="bkmrk-call-permission-requ-1"><div>### Call permission request basics

</div></div></div><div>You may proactively request a calling permission from a WhatsApp user by sending a permission request message, either as a:</div><span>Free form interactive message</span><span>Template message</span><div>The WhatsApp user may approve (temporary or permanent), decline, or simply not respond to a call permission request.</div><div>**With permissions, the WhatsApp user is in control.** Even if the user provides calling permission, they can revoke that granted permission request at any time. Conversely, if the user declines a permission request, they can still grant calling permission, up until the permission request expires.</div><div>**A call permission request expires** when any of the following occurs:</div><span>The WhatsApp user interacts with a subsequent new call permission request from the business</span><span>7 days after the permission was accepted or declined by the consumer</span><span>7 days after the permission was delivered if the consumer does not respond to the request</span><div>[View client UI behavior for expired permission requests](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)</div><div>To ensure an optimal user experience around business initiated calling, the following limits are enforced:</div><span>**When sending a calling permission request message**</span> <span>Maximum of 1 permission request in 24h</span><span>Maximum 2 permission requests within 7 days.</span> <span>*These limits reset when any connected call (business-initiated/user-initiated) is made between the business and WhatsApp user.*</span><span>*These limits apply toward permissions requests sent either as free form or template messages.*</span><span>**When business-initiated calls go unanswered or are rejected**</span> <span>2 consecutive unanswered calls result in a system message to reconsider an approved permission</span><span>4 consecutive unanswered calls result in an approved permission being automatically revoked. The user may again update this if they so choose.</span><div>[View client UI behavior for consecutive unanswered calls](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)</div><div id="bkmrk-free-form-vs-templat"><div id="bkmrk-free-form-vs-templat-1"><div>### Free form vs template call permission request message

</div></div></div><div><div>Call permission request messages are subject to [messaging charges](/books/meta-whatsapp/page/pricing-on-the-whatsapp-business-platform-developer-documentation)</div></div><div>A call permission request message can be sent to users in one of the following ways:</div><div>**Send a free form message**</div><span>When you are within a customer service window with a WhatsApp user, you can send a free form message with a call permission request.</span><span>Although a text body will be optional, you should send one to build context with the user. In the case of free form calling permission request messages, header and footer sections are not supported.</span><span>Since the customer service window is open, there is no need to create a conversation window.</span><div>**Create and send a template message**</div><span>Sending a template message allows you to initiate a user conversation with a call permission request.</span><span>Context (that is, a text body) is required when sending a template message with a call permission request.</span><span>With template messages, you can further customize your permission request by adding a message header and footer.</span><div>![Criteria for sending call permission request messages](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-vpkdkcnf.jpeg)</div><div id="bkmrk-client-application-u"><div id="bkmrk-client-application-u-1"><div>### Client application UI experience

</div></div></div><div id="bkmrk-call-permission-requ-3"><div id="bkmrk-call-permission-requ-4"><div>#### Call permission request flow and sample messages

</div></div></div><div id="bkmrk-allow-calls"><div id="bkmrk-allow-calls-1"><div>##### Allow calls

</div></div></div><div>![Image](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-zhfvvqor.jpeg)</div><div id="bkmrk-temporarily-allow-ca"><div id="bkmrk-temporarily-allow-ca-1"><div>##### Temporarily allow calls

</div></div></div><div>![Image](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-n2p2tqym.jpeg)</div><div id="bkmrk-template-message"><div id="bkmrk-template-message-1"><div>#### Template message

</div></div></div><div><div><div>With header, footer and body ![Image](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-rhcpngle.jpeg)</div></div><div><div>With body only ![Free form message with body only](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-oxultykv.jpeg)</div></div><div><div>With no text body ![Free form message with no text body](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-kuebtvx1.jpeg)</div></div></div><div id="bkmrk-free-form-message-ty"><div id="bkmrk-free-form-message-ty-1"><div>##### Free form message types

</div></div></div><div><div><div>With no text body ![Template message with no text body](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-mmetg8bz.jpeg)</div></div><div><div>With text body only ![Image](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-dzcweatw.jpeg)</div></div></div><div id="bkmrk-updating-call-permis"><div id="bkmrk-updating-call-permis-1"><div>#### Updating call permission on business profile

</div></div></div><div>Users always have the option to change the permission using a new option on the business profile.</div><div><table><thead><tr><th><span>Update call permission on business profile </span></th></tr></thead><tbody><tr><td><div><div>![Business profile screen showing call permission update options](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-xsnrvrum.jpeg)</div></div></td></tr></tbody></table>

</div><div id="bkmrk-consecutive-unanswer"><div id="bkmrk-consecutive-unanswer-1"><div>#### Consecutive unanswered calls

</div></div></div><div><table><thead><tr><th><span>Consecutive unanswered calls </span></th></tr></thead><tbody><tr><td><div><div>2 consecutive unanswered calls — System message for user to update permission</div><div>![System message displayed after 2 consecutive unanswered calls](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-ursqsz1z.jpeg)</div></div></td></tr><tr><td><div><div>4 consecutive unanswered calls — Permissions automatically revoked</div><div>![Notification shown when permissions are automatically revoked after 4 unanswered calls](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-o3knjsyk.jpeg)</div></div></td></tr></tbody></table>

</div><div id="bkmrk-call-permission-requ-6"><div id="bkmrk-call-permission-requ-7"><div>#### Call permission request expiration scenarios

</div></div></div><div><div><div>Permission request expires after 7 days — User interacts with request ![Permission request expires after 7 days — User interacts with request](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-8qtptbyd.jpeg)</div></div><div><div>Permission request expires after 7 days — User does not interact ![Permission request expires after 7 days — User does not interact](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-keflyrqd.jpeg)</div></div></div><div><div><div>Previous permission request expires immediately — User does not interact / New call permission request is received ![Previous permission request expires immediately — User does not interact / New call permission request is received](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-plosgzee.jpeg)</div></div><div><div>Previous permission request expires immediately — User allows / Interacts with the new request ![Image](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-oop9ejyo.jpeg)</div></div></div><div id="bkmrk-send-free-form-call-"><div id="bkmrk-send-free-form-call--1"><div>### Send free form call permission request message

</div></div></div><div><div>Call permission request messages are subject to [messaging charges](/books/meta-whatsapp/page/pricing-on-the-whatsapp-business-platform-developer-documentation)</div></div><div>Use this endpoint to send a free form interactive message with a call permission request during a [customer service window](/books/meta-whatsapp/page/sending-messages-developer-documentation). A standard [message status webhook](/books/meta-whatsapp/page/status-messages-webhook-reference-developer-documentation) will be sent in response to this message send.</div><div>**Note:** The call permission request interactive object cannot be edited by the business. Only the message body can be customized.</div><div>[See how this message is rendered on the WhatsApp client](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)</div><div id="bkmrk-body-parameters"><div id="bkmrk-body-parameters-1"><div>##### Body parameters

</div></div></div><div><table><thead><tr><th><span>Parameter </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`to`</div><div>*Integer*</div></div></td><td><div><div>**Required**</div><div>  
The phone number of the WhatsApp user you are messaging</div><div>[Learn more about formatting phone numbers in Cloud API](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/whatsapp-business-account-phone-number-api)</div></div></td><td><div><div>`+17863476655`</div></div></td></tr><tr><td><div><div>`type`</div><div>*String*</div></div></td><td><div><div>**Required**</div><div>  
The type of interactive message you are sending.</div><div>In this case, you are sending a `call_permission_request`.</div><div>[Learn more about interactive messages](/books/meta-whatsapp/page/sending-messages-developer-documentation)</div></div></td><td><div><div>`“call_permission_request”`</div></div></td></tr><tr><td><div><div>`action`</div><div>*String*</div></div></td><td><div><div>**Required**</div><div>  
The action of your interactive message.</div><div>Must be `call_permission_request`.</div></div></td><td><div><div>`“call_permission_request”`</div></div></td></tr><tr><td><div><div>`body`</div><div>*String*</div></div></td><td><div><div>**Optional**</div><div>  
The body of your message.</div><div>Although this field is optional, it is highly recommended you give context to the WhatsApp user when you request permission to call them.</div></div></td><td><div><div>`"Allow us to call you so we can support you with your order."`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-success-response"><div id="bkmrk-success-response-1"><div>##### Success response

</div></div></div><div>[*Learn more about messaging success responses*](/books/meta-whatsapp/page/sending-messages-developer-documentation)</div><div id="bkmrk-error-response"><div id="bkmrk-error-response-1"><div>##### Error response

</div></div></div><div>Possible errors that can occur:</div><span>Invalid `phone-number-id`</span><span>Permissions/Authorization errors</span><span>Rate limit reached</span><span>Sending this message to users on older app versions will result in error webhook with error code [131026](/documentation/business-messaging/whatsapp/support/error-codes)</span><span>Calling not enabled</span><span>Calling restriction errors</span><div>[View general Cloud API Error Codes here](/documentation/business-messaging/whatsapp/support/error-codes)</div><div id="bkmrk-create-and-send-call"><div id="bkmrk-create-and-send-call-1"><div>### Create and send call permission request template messages

</div></div></div><div><div>Call permission request messages are subject to [messaging charges](/books/meta-whatsapp/page/pricing-on-the-whatsapp-business-platform-developer-documentation)</div></div><div>Use these endpoints to create and send a call permission request message template.</div><div>Once your permission request template message is created, your business can send the template message to the user as a call permission request outside of a customer service window.</div><div>[Learn more about creating and managing message templates](/books/meta-whatsapp/page/templates-developer-documentation)</div><div id="bkmrk-create-message-templ"><div id="bkmrk-create-message-templ-1"><div>#### Create message template

</div></div></div><div>Use this endpoint to create a call permission request message template.</div><div id="bkmrk-body-parameters-3"><div id="bkmrk-body-parameters-4"><div>##### Body parameters

</div></div></div><div>Creating and managing template messages can be done both through Cloud API and the WhatsApp Business Manager interface.</div><div>When creating your call permission request template, ensure you configure `type` as `call_permission_request`.</div><div>[Learn more about creating and managing message templates](/books/meta-whatsapp/page/templates-developer-documentation)</div><div><table><thead><tr><th><span>Parameter </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`type`</div><div>*String*</div></div></td><td><div><div>**Required**</div><div>  
The type of template message you are creating.</div><div>In this case, you are creating a `call_permission_request`.</div></div></td><td><div><div>`“call_permission_request”`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-template-status-resp"><div id="bkmrk-template-status-resp-1"><div>##### Template status response

</div></div></div><div>[*Learn more about template status response*](/books/meta-whatsapp/page/templates-developer-documentation)</div><div id="bkmrk-error-response-3"><div id="bkmrk-error-response-4"><div>##### Error response

</div></div></div><div>Possible errors that can occur:</div><span>Invalid WABA id</span><span>Permissions/Authorization errors</span><span>Template structure/component validation alerts</span><div>[View general Cloud API Error Codes here](/documentation/business-messaging/whatsapp/support/error-codes)</div><div id="bkmrk-get-current-call-per"><div id="bkmrk-get-current-call-per-1"><div>### Get current call permission state

</div></div></div><div>Use this endpoint to get the call permission state for a business phone number with a single WhatsApp user phone number.</div><div id="bkmrk-request-parameters"><div id="bkmrk-request-parameters-1"><div>#### Request parameters

</div></div></div><div><table><thead><tr><th><span>Parameter </span></th><th><span>Description </span></th><th><span>Sample Value </span></th></tr></thead><tbody><tr><td><div><div>`<PHONE_NUMBER_ID>`</div><div>*String*</div></div></td><td><div><div>**Required**</div><div>  
The business phone number you are fetching permissions against.</div><div>[Learn more about formatting phone numbers in Cloud API](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/whatsapp-business-account-phone-number-api)</div></div></td><td><div><div>`+18762639988`</div></div></td></tr><tr><td><div><div>`<CONSUMER_WHATSAPP_ID>`</div><div>*Integer*</div></div></td><td><div><div>**Required**</div><div>  
The phone number of the WhatsApp user who you are requesting call permissions from.</div><div>[Learn more about formatting phone numbers in Cloud API](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/whatsapp-business-account-phone-number-api)</div></div></td><td><div><div>`+13057765456`</div></div></td></tr></tbody></table>

</div><div id="bkmrk-error-response-6"><div id="bkmrk-error-response-7"><div>##### Error response

</div></div></div><div>Possible errors that can occur:</div><span>Invalid `phone-number-id`</span><span>If the consumer phone number is uncallable, the api response will be `no_permission`.</span><span>Permissions/Authorization errors.</span><span>Rate limit reached. A maximum of 100 requests in a 1 second window can be made to the API.</span><span>Calling is not enabled for the business phone number.</span><div>[View Calling API Error Codes and Troubleshooting for more information](/books/meta-whatsapp/page/troubleshoot-whatsapp-calling-errors-reference-guide-developer-documentation)</div><div>[View general Cloud API Error Codes here](/documentation/business-messaging/whatsapp/support/error-codes)</div><div id="bkmrk-user-call-permission"><div id="bkmrk-user-call-permission-1"><div>### User call permission reply webhook

</div></div></div><div>This webhook is delivered whenever a user selects or updates their calling permissions. It could be in response to a call permission request sent by the business or it could be the user proactively making a decision.</div><div>The webhook fields values change depending on the circumstances of the user permission decision:</div><span>the user accepts or rejects the request</span><span>the user approves permission by responding to a request or by calling the business</span><span>the user permission is an automatic callback permission in response to a user-initiated call</span><span>the user permission is automatically revoked in response to 4 consecutive unanswered business-initiated calls</span><div>Lastly, the user can grant permanent calling permission to the business, which is represented in the `is_permanent` parameter.</div><div><div>No webhook is sent when a temporary permission expires. The `expiration_timestamp` field included in the accepted permission webhook indicates the time this permission will expire. Alternatively the current permission state can be queried from the [get current call permission state](#bkmrk-get-current-call-per-1) endpoint.</div></div><div id="bkmrk-webhook-sample"><div id="bkmrk-webhook-sample-1"><div>##### Webhook sample

</div></div></div><div id="bkmrk-webhook-values"><div id="bkmrk-webhook-values-1"><div>##### Webhook values

</div></div></div><div><table><thead><tr><th><span>Placeholder </span></th><th><span>Description </span></th></tr></thead><tbody><tr><td><div><div>`customer_phone_number`</div><div>*String*</div></div></td><td><div><div>The phone number of the customer</div></div></td></tr><tr><td><div><div>`context.id`</div><div>*String*</div></div></td><td><div><div>Can be either of two values</div><span>Message ID of the permission request message sent by the business to the customer number. Shows when a permission decision is made by the user in response to a call permission request.</span><span>Call ID of the missed call placed by the business to the customer number. Shows when callback permission is enabled in settings and the user calls the business.</span></div></td></tr><tr><td><div><div>`response`</div><div>*String*</div></div></td><td><div><div>The WhatsApp users response to the call permission request message</div><div>Can be `accept` or `reject`</div></div></td></tr><tr><td><div><div>`is_permanent`</div><div>*Boolean*</div></div></td><td><div><div>Indicates if the permission is permanent or not. For temporary permission this will always be false.</div></div></td></tr><tr><td><div><div>`expiration_timestamp`</div><div>*Integer*</div></div></td><td><div><div>Time in seconds when this call permission expires if the WhatsApp user approved it</div></div></td></tr><tr><td><div><div>`response_source`</div><div>*String*</div></div></td><td><div><div>The source of this permission</div><div>Possible values for accepted call permissions are:</div><span>`user_action`: User approved or rejected the permission</span><span>`automatic`: An automatic permission approval due to the WhatsApp user initiating the call</span></div></td></tr></tbody></table>

</div><div id="bkmrk-webhook-sample-scena"><div id="bkmrk-webhook-sample-scena-1"><div>##### Webhook sample scenarios

</div></div></div><div><table><thead><tr><th><span>Scenario </span></th><th><span>Webhook sample </span></th></tr></thead><tbody><tr><td><div><div>The WhatsApp user approves a temporary call permission from a call permission request message</div></div></td><td></td></tr><tr><td><div><div>The WhatsApp users approves a permanent call permission from a call permission request message</div></div></td><td></td></tr><tr><td><div><div>The WhatsApp users approves a permanent call permission from the business profile</div></div></td><td></td></tr><tr><td><div><div>The WhatsApp users rejects a call permission after receiving a call permission request message</div></div></td><td></td></tr><tr><td><div><div>An automatic temporary callback permission is granted to the business when the WhatsApp user calls the business</div></div></td><td></td></tr><tr><td><div><div>A call permission is automatically revoked when a business makes 4 consecutive unanswered calls to the WhatsApp user</div></div></td><td></td></tr></tbody></table>

</div></div>