Webhook System - Complete Summary¶
✅ What's Implemented¶
1. Database (Applied ✓)¶
webhook_configurationstable - Store webhook settingswebhook_logstable - Track delivery attempts- Triggers for all events (contact, deal, conversation, message)
- RLS policies for security
2. Delivery¶
- Method: HTTP POST requests
- Features: HMAC signatures, error logging, batch dispatch, automatic retries
3. Configuration¶
- Settings Page: the "Webhooks" tab under Settings → Storage & Developer
- Features: Create, edit, delete, test webhooks, view delivery logs
- Help: Comprehensive on-screen guidance
4. Integration¶
- Events trigger webhooks automatically
- Hooks updated: the app, the app
📋 Available Events (17 Total)¶
| Category | Events | Description |
|---|---|---|
| Contact Events (3) | contact.created contact.updated contact.assigned |
When contacts are added, updated, or assigned |
| Deal/Lead Events (4) | deal.created deal.updated deal.stage.changed deal.assigned |
When deals are created, updated, change stages, or assigned |
| Conversation Events (3) | conversation.created conversation.assigned conversation.status.changed |
When conversations are created, assigned, or status changes |
| Message Events (5) | message.received message.sent message.delivered message.read message.failed |
When messages are received, sent, delivered, read, or fail |
| Broadcast Events (1) | broadcast.response | When a contact replies to a broadcast/campaign message |
| Meeting Events (1) | zoom.recording.completed | When a Zoom cloud recording finishes processing |
🔧 HTTP Method: POST¶
⚠️ Important: All webhooks use HTTP POST (not GET)
Your endpoint must: 1. Accept POST requests 2. Parse JSON body 3. Respond within 5 seconds
📝 Request Format¶
Every webhook POST includes:
Headers:
- Content-Type: application/json
- X-Webhook-Event: event.type
- X-Webhook-Timestamp: ISO timestamp
- X-Webhook-Signature: HMAC-SHA256 (if secret configured)
Body (JSON):
{
"event": "contact.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "uuid",
"first_name": "John",
"last_name": "Doe",
"organization_id": "org-uuid",...
}
}
🚀 How to Use¶
Step 1: Go to Webhook Settings¶
Settings → Webhooks tab
Step 2: Get Test URL¶
Visit https://webhook.site and copy your unique URL
Step 3: Create Webhook¶
- Click "Create Webhook"
- Enter:
- Name: "My Integration"
- URL: Your webhook.site URL
- Events: Select events to subscribe to
- Secret: (Optional) HMAC signature
- Click Create
Step 4: Test¶
Click "Test" button → Check webhook.site for delivery
📚 Documentation Files¶
- WEBHOOK_SYSTEM.md - Complete documentation
- TEST_WEBHOOK_SYSTEM.md - Step-by-step testing guide
- QUICK_START_WEBHOOKS.md - Quick reference
✨ Features¶
- ✅ Real-time event notifications
- ✅ HMAC signature verification
- ✅ Delivery logging
- ✅ Test functionality
- ✅ Active/inactive toggle
- ✅ Event filtering
- ✅ Comprehensive help text
- ✅ View delivery logs
🔒 Security¶
- RLS policies protect data
- Optional HMAC signatures
- HTTPS only
- Organization-scoped
📊 Monitoring¶
- View all delivery attempts in logs
- See response codes and errors
- Track success/failure rates
- Debug delivery issues
Everything is ready to use! 🎉
Go to: Settings → Webhooks to get started.