Read your webhook delivery log (for non-engineers)

Last reviewed

For: An ops lead trying to answer “why didn’t our other system update?” without being an engineer.

You’ll accomplish: finding the delivery log, reading what delivered/failed/dead-letter mean, interpreting the common error codes in plain language, and knowing when to fix it yourself versus forward to an engineer.

A webhook is a message PropSocket sends to one of your other systems the moment something changes — “this lease was updated,” “these residents are new.” Instead of that system asking PropSocket over and over, PropSocket pushes the news to it. The delivery log is the record of every one of those messages: who it went to, when, and whether it arrived.

You don’t need to write code to read the log or take the first troubleshooting steps.


1. Find the delivery log

Open Webhooks from the left sidebar — it’s a top-level item, not buried inside an integration. The list shows every webhook you have, one row each, with the destination URL and which integration it belongs to. Click a webhook to open it.

On the webhook’s page, the destination URL is shown at the top, and the delivery history is the Activity Log card lower down. Each row in that log is one delivery attempt.

Each row shows roughly:

The destination URL (the address of the system meant to receive the message) isn’t repeated on every row — it’s shown once at the top of the webhook’s page. Click any row to open the full delivery detail.

2. What the three statuses mean

3. Reading the status code in plain language

The status code is what your receiving system told PropSocket. Two families cover almost everything:

In short: 401/403 = “your system said no”, 5xx or timeout = “your system was down or unreachable.” Neither means PropSocket lost the data — your records are still safe in PropSocket regardless of webhook delivery.

4. What you can do yourself, and when to forward to an engineer

First, know what PropSocket does automatically: every failed delivery is retried on a back-off schedule (seconds, then minutes, then hours). So if a failure was caused by a brief blip and your receiving system is healthy again, the retry usually turns it into “delivered” on its own — you don’t have to do anything.

Check the endpoint yourself with the Test Webhook button. At the top of the webhook’s page there’s a Test Webhook button. It sends a small test message to the destination URL and records the result in the Activity Log, so you can confirm the receiving system is reachable and accepting messages right now.

Important: Test Webhook sends a fresh test message — it does not re-send the specific update that was missed. There’s no “replay this exact delivery” button today. Use it to check whether the endpoint is healthy, not to recover a missed message. Your records are always safe in PropSocket regardless, and the next change to a record will trigger a new delivery.

So a reasonable self-service flow is: a delivery failed or dead-lettered with a 5xx or timeout → run Test Webhook → if it now shows delivered, the endpoint has recovered and future updates will flow again.

Forward to an engineer when:

When you forward to an engineer, point them at the PropSocket webhooks documentation — it covers signature verification and the exact headers, which is usually what a 401/403 comes down to.

5. Share a delivery record with support without leaking secrets

A delivery record can contain real data — resident details, lease terms — and sometimes a signature or secret. When you share one with support or an engineer, share only what identifies the delivery, never the contents:

Safe to share:

Do NOT share:

Support can find the exact delivery from the date, status code, and integration ID alone — no payload needed.


If this didn’t work

If deliveries keep dead-lettering after a Test Webhook still fails and an engineer has checked the receiving system, escalate.

Open a support ticket by emailing support@propsocket.io and include:

Please do not paste the webhook payload, signing secret, or any header values into the ticket. The integration ID, status code, and time window are all we need.

Didn't solve it?Talk to us — a real engineer replies within one business day. Or browse therest of the help center.