Webhooks
Build custom integrations with chat and call webhooks
Overview
Webhooks let you build custom integrations by receiving real-time events from Happ. When something happens (new message, call ended, etc.), Happ sends an HTTP POST request to your server with the event data.
For the full API reference, see api.happ.tools/reference.
Webhook Types
Chat Webhooks
Receive events when messages arrive in conversations.
Setup:
- Go to Integrations > Add Integration > Chat Webhook
- Enter your Webhook URL — the HTTPS endpoint that receives events
- Set a Webhook Secret for request verification
- Activate the integration
Events sent:
- New message received from customer
- Message sent by assistant
- Conversation started
- AI control toggled
Call Webhooks
Receive events when phone calls start or end.
Setup:
- Go to Integrations > Add Integration > Call Webhook
- Enter your Webhook URL
- Set a Webhook Secret
- Activate the integration
Events sent:
- Call started
- Call ended (with duration and metadata)
- Call recording available
Security
Signature Verification
Each webhook request includes an HMAC-SHA256 signature generated using your webhook secret. Verify this signature on your server to ensure requests are genuinely from Happ.
Verification steps:
- Extract the signature from the request headers
- Compute HMAC-SHA256 of the raw request body using your webhook secret
- Compare the computed signature with the received one
- Only process the request if signatures match
This is the same mechanism used by assistant tools — see Tools > Webhook Security for implementation details.
Best Practices
- Always verify webhook signatures
- Use HTTPS endpoints only
- Respond with HTTP 200 quickly (process asynchronously if needed)
- Handle duplicate deliveries gracefully (idempotent processing)
- Monitor webhook failures and set up alerting
Common Use Cases
Lead Notification
Send new conversation notifications to Slack or email:
Customer message → Happ webhook → Your server → Slack API / Email serviceData Enrichment
Look up customer info when a conversation starts:
New conversation → Happ webhook → Your server → CRM lookup → Update contextAnalytics Tracking
Log conversation events to your analytics platform:
Message events → Happ webhook → Your server → Analytics (Mixpanel, Amplitude, etc.)Custom Workflows
Trigger business processes based on conversation events:
Keywords detected → Happ webhook → Your server → Order processing, escalation, etc.Webhook vs Tool Webhooks
| Feature | Integration Webhooks | Tool Webhooks |
|---|---|---|
| Trigger | Automatic on events | Called by AI during conversation |
| Direction | Happ → Your server | Happ → Your server → Response → AI |
| Response | HTTP 200 acknowledgment | JSON data used by the assistant |
| Use case | Monitoring, logging, alerting | Dynamic data lookups, actions |
For tool webhooks that the AI assistant calls during conversations, see Tools.