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

# POST Create Webhook

> Register a new webhook endpoint.

## Create webhook

`POST /api/webhook-configs`

Create a new webhook configuration to receive real-time event notifications.

### Headers

**Cookie** `string` *required*

Session cookie (login via POST /api/auth/login)

**url** `string` *required*

HTTPS URL to receive webhook payloads

**events** `string[]` *required*

Events to subscribe to

**channelId** `string`

Scope to a specific channel

**secret** `string`

Secret for payload verification

```bash cURL theme={null}
curl -X POST https://zeplo.ai/api/webhook-configs \
  -H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook",
    "events": ["message.received", "conversation.created"]
  }'
```

```json Response theme={null}
{
  "success": true,
  "data": {
    "id": 2,
    "url": "https://your-app.com/webhook",
    "events": ["message.received", "conversation.created"],
    "status": "active",
    "secret": "whsec_xyz789...",
    "createdAt": "2026-01-15T12:00:00Z"
  }
}
```

## Webhook payload format

```json theme={null}
{
  "id": "evt_abc123",
  "event": "message.received",
  "timestamp": "2026-01-15T14:00:00Z",
  "data": {
    "messageId": 42,
    "conversationId": 5,
    "contactPhone": "919876543210",
    "type": "text",
    "content": { "text": "Hello!" },
    "channelId": "647015955153740"
  }
}
```

## Webhook verification

Webhooks include a signature header for verification:

```
X-Webhook-Signature: sha256=abcdef123456...
```

Verify using HMAC-SHA256 with your webhook secret.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.