| Resource | Description | Event Types |
|---|---|---|
| Contacts | Customer/contact records | created, updated, deleted |
| Sources | Lead sources | created, updated, deleted |
| Statuses | Contact statuses | created, updated, deleted |
{
"event": {
"id": "evt_{timestamp}_{random}",
"type": "{resource}.{action}",
"timestamp": "ISO 8601 datetime",
"version": "1.0"
},
"tenant": {
"id": integer,
"name": "string",
"domain": "string"
},
"data": {
"resource": {
"type": "contact|source|status",
"id": integer,
"attributes": { /* resource-specific fields */ }
},
"relationships": { /* related data */ }
},
"changes": {
"previous": object|null,
"current": object,
"modified_fields": array|null
},
"metadata": {
"source": "api_webhook_manager",
"environment": "production",
"request_id": "uuid"
}
}| Event Type | Description | When Triggered |
|---|---|---|
contact.created | New contact created | Contact added via UI, API, or import |
contact.updated | Contact modified | Any field updated |
contact.deleted | Contact removed | Contact deleted permanently |
| Event Type | Description | When Triggered |
|---|---|---|
source.created | New source created | Lead source added |
source.updated | Source modified | Source name or settings updated |
source.deleted | Source removed | Source deleted |
| Event Type | Description | When Triggered |
|---|---|---|
status.created | New status created | Contact status added |
status.updated | Status modified | Status name, color, or settings updated |
status.deleted | Status removed | Status deleted |
{
"event": {
"id": "evt_1702468200_abc123",
"type": "contact.created",
"timestamp": "2025-12-12T14:30:00.000Z",
"version": "1.0"
},
"tenant": {
"id": 123,
"name": "Acme Corporation",
"domain": "acme"
},
"data": {
"resource": {
"type": "contact",
"id": 456,
"attributes": {
"firstname": "John",
"lastname": "Doe",
"company": "Acme Inc",
"type": "individual",
"description": "Premium customer",
"country_id": 1,
"zip": "12345",
"city": "New York",
"state": "NY",
"address": "123 Main St",
"email": "john@example.com",
"website": "https://example.com",
"phone": "+1234567890",
"is_enabled": true,
"is_opted_out": false,
"default_language": "en",
"group_id": [5, 8],
"custom_fields_data": {},
"created_at": "2025-12-12T14:30:00.000000Z",
"updated_at": "2025-12-12T14:30:00.000000Z"
}
},
"relationships": {
"status": {
"id": 1,
"name": "Active",
"color": "#10b981"
},
"source": {
"id": 2,
"name": "Website"
},
"groups": [
{ "id": 5, "name": "VIP Customers" },
{ "id": 8, "name": "Newsletter" }
],
"assigned_to": {
"id": 10,
"name": "Sarah Johnson",
"email": "sarah@example.com"
}
}
},
"changes": {
"previous": null,
"current": { "firstname": "John", "lastname": "Doe" },
"modified_fields": null
},
"metadata": {
"source": "api_webhook_manager",
"environment": "production",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"event": {
"id": "evt_1702468500_def456",
"type": "contact.deleted",
"timestamp": "2025-12-12T14:35:00.000Z",
"version": "1.0"
},
"tenant": {
"id": 123,
"name": "Acme Corporation",
"domain": "acme"
},
"data": {
"resource": {
"type": "contact",
"id": 456,
"attributes": {
"firstname": "John",
"lastname": "Doe",
"email": "john@example.com"
}
},
"relationships": {}
},
"changes": {
"previous": { "firstname": "John", "lastname": "Doe" },
"current": null,
"modified_fields": null
},
"metadata": {
"source": "api_webhook_manager",
"environment": "production",
"request_id": "550e8400-e29b-41d4-a716-446655440001"
}
}| Field | Type | Description | Example |
|---|---|---|---|
firstname | string | Contact first name | "Mahmoud" |
lastname | string | Contact last name | "Elsayed" |
company | string | Company name | "RASL" |
type | string | Contact type (individual or company) | "individual" |
description | string | Notes or description | "Premium customer" |
email | string | Email address | "mahmoud@example.com" |
phone | string | Phone number (E.164 format) | "+201XXXXXXXXX" |
website | string | Website URL | "https://getrasl.io" |
address | string | Street address | "123 Main St" |
city | string | City name | "Alex" |
state | string | State / province | "AX" |
zip | string | Postal / ZIP code | "12345" |
country_id | integer | Country ID reference | 1 |
is_enabled | boolean | Contact active status | true |
is_opted_out | boolean | Marketing opt-out status | false |
default_language | string | Default language code (ISO) | "en" |
group_id | array | Assigned group IDs | [5, 8] |
custom_fields_data | object | Custom field values (key-value) | {} |
created_at | string | Creation timestamp (ISO 8601) | "2025-12-12T14:30:00.000000Z" |
updated_at | string | Last update timestamp (ISO 8601) | "2025-12-12T14:30:00.000000Z" |
{
"event": {
"id": "evt_1702468400_ghi789",
"type": "source.created",
"timestamp": "2025-12-12T14:32:00.000Z",
"version": "1.0"
},
"tenant": {
"id": 123,
"name": "Acme Corporation",
"domain": "acme"
},
"data": {
"resource": {
"type": "source",
"id": 7,
"attributes": {
"name": "Facebook Ads",
"created_at": "2025-12-12T14:32:00.000000Z",
"updated_at": "2025-12-12T14:32:00.000000Z"
}
},
"relationships": {}
},
"changes": {
"previous": null,
"current": { "name": "Facebook Ads" },
"modified_fields": null
},
"metadata": {
"source": "api_webhook_manager",
"environment": "production",
"request_id": "550e8400-e29b-41d4-a716-446655440002"
}
}| Field | Type | Description | Example |
|---|---|---|---|
name | string | Source name | "Facebook Ads" |
created_at | string | Creation timestamp | "2025-12-12T14:32:00.000000Z" |
updated_at | string | Last update timestamp | "2025-12-12T14:32:00.000000Z" |
{
"event": {
"id": "evt_1702468600_jkl012",
"type": "status.created",
"timestamp": "2025-12-12T14:33:00.000Z",
"version": "1.0"
},
"tenant": {
"id": 123,
"name": "Acme Corporation",
"domain": "acme"
},
"data": {
"resource": {
"type": "status",
"id": 8,
"attributes": {
"name": "Hot Lead",
"color": "#ef4444",
"created_at": "2025-12-12T14:33:00.000000Z",
"updated_at": "2025-12-12T14:33:00.000000Z"
}
},
"relationships": {}
},
"changes": {
"previous": null,
"current": { "name": "Hot Lead", "color": "#ef4444" },
"modified_fields": null
},
"metadata": {
"source": "api_webhook_manager",
"environment": "production",
"request_id": "550e8400-e29b-41d4-a716-446655440003"
}
}| Field | Type | Description | Example |
|---|---|---|---|
name | string | Status name | "Hot Lead" |
color | string | Hex color code | "#ef4444" |
created_at | string | Creation timestamp (ISO 8601) | "2025-12-12T14:33:00.000000Z" |
updated_at | string | Last update timestamp (ISO 8601) | "2025-12-12T14:33:00.000000Z" |
updated events, the changes object provides detailed information about what changed:{
"changes": {
"previous": {
"email": "old@example.com",
"phone": "+1111111111"
},
"current": {
"email": "new@example.com",
"phone": "+2222222222"
},
"modified_fields": ["email", "phone"]
}
}| Field | Type | Description |
|---|---|---|
previous | object | Old values of changed fields |
current | object | New values of changed fields |
modified_fields | array | List of field names that were modified |
modified_fields array to quickly check which fields changed without comparing objects.| Header | Description | Example |
|---|---|---|
Content-Type | Request content type | application/json |
X-Webhook-Event | Event type | contact.created |
X-Webhook-Timestamp | Event timestamp (ISO 8601) | 2025-12-12T14:30:00+00:00 |
X-Webhook-Format | Payload format | n8n |
evt_{unix_timestamp}_{random_string}evt_1702468200_abc1232025-12-12T14:30:00.000Z (Event timestamp)
2025-12-12T14:30:00.000000Z (Database timestamp)request_id (UUID v4) for tracing and debugging:550e8400-e29b-41d4-a716-446655440000event.version field in the payload.