# Configure reusable webhooks

In Workspace Settings, create webhook configurations to reuse across campaigns and broadcasts and secure your credentials.

[![At the bottom of workspace settings is webhook configuration.](https://docs.customer.io/images/webhook-manager.png)](#a1188c4b7ced70263594ea87aec96c55-lightbox)

## Overview[](#overview)

In Workspace Settings, you can configure webhooks to reuse them across your campaigns and API-triggered broadcasts. Use them to reduce friction across your workflows:

*   **Less repetitive work & fewer errors.** Define your webhook URL, headers, and auth details once, and reference them in any campaign.
*   **Updates at scale.** When an API endpoint or auth header changes, update the configuration in one place and all referencing campaigns pick up the change automatically.
*   **Tighter security.** Team members can select pre-configured webhooks without ever seeing sensitive data like API keys, auth tokens, or headers.

Account admins and [Workspace managers](/accounts-and-workspaces/assign-standard-roles/) have full access to creating and choosing webhooks in your campaigns, while Authors can only select which webhooks to use.

Currently, people with custom roles cannot create or configure reusable webhooks.

## Create webhooks[](#create-webhooks)

1.  Go to [*Workspace Settings > Webhook configuration*](https://fly.customer.io/workspaces/last/settings/webhook_configuration).
2.  Click **Create webhook**.
3.  Add a **Name** for your webhook.
    
    [![A webhook for sending data to Salesforce](https://docs.customer.io/images/webhook-example.png)](#ae1b26503ba1df6db1c790d9c9c3e3d8-lightbox)
    
4.  (Optional) Add a **Description** to help you distinguish your webhooks.
5.  Specify the right **Method** and **Endpoint URL**.
6.  Add any other **Headers** you need.
7.  (Optional) Send a **Test Webhook** to ensure your webhook is functional.

Now you can add the webhook to your campaigns and API-triggered broadcasts, which is where you’ll specify the **Body** or store data on attributes for use later on.

For more information on setting up a webhook, check out our [webhook action](/journeys/webhooks-action/) article.

## Edit webhooks[](#edit-webhooks)

To edit a webhook, click **Edit** from the Webhook configuration page. Make sure you test the webhook before you save; changes take effect immediately across your campaigns and broadcasts.

## Delete webhooks[](#delete-webhooks)

To delete a webhook, click **Edit** and choose **Delete** from the webhook’s page. You can’t delete a webhook in use; you must remove it from all campaigns and broadcasts first.

## Use saved webhooks[](#use-saved-webhooks)

You can use saved webhooks in campaigns or API-triggered broadcasts.

To assign a configured webhook to a campaign or broadcast, follow these steps:

1.  Drag a **Send and receive data** action into your workflow.
2.  Click the action and then choose **Edit Request**.
3.  Click the dropdown at the top and select a pre-configured webhook. You’ll see the name and description set in the configuration manager.

Then you can finish setting up the webhook:

*   [Add a request body](/webhooks-action/#structure-your-request-body).
*   [Set journey attributes](/webhooks-action/#set-journey-attributes) to temporarily store and use data in an active journey.
*   [Set customer attributes](/webhooks-action/#response) to use the data outside of the campaign.
*   Preview the webhook with sample customer data.
*   [Send a test](/webhooks-action/#testing-your-requests).