MemorySync
Debugging / Delivery

Webhook Failures

A failing webhook is almost always the receiver. Check reachability, signature verification, and response time in that order.

In order

Check the receiver

Deliveries go to a public HTTPS URL. A local address, a self-signed certificate, or an endpoint behind a VPN cannot receive them.

curl --request POST https://your-app.example.com/hooks/memorysync \
  --header "Content-Type: application/json" \
  --data '{"ping":true}'
Contract

What a good receiver does

Responds 2xx fast
Anything else is treated as a failed delivery and will be retried.
Verifies before trusting
Reject unsigned or mis-signed requests rather than acting on them.
Handles repeats
Retries mean the same event can arrive more than once. Make handling idempotent by event id.
Tolerates new fields
Ignore unknown fields instead of failing, so added fields do not break your receiver.
Logs identifiers only
Record the event id and type, not the full payload.

The dashboard shows recent delivery attempts per endpoint. Persistent failures there almost always point at one of the three checks above.

Was this page helpful?