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

# Custom Webhook

> Send lead data to any CRM or external system via HTTP

## Overview

Custom Webhook is the simplest integration — it sends HTTP requests to any URL you specify. Use it to push lead data to a CRM, trigger automations in Zapier/Make, or connect to any system with an API.

No OAuth, no SDK — just a target URL and optional headers.

## Setup

<Steps>
  <Step title="Add Integration">
    Go to **Integrations** → **Add Integration** → select **Custom Webhook** from the CRM category.
  </Step>

  <Step title="Configure">
    | Field              | Required | Description                                                          |
    | ------------------ | -------- | -------------------------------------------------------------------- |
    | **Webhook URL**    | Yes      | The endpoint to send data to                                         |
    | **Webhook Secret** | No       | Secret for HMAC-SHA256 request signing                               |
    | **Headers**        | No       | Custom HTTP headers (JSON format, e.g., `Authorization: Bearer ...`) |
  </Step>

  <Step title="Test">
    Click **Test Connection**. Revol sends a test payload and verifies the URL responds with a 2xx status.
  </Step>
</Steps>

## Agent Tools

| Tool              | Description                                                                                                             |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `send_payload`    | Send structured JSON data (lead info, form data) to the webhook URL. Signed with HMAC-SHA256 if a secret is configured. |
| `test_connection` | Verify the webhook URL is reachable and responds correctly                                                              |

## Payload Format

When an agent calls `send_payload`, Revol sends a POST request with a JSON body. The content is determined by the AI agent based on what information was collected during the conversation:

```json theme={null}
{
  "event": "lead_captured",
  "timestamp": "2026-03-07T14:30:00Z",
  "company_id": 5,
  "agent_id": 12,
  "conversation_id": "conv_abc123",
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "phone": "+380501234567",
    "message": "Interested in Enterprise plan",
    "source": "website_widget",
    "utm_campaign": "spring_promo"
  }
}
```

## Request Signing

If you provide a **Webhook Secret**, every request is signed with HMAC-SHA256:

* The signature is included in the `X-Webhook-Signature` header
* Verify it on your server by computing `HMAC-SHA256(request_body, your_secret)` and comparing

## Using in Workflow Nodes

Webhook tools work like any other agent tool:

1. Connect the webhook integration and test the URL
2. Tools appear in the agent's **Tools** tab
3. Add `send_payload` to a **custom node** in the workflow editor
4. The LLM decides when to send data based on conversation context

**Example workflow:** Agent collects lead information (name, email, phone, interest) → on conversation end, uses `send_payload` to push the data to your CRM.

## Use Cases

* **CRM integration** — Push qualified leads to Pipedrive, HubSpot, Salesforce, or any CRM with a webhook/API endpoint
* **Zapier / Make** — Trigger multi-step automations from conversation events
* **Slack / Discord** — Send notifications when high-value leads are captured
* **Custom backend** — Call your own API to create orders, update records, or trigger internal workflows
* **Analytics** — Send conversation outcomes to your data warehouse
