You will know which of the usual causes applies.
Before you start
You need the Webhooks View permission.
Steps
- Open Webhooks and press the log icon on the endpoint's row.
- Look for the event. Each attempt shows the attempt number (#1 to #3), the status (the HTTP code your receiver answered, or err if there was no response) and the time.
- Read the result:
- A 4xx or 5xx code: your receiver answered with an error. Check its own logs. A delivery is tried three times in about 6 minutes, then marked failed and not retried again.
- err: no response in 10 seconds, or the connection failed.
- A 2xx code: it was delivered; check what your receiver did with it.
- No rows at all: go to step 4.
- If the log is empty:
- The URL may be blocked as internal (an IP address,
localhostor a name pointing to a private network). That is checked at delivery time, and no row is written. Use a publichttpsaddress. - The endpoint may not be subscribed to that event, or the event name may be misspelled; an empty list means all events.
- The plan may no longer include webhooks, which leaves the queue stalled silently.
- The event may be one that is never sent (internal ones).
- The URL may be blocked as internal (an IP address,
- Wait: deliveries are picked up about every 30 seconds.
What you will see
Usually either an error code from your receiver, or an empty log pointing at the address or the plan.
If something goes wrong
- The error text is stored but not shown in the log.
- There is no redeliver button. Once an event is failed, trigger it again at the source, or fix the receiver and wait for the next event.
- There is no test button.