# Set multiple webhooks for Phone Number

{% hint style="info" %}
It is only useful in certain non-standard situations. \
\
To set up a webhook in a standard way please refer to [this article](https://docs.360dialog.com/partner/messaging/sending-and-receiving-messages/receiving-messages-via-webhook#set-webhook-url).
{% endhint %}

You can attach multiple Webhook URLs to a single phone number. This can be used to manage additional webhooks, enhancing automation and integration capabilities within your systems.\
\
This feature compromises on performance. The more webhooks are attached to a number, the longer messages will take to arrive and be acknowledged, so **the overall performance will be impacted**. Using only one webhook is recommended for high volume accounts.

All destinations will get cloned incoming notifications from the[ Messaging API](https://docs.360dialog.com/partner/onboarding/webhook-events-partner-and-messaging-api#messaging-webhook-associated-with-messaging-api). But, extra webhooks will only get these notifications if the main destination ([connected to the phone number](https://docs.360dialog.com/partner/onboarding/webhook-events-and-setup/broken-reference)) successfully receives them with `200` success code. See our documentation for [Best Practices for designing Integrations](https://docs.360dialog.com/partner/onboarding/webhook-events-and-setup/broken-reference).&#x20;

Each phone number is limited to a maximum of **3** unique webhooks. This limit cannot be increased. You cannot attach multiple webhooks to a full WABA, only to specific phone numbers.

{% hint style="warning" %}
Webhook URLs or headers for Cloud API does not support *"*`_`*"*`(underscore)` or "`:xxxx`"`(port)`in (sub)domain names.

**Invalid webhook URL:** `https://your_webhook.example.com` \
**Valid webhook URL:** `https://yourwebhook.example.com`

**Invalid webhook URL:**`https://subdomain.your_webhook.example.com`**`:3000`** \
**Valid webhook URL:** `https://subdomain.yourwebhook.example.com`
{% endhint %}

## Enable/Disable Multiple Webhooks

Use this [endpoint ](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/webhooks#post-multi_webhook)to enable or disable the Multiple Webhook configuration to a specific phone number.&#x20;

Webhook names are case-sensitive and function like unique IDs. Therefore, a webhook named "`webhook`" is considered distinct from "`WEBhook`."  The API will only add a new webhook if the `<name>` provided in the request does not match with any existing configuration.

To enable or disable the multi-webhook feature, the `destination` object is not required:

## Get list of configured Webhooks

This [endpoint](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/webhooks#get-multi_webhook) retrieves all configured and additional webhooks.&#x20;

## Append additional Webhooks

Using this [endpoint](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/webhooks#put-multi_webhook), 3 webhooks per phone number can be added. This limit cannot be increased.&#x20;

## Update properties of an existing webhook

To update properties of an existing webhook, use this [endpoint](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/webhooks#patch-multi_webhook) and specify the new webhook configuration in the request payload.&#x20;

## Delete a specific webhook configuration by name

To delete an additional webhook, use this [endpoint](https://app.gitbook.com/s/-M4sMxKjL6eJRvZn6jeG-887967055/messaging-api/api-reference/webhooks#delete-multi_webhook-dest_name). Remember that if you delete all webhooks, the system will return an empty response when attempting callbacks.

Use this [request](#get-list-of-configured-webhooks) to retrieve webhook names.&#x20;

Webhook names are case-sensitive, and function like unique IDs. Therefore, a webhook named "`webhook`" is considered distinct from."`WEBhook`".  The API will only delete the webhook if the `<name>` request passed in is an exact match.
