All documentation
Reference

Webhooks: Troubleshooting

Diagnose missing deliveries, invalid signatures, repeated retries, wrong project selection and receiver failures.

Text

Overview

Start diagnosis from the PulseGrid Recent activity log and the receiver's HTTP logs. No Recent activity entry usually means the event did not match the endpoint. A Failed or Retrying entry means PulseGrid selected the endpoint but could not obtain an HTTP 2xx response.

Setup

Event did not appear at the receiver: 1. Confirm the endpoint is Active. 2. Confirm the channel and endpoint belong to the same project. 3. Confirm Events is * or contains the exact event name. 4. Confirm the project has monthly delivery allowance remaining. 5. Confirm the receiver URL is correct. HTTP 404: The URL path does not exist on the receiving backend. HTTP 401: Check the signing secret, raw body handling, timestamp and signature calculation. HTTP 500: Inspect the receiving application's logs. PulseGrid reached it, but its code failed. Connection error or timeout: Confirm DNS, HTTPS certificate, firewall and receiver availability. Keep receiver processing below the configured timeout. Webhook.site shows only pulsegrid.test: Publish a real event from a channel in the same project as the endpoint. JSON appears inside data.text: You pasted JSON into the Channel Console's normal message textbox. Enter plain text there, or use the API/SDK to publish structured data.

Code example

Webhooks: Troubleshooting
Quick diagnostic matrix

No delivery row
  -> project/filter/status/allowance mismatch

Pending
  -> waiting for task execution

Retrying
  -> receiver failed; another attempt is scheduled

Succeeded + HTTP 200
  -> receiver accepted the event

Failed
  -> attempt allowance exhausted

Signature invalid
  -> wrong secret, changed body, or expired timestamp

Notes

The manual Send test action bypasses normal event filters so you can test endpoint connectivity directly. Do not repeatedly retry an irreversible business operation until the receiver implements delivery_id idempotency.