Appearance
Honeycomb
Honeycomb trigger webhooks POST JSON to Exhale. Each tenant gets a unique HTTPS URL token. Exhale scrubs the payload, upserts a Pulse (
source=honeycomb), and runs triage when the trigger status maps to TRIGGERED / ALARM / similar.
This is ingest (creates Pulses). For trace and query enrichment at triage time, see Honeycomb context.
See Sources for how Honeycomb fits with the other incoming webhooks.
On the hosted app, use the URL Connections copies. It starts with https://exhaleoncall.com/webhooks/. The customer host does not publish /v1/webhooks/....
Endpoint
After Connect in Connections → Sources → Observability & alerts → Honeycomb:
Preferred (keeps tokens out of proxy access logs):
POST https://exhaleoncall.com/webhooks/honeycombSend header X-Exhale-Webhook-Token: {token}.
Path form (also supported):
POST https://exhaleoncall.com/webhooks/honeycomb/{token}token— opaque URL segment; this token authenticates the delivery.- Response: 202 Accepted with
pulse_id,status,created, andmessage.
Unknown tokens return 404. Disabled or expired-trial tenants return 403.
Customer setup
- Sign in as admin → Connections → Sources → Honeycomb.
- Click Connect Honeycomb and copy the webhook URL.
- In Honeycomb, open a Trigger, add a Webhook recipient, and paste the
Exhale URL.
- Include a trigger id or name and a status field.
- Send test alert creates a synthetic pulse and marks the integration configured.
See Honeycomb's official guide: Send Alerts to Webhooks.
Rotate webhook token replaces the previous URL right away. Update Honeycomb after rotating.
Payload shape
| Field | Required | Notes |
|---|---|---|
id / trigger_id (or name) | Yes | Stable id for dedupe (source=honeycomb) |
status | No | TRIGGERED, OK, … |
name | No | Pulse title |
Lifecycle mapping
| Honeycomb status | Pulse status |
|---|---|
| TRIGGERED, ALARM, firing, breach | Received → triage |
| OK, CLEARED, resolved, passing | Resolved |
Example
bash
TOKEN="your-url-token"
curl -i -X POST "https://exhaleoncall.com/webhooks/honeycomb/${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"id":"hc-42","name":"Elevated p99","status":"TRIGGERED"}'Related
See Errors & authentication for structured errors, 413 size limits, Redis delivery dedupe, and token rotation.