Webhook Events
Subscribe to these events to receive real-time notifications when things happen in your account.
Available Events
Account Events
| Event |
Description |
account.updated |
Account settings were changed |
User Events
| Event |
Description |
user.created |
A new user was created |
user.updated |
User profile was updated |
Member Events
| Event |
Description |
member.invited |
A team invitation was sent |
member.joined |
A user joined the team |
member.role_changed |
A team member's role was changed |
member.removed |
A user was removed from the team |
Company Events
| Event |
Description |
company.created |
A new company was created |
company.updated |
A company was updated |
company.deleted |
A company was deleted |
company.at_risk |
A company's failure rate exceeded threshold |
Instance Events
| Event |
Description |
instance.created |
A new instance was added |
instance.updated |
An instance was updated |
instance.deleted |
An instance was removed |
Sync Events
| Event |
Description |
sync.completed |
A sync operation completed successfully |
sync.failed |
A sync operation failed |
Workflow Events
| Event |
Description |
workflow.degraded |
A workflow started failing (threshold exceeded) |
workflow.recovered |
A workflow recovered from degraded state |
Execution Events
| Event |
Description |
execution.failures_detected |
Multiple execution failures detected (throttled alert) |
LLM Provider Events
| Event |
Description |
llm_provider.created |
A new LLM provider was connected |
llm_provider.updated |
An LLM provider was updated |
llm_provider.deleted |
An LLM provider was removed |
LLM Project Events
| Event |
Description |
llm_project.created |
A new LLM project was discovered |
llm_project.updated |
An LLM project was updated |
API Key Events
| Event |
Description |
api_key.created |
An API key was created |
api_key.revoked |
An API key was revoked |
Webhook Events
| Event |
Description |
webhook.created |
A webhook endpoint was created |
webhook.updated |
A webhook endpoint was updated |
webhook.deleted |
A webhook endpoint was deleted |
Payload Structure
All webhook payloads follow this structure:
{
"event": "company.created",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_abc123",
"data": {
// Event-specific data
}
}
Example Payloads
company.created / company.updated
{
"event": "company.created",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_abc123",
"data": {
"id": "cli_abc123",
"name": "Acme Corp",
"code": "acme",
"timezone": "America/New_York",
"contact_email": "[email protected]",
"monthly_llm_budget_cents": 50000,
"n8n_instances_count": 3,
"created_at": "2025-01-24T10:30:00Z",
"updated_at": "2025-01-24T10:30:00Z"
}
}
instance.created / instance.updated
{
"event": "instance.created",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_def456",
"data": {
"id": "n8n_abc123",
"type": "n8n",
"name": "Production Instance",
"base_url": "https://n8n.acme.com",
"company": {
"id": "cli_abc123",
"name": "Acme Corp"
},
"workflows_count": 25,
"last_workflows_synced_at": "2025-01-24T09:00:00Z",
"last_executions_synced_at": "2025-01-24T10:25:00Z",
"created_at": "2025-01-24T10:30:00Z",
"updated_at": "2025-01-24T10:30:00Z"
}
}
sync.completed / sync.failed
{
"event": "sync.completed",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_ghi789",
"data": {
"id": "syn_abc123",
"sync_type": "executions",
"status": "success",
"records_created": 45,
"records_updated": 12,
"instance": {
"id": "n8n_abc123",
"type": "n8n",
"name": "Production Instance"
},
"company": {
"id": "cli_abc123",
"name": "Acme Corp"
},
"started_at": "2025-01-24T10:29:00Z",
"finished_at": "2025-01-24T10:30:00Z"
}
}
workflow.degraded / workflow.recovered
{
"event": "workflow.degraded",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_jkl012",
"data": {
"id": "wfl_abc123",
"name": "Order Processing",
"external_workflow_id": "abc123",
"failure_rate": 0.35,
"instance": {
"id": "n8n_abc123",
"type": "n8n",
"name": "Production Instance"
},
"company": {
"id": "cli_abc123",
"name": "Acme Corp"
}
}
}
execution.failures_detected
{
"event": "execution.failures_detected",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_mno345",
"data": {
"failure_count": 15,
"time_window_minutes": 30,
"workflows_affected": 3,
"company": {
"id": "cli_abc123",
"name": "Acme Corp"
},
"sample_errors": [
{
"workflow_name": "Order Processing",
"error_category": "upstream_error",
"error_message": "HTTP 503: Service Unavailable"
}
]
}
}
llm_provider.created / llm_provider.updated
{
"event": "llm_provider.created",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_pqr678",
"data": {
"id": "llm_abc123",
"name": "OpenAI Production",
"provider_type": "openai",
"default_company": {
"id": "cli_abc123",
"name": "Acme Corp"
},
"projects_count": 5,
"last_synced_at": "2025-01-24T10:30:00Z",
"created_at": "2025-01-24T10:30:00Z",
"updated_at": "2025-01-24T10:30:00Z"
}
}
llm_project.created / llm_project.updated
{
"event": "llm_project.created",
"created_at": "2025-01-24T10:30:00Z",
"idempotency_key": "whdel_stu901",
"data": {
"id": "prj_abc123",
"external_project_id": "proj_12345",
"name": "Customer Support Bot",
"llm_provider": {
"id": "llm_abc123",
"name": "OpenAI Production"
},
"company": {
"id": "cli_abc123",
"name": "Acme Corp"
},
"created_at": "2025-01-24T10:30:00Z",
"updated_at": "2025-01-24T10:30:00Z"
}
}
Idempotency
Each webhook delivery includes a unique X-Webhook-Delivery header. Use this to prevent processing duplicate events if the same webhook is delivered multiple times due to retries.