Outgoing webhooks (master guide)

Fire an HMAC-signed HTTP POST to your own endpoints on key events. Included on every plan.

Events

  • reply.classified — a reply was classified
  • lead.stage_changed — a lead moved pipeline stage
  • email.sent — an approved email was sent
  • lead.untracked — a reply needs review (Untracked)

Set up

  1. Settings → Outgoing webhooks → Add a webhook.
  2. Paste your endpoint URL and select events.
  3. Copy the signing secret — it is shown once.
  4. Use Send test to fire a signed sample delivery, then check the delivery log.

Payload & signature

The body is JSON: { "event": string, "data": { ... } }. Each request carries:
  • Runline-Event: the event name
  • Runline-Signature: HMAC-SHA256 of the raw body, keyed by your secret
Verify by recomputing the HMAC over the raw request body with your secret and comparing in constant time.

Delivery & retries

Deliveries are retried on failure (1m → 10m → 1h → 6h) and dead-lettered after 5 attempts. The delivery log shows status, attempts and next retry for each event.

Troubleshooting

  • Signature mismatch → sign the raw body bytes, not a re-serialised object.
  • Deliveries failing → your endpoint must return a 2xx; check the log for the status.

Disconnect

Delete the webhook in Settings → Outgoing webhooks.