Subscribe to multiple webhook events with single endpoint

Need to route multiple webhook events to one endpoint. Current setup has separate endpoints per event type which is unmaintainable.

Looking at the dashboard I can only add one event per webhook subscription. Is there a way to subscribe to multiple events (work_order.created, work_order.status_changed, invoice.paid) with a single URL?

Payload structure below if relevant:

{
  "event": "work_order.created",
  "data": { ... }
}

Prefer not to manage 15 separate endpoints.

Parents
  • +1 to Eli's approach — that's exactly what we do. One endpoint, multiple subscriptions.

    Heads up though: if you're using the signature verification, make sure you're storing the secret per subscription, not per endpoint. Each webhook subscription gets its own secret even if the URL is the same. Tripped me up when I was rotating credentials and invalidated the wrong one.

    Also worth noting that delivery order isn't guaranteed across event types. If you care about sequencing (e.g., work_order.created always arriving before work_order.status_changed), you'll want to handle that in your app logic — don't rely on arrival time.

Reply
  • +1 to Eli's approach — that's exactly what we do. One endpoint, multiple subscriptions.

    Heads up though: if you're using the signature verification, make sure you're storing the secret per subscription, not per endpoint. Each webhook subscription gets its own secret even if the URL is the same. Tripped me up when I was rotating credentials and invalidated the wrong one.

    Also worth noting that delivery order isn't guaranteed across event types. If you care about sequencing (e.g., work_order.created always arriving before work_order.status_changed), you'll want to handle that in your app logic — don't rely on arrival time.

Children