Documentation Index
Fetch the complete documentation index at: https://docs.getsmartalex.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Webhooks let you receive real-time notifications when events occur in your SmartAlex account. Configure webhook endpoints to integrate SmartAlex with your CRM, analytics tools, or custom applications.Setting Up Webhooks
Create a Webhook Endpoint
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS endpoint to receive webhooks |
event_types | array of strings | Yes | Event types to subscribe to (at least 1) |
description | string | No | Optional label for your reference |
Response (201 Created)
List Webhooks
Delete Webhook
Event Types
Call Events
| Event | Description |
|---|---|
call.started | Call has been initiated |
call.connected | Call was answered |
call.completed | Call has ended |
call.failed | Call could not be completed |
Campaign Events
| Event | Description |
|---|---|
campaign.started | Campaign has begun calling |
campaign.paused | Campaign was paused |
campaign.resumed | Campaign was resumed |
campaign.completed | Campaign finished all contacts |
Contact Events
| Event | Description |
|---|---|
contact.created | New contact was added |
contact.updated | Contact was modified |
contact.deleted | Contact was removed |
contact.dnc | Contact marked Do Not Call |
Callback Events
| Event | Description |
|---|---|
callback.scheduled | New callback was scheduled |
callback.completed | Callback was made |
callback.cancelled | Callback was cancelled |
Webhook Payload
All webhook payloads follow this structure:Call Completed Payload
Campaign Completed Payload
Contact Created Payload
The
tenant_id field in every payload is your workspace identifier — useful if you operate multiple SmartAlex workspaces and want to route deliveries to different handlers.Signature Verification
Every webhook delivery is signed with thesigning_secret returned when you created the webhook. Verify the signature on every request to ensure it actually came from SmartAlex.
Headers
| Header | Description |
|---|---|
X-SmartAlex-Signature | HMAC-SHA256 hex digest of the raw request body, computed with your signing_secret |
X-SmartAlex-Event | The event type (e.g. call.completed) |
Verification Example
Retry Policy
If your endpoint returns an error (4xx or 5xx) or times out, SmartAlex will retry delivery with exponential backoff over several attempts. After repeated failures, the webhook delivery is marked failed — failed deliveries are visible from your dashboard.Best Practices
Respond Quickly
Respond Quickly
Return a
200 response as soon as you receive the webhook. Process the data asynchronously to avoid timeouts (we time out after 10 seconds).Handle Duplicates
Handle Duplicates
Webhooks may be delivered more than once. Use a stable identifier from the payload (e.g.
data.id for call/campaign/contact events) to deduplicate:Use HTTPS
Use HTTPS
Webhook endpoints must use HTTPS. HTTP endpoints will be rejected.
Verify Signatures
Verify Signatures
Always verify the webhook signature to ensure requests are from SmartAlex.

