> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conversion.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Send real-time contact data to external tools and services from your workflows via HTTP.

The Webhook node sends contact data to an external URL whenever a contact reaches that step in a workflow. Use webhooks to connect Conversion to any external tool — Zapier, internal APIs, data warehouses, or any service that accepts HTTP requests — without needing a native integration.

## Prerequisites

You must configure a webhook endpoint in Conversion before using the node in a workflow.

<Steps>
  <Step title="Create a webhook endpoint">
    Navigate to **Settings > Integrations**. Under the Webhooks section, click **Add webhook** and provide:

    | Field                       | Description                                                                                                                                                |
    | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Webhook URL**             | The endpoint where Conversion will send the data. Must be a valid HTTPS URL.                                                                               |
    | **Bearer token** (optional) | An authentication token included in the `Authorization` header of every request. Adds a layer of security so only authorized requests reach your endpoint. |

    Click **Continue**, then **Save**. The webhook appears in your integrations list and can be edited at any time to update the URL, token, or request body.
  </Step>

  <Step title="Test the webhook">
    Use the **Test webhook** button to send a sample payload to your endpoint. Verify that your receiving service processes the request correctly before using the webhook in a live workflow.
  </Step>
</Steps>

## Using webhooks in workflows

Once a webhook is saved, drag the **Webhook** action node into your workflow and select the webhook you configured. Whenever a contact reaches that step, Conversion sends the event payload to your configured URL, including any variables you have mapped in the workflow.

## Configuration

| Setting       | Description                                                             |
| ------------- | ----------------------------------------------------------------------- |
| **Webhook**   | Select a previously configured webhook from the dropdown.               |
| **Variables** | Map the contact and company variables you want included in the payload. |

<Warning>
  Webhooks require at least one variable to be sent. If a contact has no data for any of the mapped variables, the webhook is skipped entirely to prevent empty or incomplete payloads from reaching your external systems.
</Warning>

## Behavior

* The node fires one HTTP request per contact that passes through it.
* The request is sent immediately when the contact reaches the node.
* The payload includes all mapped variables that have values on the contact record.
* If the webhook endpoint returns an error, the contact still advances to the next node in the workflow.

## Best practices

* **Use bearer tokens.** Always configure a bearer token when your endpoint supports authentication. This prevents unauthorized requests from reaching your systems.
* **Test before activating.** Send test payloads to your endpoint using the **Test webhook** button in Settings before activating the workflow.
* **Combine with enrichment.** Place [Magic Enrichment](/product-docs/workflows/nodes/magic-enrichment) or [Apollo Enrichment](/product-docs/workflows/nodes/apollo-enrichment) nodes upstream of the webhook to ensure you are sending the richest possible data to your external systems.
* **Monitor your endpoint.** Conversion sends data in real time — ensure your receiving service can handle the expected volume and has appropriate error handling in place.
