Webhook Events
Complete reference for all webhook event types and their payloads.
Lead Events
lead.created
Triggered when a new lead is captured by a chatbot.
{
"id": "evt_abc123",
"type": "lead.created",
"created_at": "2024-01-15T10:30:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "lead_def456",
"chatbot_id": "chatbot_abc123",
"conversation_id": "conv_ghi789",
"contact": {
"name": "Sarah Johnson",
"email": "sarah@acme.com",
"phone": "+1-555-0123",
"company": "Acme Corp"
},
"qualification": {
"score": 85,
"qualified": true,
"recommendation": "High-priority lead",
"budget": "50,000-100,000 EUR",
"authority": "Decision maker",
"need": "Customer support automation",
"timeline": "Q1 2025"
},
"status": "new",
"created_at": "2024-01-15T10:30:00Z"
}
}
lead.qualified
Triggered when a lead's qualification status changes to qualified.
{
"id": "evt_abc124",
"type": "lead.qualified",
"created_at": "2024-01-15T11:00:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "lead_def456",
"chatbot_id": "chatbot_abc123",
"qualification": {
"score": 90,
"qualified": true,
"previous_score": 70
},
"status": "qualified",
"updated_at": "2024-01-15T11:00:00Z"
}
}
lead.updated
Triggered when any lead field is updated.
{
"id": "evt_abc125",
"type": "lead.updated",
"created_at": "2024-01-15T12:00:00Z",
"organization_id": "org_xyz789",
"data": {
"id": "lead_def456",
"status": "contacted",
"notes": "Scheduled follow-up call",
"updated_at": "2024-01-15T12:00:00Z"
}
}
lead.converted
Triggered when a lead is marked as converted.
lead.score_changed
Triggered when a lead's qualification score changes.
Conversation Events
conversation.started
Triggered when a new conversation begins.
{
"id": "evt_conv001",
"type": "conversation.started",
"created_at": "2024-01-15T09:00:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "conv_ghi789",
"chatbot_id": "chatbot_abc123",
"visitor_id": "visitor_jkl012",
"status": "active",
"created_at": "2024-01-15T09:00:00Z"
}
}
conversation.ended
Triggered when a conversation ends.
{
"id": "evt_conv002",
"type": "conversation.ended",
"created_at": "2024-01-15T09:30:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "conv_ghi789",
"chatbot_id": "chatbot_abc123",
"status": "ended",
"message_count": 12,
"created_at": "2024-01-15T09:00:00Z",
"ended_at": "2024-01-15T09:30:00Z"
}
}
conversation.message_received
Triggered when a new message is received from a visitor.
{
"id": "evt_msg001",
"type": "conversation.message_received",
"created_at": "2024-01-15T09:15:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"conversation_id": "conv_ghi789",
"message": {
"id": "msg_mno345",
"role": "user",
"content": "I need help with pricing",
"created_at": "2024-01-15T09:15:00Z"
}
}
}
conversation.sentiment_negative
Triggered when negative sentiment is detected.
conversation.sentiment_positive
Triggered when positive sentiment is detected.
Ticket Events
ticket.created
Triggered when a support ticket is created.
{
"id": "evt_tkt001",
"type": "ticket.created",
"created_at": "2024-01-15T14:22:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "ticket_pqr678",
"chatbot_id": "chatbot_abc123",
"conversation_id": "conv_stu901",
"title": "Cannot access account",
"description": "Customer cannot log in after password reset",
"category": "account_access",
"priority": "high",
"status": "open",
"customer": {
"name": "Michael Chen",
"email": "michael@example.com"
},
"created_at": "2024-01-15T14:22:00Z"
}
}
ticket.updated
Triggered when a ticket is updated.
{
"id": "evt_tkt002",
"type": "ticket.updated",
"created_at": "2024-01-15T15:00:00Z",
"organization_id": "org_xyz789",
"data": {
"id": "ticket_pqr678",
"status": "in_progress",
"assigned_to": "support@leezy.ai",
"updated_at": "2024-01-15T15:00:00Z"
}
}
ticket.resolved
Triggered when a ticket is resolved.
{
"id": "evt_tkt003",
"type": "ticket.resolved",
"created_at": "2024-01-15T16:30:00Z",
"organization_id": "org_xyz789",
"data": {
"id": "ticket_pqr678",
"status": "resolved",
"resolution_notes": "Password reset link resent successfully",
"resolved_at": "2024-01-15T16:30:00Z"
}
}
Meeting Events
meeting.scheduled
Triggered when a meeting is scheduled.
{
"id": "evt_mtg001",
"type": "meeting.scheduled",
"created_at": "2024-01-15T10:45:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"id": "meeting_vwx234",
"chatbot_id": "chatbot_abc123",
"conversation_id": "conv_yza567",
"title": "Product Demo",
"description": "Enterprise features demonstration",
"start_time": "2024-01-20T15:00:00Z",
"end_time": "2024-01-20T15:30:00Z",
"timezone": "Europe/Berlin",
"attendee": {
"name": "Lisa Thompson",
"email": "lisa@acme.com",
"phone": "+1-555-0199"
},
"status": "scheduled",
"meeting_url": "https://meet.google.com/abc-defg-hij",
"meeting_provider": "google_meet",
"created_at": "2024-01-15T10:45:00Z"
}
}
meeting.cancelled
Triggered when a meeting is cancelled.
{
"id": "evt_mtg002",
"type": "meeting.cancelled",
"created_at": "2024-01-18T09:00:00Z",
"organization_id": "org_xyz789",
"data": {
"id": "meeting_vwx234",
"status": "cancelled",
"cancelled_at": "2024-01-18T09:00:00Z",
"cancelled_reason": "Scheduling conflict"
}
}
meeting.completed
Triggered when a meeting is marked as completed.
meeting.reminder
Triggered when a meeting reminder is sent (24 hours before).
Message Events
message.feedback_negative
Triggered when a user provides negative feedback on a message.
{
"id": "evt_fb001",
"type": "message.feedback_negative",
"created_at": "2024-01-15T10:35:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"message_id": "msg_bcd890",
"conversation_id": "conv_ghi789",
"feedback_type": "thumbs_down",
"created_at": "2024-01-15T10:35:00Z"
}
}
message.feedback_positive
Triggered when a user provides positive feedback on a message.
Agent Events
agent.tool_executed
Triggered when an AI action is successfully executed.
{
"id": "evt_agent001",
"type": "agent.tool_executed",
"created_at": "2024-01-15T10:32:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"tool_name": "collect_contact_info",
"conversation_id": "conv_ghi789",
"execution_time_ms": 245,
"success": true
}
}
agent.tool_failed
Triggered when an AI action fails.
{
"id": "evt_agent002",
"type": "agent.tool_failed",
"created_at": "2024-01-15T10:33:00Z",
"organization_id": "org_xyz789",
"chatbot_id": "chatbot_abc123",
"data": {
"tool_name": "schedule_meeting",
"conversation_id": "conv_ghi789",
"error": "Calendar API unavailable",
"success": false
}
}
Usage Events
usage.threshold_reached
Triggered when usage reaches configured threshold (e.g., 80% of quota).
{
"id": "evt_usage001",
"type": "usage.threshold_reached",
"created_at": "2024-01-15T00:00:00Z",
"organization_id": "org_xyz789",
"data": {
"resource": "messages",
"current_usage": 8000,
"limit": 10000,
"percentage": 80,
"period_end": "2024-01-31T23:59:59Z"
}
}
Event Type Summary
| Category | Events |
|---|---|
| Lead | lead.created, lead.updated, lead.qualified, lead.converted, lead.score_changed |
| Conversation | conversation.started, conversation.ended, conversation.message_received, conversation.sentiment_negative, conversation.sentiment_positive |
| Ticket | ticket.created, ticket.updated, ticket.resolved |
| Meeting | meeting.scheduled, meeting.cancelled, meeting.completed, meeting.reminder |
| Message | message.feedback_negative, message.feedback_positive |
| Agent | agent.tool_executed, agent.tool_failed |
| Usage | usage.threshold_reached |
Next Steps
- Webhooks Overview - Delivery and retry behavior
- Webhook Security - Verify signatures
- Webhooks API - Manage subscriptions