Webhook not firing on job completion — only fires on creation

Hey folks — running into something that feels like a configuration issue but I can't pin it down.

I've got a webhook endpoint set up and it's firing perfectly on work_order.created. I can see the payloads hitting my server, signature verification working, all good there.

But I'm also subscribed to work_order.status_changed and I'm not seeing anything when a tech marks a job complete in the mobile app. I've waited a few minutes, checked logs, no delivery attempts at all.

What I've confirmed so far:

  • Webhook shows as "Active" in the dashboard
  • Event subscription includes both work_order.created and work_order.status_changed
  • Tested status changes from both mobile and web — same result
  • No failed deliveries showing in the webhook logs (just... nothing)

Is there something about how status changes get batched or delayed? Or maybe work_order.status_changed doesn't fire for the "Completed" status specifically? Worth noting I'm on the standard plan if that matters for event coverage.

Anybody else seen this? YMMV but figured I'd check before opening a ticket.

Parents
  • That's it — the API response showed only work_order.created even though the checkbox was ticked for both. Deleted and recreated, now seeing both event types in the response.

    Just triggered a test completion and the webhook fired immediately. Thanks Leo, heads up on the UI/API drift.

  • Yeah this one tripped me up too when I first looked at it — the webhook subscription UI has a known sync issue where the checkbox state and actual API state can drift, especially if the subscription was created before the status_changed event type was added to your plan. It's on our backlog to fix.

    For anyone else hitting this, here's a quick curl to verify what you're actually subscribed to:

    curl -X GET api.fieldpulse.io/.../{subscription_id} \
      -H "Authorization: Bearer {token}"

    Check the event_types array in the response, not the dashboard checkboxes. If you're missing events, DELETE + POST is the reliable fix.

    Also worth noting: work_order.status_changed fires on any status change, not just completion. If you only care about completed jobs, filter on new_status == 'completed' in your handler. We've seen people burn through retries filtering at the subscription level, which isn't supported.

    Related troubleshooting: Webhook Not Firing on Job Completion

Reply
  • Yeah this one tripped me up too when I first looked at it — the webhook subscription UI has a known sync issue where the checkbox state and actual API state can drift, especially if the subscription was created before the status_changed event type was added to your plan. It's on our backlog to fix.

    For anyone else hitting this, here's a quick curl to verify what you're actually subscribed to:

    curl -X GET api.fieldpulse.io/.../{subscription_id} \
      -H "Authorization: Bearer {token}"

    Check the event_types array in the response, not the dashboard checkboxes. If you're missing events, DELETE + POST is the reliable fix.

    Also worth noting: work_order.status_changed fires on any status change, not just completion. If you only care about completed jobs, filter on new_status == 'completed' in your handler. We've seen people burn through retries filtering at the subscription level, which isn't supported.

    Related troubleshooting: Webhook Not Firing on Job Completion

Children
No Data