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
  • Hey Carlos — yeah this is a common pain point. Short answer: the dashboard UI only allows one event per subscription, but you can work around it.

    Options:

    1. Create multiple subscriptions pointing to the same endpoint

    This is what most people do. Just add three separate webhook subscriptions in Settings > Integrations > Webhooks, all pointing to your-app.com/.../fieldpulse. Your endpoint inspects the event field in the payload and routes accordingly. There's no limit on how many subscriptions can point to one URL.

    2. Use the API to create subscriptions programmatically

    If you're provisioning this for multiple environments:

    curl -X POST api.fieldpulse.io/.../subscriptions \
      -H "Authorization: Bearer {token}" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "">your-app.com/.../fieldpulse",
        "events": ["work_order.created", "work_order.status_changed", "invoice.paid"],
        "secret": "whsec_..."
      }'

    Wait — actually, scratch that. The API events param only accepts a single string, not an array. I had it in my head that it took multiple but just checked the spec and nope, it's one event per subscription there too.

    So option 1 is really your best bet. The overhead is minimal — you're just managing three rows in the UI instead of one. Your endpoint code stays clean since the event type is always in the payload.

    One thing worth noting: if you're doing this at scale (like 50+ event types), we do have a beta bulk subscription endpoint that's not documented yet. DM me if you're in that territory.

    See also Setting Up Webhooks for signature verification details.

Reply
  • Hey Carlos — yeah this is a common pain point. Short answer: the dashboard UI only allows one event per subscription, but you can work around it.

    Options:

    1. Create multiple subscriptions pointing to the same endpoint

    This is what most people do. Just add three separate webhook subscriptions in Settings > Integrations > Webhooks, all pointing to your-app.com/.../fieldpulse. Your endpoint inspects the event field in the payload and routes accordingly. There's no limit on how many subscriptions can point to one URL.

    2. Use the API to create subscriptions programmatically

    If you're provisioning this for multiple environments:

    curl -X POST api.fieldpulse.io/.../subscriptions \
      -H "Authorization: Bearer {token}" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "">your-app.com/.../fieldpulse",
        "events": ["work_order.created", "work_order.status_changed", "invoice.paid"],
        "secret": "whsec_..."
      }'

    Wait — actually, scratch that. The API events param only accepts a single string, not an array. I had it in my head that it took multiple but just checked the spec and nope, it's one event per subscription there too.

    So option 1 is really your best bet. The overhead is minimal — you're just managing three rows in the UI instead of one. Your endpoint code stays clean since the event type is always in the payload.

    One thing worth noting: if you're doing this at scale (like 50+ event types), we do have a beta bulk subscription endpoint that's not documented yet. DM me if you're in that territory.

    See also Setting Up Webhooks for signature verification details.

Children
No Data