Webhook Not Firing
Published February 27, 2026 · Last updated March 5, 2026 · 3 min read
Your webhook subscription is set up but tasks aren't running when events come in. Here's how to find the problem.
Webhook URL is incorrect
What you see: The external service reports delivery failures, or events never appear in Obvious.
What's happening: The URL configured in the provider doesn't match the one Obvious generated.
How to fix it:
- Ask the agent to list your webhook subscriptions — each includes its URL.
- Compare that URL character-for-character with what's in the provider's dashboard.
- If the URL changed after a secret rotation, copy the new one and update the provider.
Event types don't match
What you see: The provider confirms successful delivery, but no task runs.
What's happening: The event type the provider sends (e.g., updated) isn't in the subscription's or task trigger's events list.
How to fix it:
- Check which event types your subscription listens for.
- Verify the task's webhook trigger includes the same types.
- Add the missing type, or use
["*"]to match all events.
Payload format is invalid
What you see: The provider shows successful sends, but Obvious returns 400 or invalid_json.
What's happening: Obvious requires JSON with Content-Type: application/json. Form-encoded data, XML, or malformed JSON gets rejected.
How to fix it:
- Check the provider's webhook settings for a content type option. Select JSON.
- If the provider doesn't support JSON, use a middleware layer to convert the payload before forwarding to Obvious.
Signature verification fails
What you see: The provider reports 404 on every delivery.
What's happening: The signing secret or signature header name in Obvious doesn't match what the provider sends.
How to fix it:
- Confirm the signing secret in Obvious matches the provider's exactly — no extra whitespace.
- Verify the signature header name (e.g.,
x-hub-signature-256for GitHub,x-pylon-signaturefor Pylon). - If the secret was rotated on the provider side, update the subscription with the new
webhookSecret.
Subscription is paused
What you see: Everything looks correct, but nothing fires.
What's happening: Paused subscriptions accept deliveries but don't dispatch events for task matching.
How to fix it:
- Check the subscription status.
- Update it to
activeto resume.
Still stuck?
Ask the agent to list your webhook subscriptions and share the provider's delivery logs — the HTTP status code Obvious returned narrows the cause fast.
Next steps
- Webhooks (UI Setup) — create and manage webhook subscriptions.
- Tasks & Schedules — configure tasks that respond to webhook events.
- Integration Connection Failed — fix issues with the underlying service connection.