Webhooks
Real-time webhooks: send call.start, call.end, transfer, and custom events to your endpoints with signed payloads.
Webhooks let you connect BHOMY to any external system by sending real-time HTTP notifications when events occur.
What Are Webhooks?
A webhook is an HTTP POST request sent to a URL you specify whenever a specific event happens in BHOMY. This lets you build custom integrations with any software that can receive HTTP requests.
Setting Up Webhooks
- Go to Workflows → "Webhooks".
- Click "Add Webhook".
- Enter your endpoint URL.
- Select which events to subscribe to.
- Click "Save".
Available Events
| Event | Description |
|---|---|
call.started | Fired when an inbound or outbound call begins. |
call.ended | Fired when a call ends, includes transcript and duration. |
call.transferred | Fired when a call is transferred to a human agent. |
appointment.booked | Fired when the agent books an appointment during a call. |
campaign.completed | Fired when an outbound campaign finishes all calls. |
Payload Format
Webhooks send JSON payloads. Example for call.ended:
{
"event": "call.ended",
"timestamp": "2026-03-02T14:30:00Z",
"data": {
"call_id": "call_abc123",
"agent_id": "agent_xyz789",
"direction": "inbound",
"caller": "+49157...",
"duration_seconds": 180,
"status": "completed",
"transcript_url": "https://api.bhomy.ai/v1/calls/call_abc123/transcript"
}
}Authentication
Every webhook request includes an X-BHOMY-Signature header containing an HMAC-SHA256 signature. Verify this signature using your webhook secret to ensure requests are genuinely from BHOMY.
Retry Policy
If your endpoint returns a non-2xx status code, BHOMY retries up to 3 times with exponential backoff (1 min, 5 min, 30 min). After 3 failed attempts, the event is logged and skipped.
Testing Webhooks
Use the "Send Test" button to send a sample payload to your endpoint. This helps you verify your integration before going live.
Feedback
Was this article helpful?