CRM Webhooks
The CRM Webhooks feature allows you to subscribe to CRM-level events across your account. Unlike channel webhooks (configured per-channel), CRM webhooks are managed through the Webhook Center in your MAIA dashboard.
Setting Up CRM Webhooks
- Navigate to Settings → Webhooks in your MAIA dashboard
- Click Add Webhook to create a new webhook
- Configure:
- Name: A descriptive name for the webhook
- URL: Your HTTPS endpoint that will receive events
- Trigger Types: Select which events to receive
- Kanban Filter: Optionally limit to specific kanbans
- Field Filter: Optionally limit to specific fields (for field update events)
- Save and copy your webhook secret (shown only once)
Event Types
| Event Type | Description |
|---|---|
crm_field_update | A field value changed on a CRM record |
crm_record_created | A new CRM record was created |
crm_record_deleted | A CRM record was deleted |
ai_pause | AI was paused or resumed for a session |
Event Payloads
All webhook payloads include an eventType field. Here are the payload structures for each event:
crm_field_update Payload
json
{
"eventType": "crm_field_update",
"recordId": "record_1704067200000_abc123",
"kanbanId": "kanban_1704067200000_abc123def",
"kanbanName": "Sales Pipeline",
"externalUserId": "user-123",
"fieldName": "Email",
"fieldType": "email",
"previousValue": "old@example.com",
"newValue": "new@example.com",
"updatedBy": "user_abc123",
"updatedAt": "2024-01-15T10:30:00.000Z",
"sessionId": "session_xyz789"
}crm_record_created Payload
json
{
"eventType": "crm_record_created",
"recordId": "record_1704067200000_abc123",
"kanbanId": "kanban_1704067200000_abc123def",
"kanbanName": "Sales Pipeline",
"externalUserId": "user-123",
"title": "New Lead - John Doe",
"status": "new",
"customFields": {
"field_1704067200001_xyz789": "john@example.com",
"field_1704067200002_abc456": "+1234567890"
},
"assignedUserIds": ["user_abc123"],
"createdBy": "user_abc123",
"createdAt": "2024-01-15T10:30:00.000Z",
"sessionId": "session_xyz789",
"channelId": "channel_123"
}crm_record_deleted Payload
json
{
"eventType": "crm_record_deleted",
"recordId": "record_1704067200000_abc123",
"kanbanId": "kanban_1704067200000_abc123def",
"kanbanName": "Sales Pipeline",
"externalUserId": "user-123",
"title": "Deleted Lead - John Doe",
"status": "new",
"customFields": {
"field_1704067200001_xyz789": "john@example.com"
},
"assignedUserIds": ["user_abc123"],
"deletedBy": "user_abc123",
"deletedAt": "2024-01-15T10:30:00.000Z"
}ai_pause Payload
json
{
"eventType": "ai_pause",
"sessionId": "session_xyz789",
"channelId": "channel_123",
"aiPaused": true,
"changedBy": "user_abc123",
"changedAt": "2024-01-15T10:30:00.000Z"
}Security
All CRM webhook requests include an HMAC-SHA256 signature in the X-Maia-Signature header and a timestamp in the X-Maia-Timestamp header. See Security for verification instructions.