Webhooks: Testing, Delivery Logs, and Payloads
Webhooks: Testing, Delivery Logs, and Payloads
Purpose
This article is for anyone building or operating a Webhook or OutboundSync integration: operators, RevOps, and developers. It explains what SuperSend sends, how to test safely, and how to use Webhook delivery logs to inspect real traffic, copy JSON, filter failures, and retry deliveries.
For reply vs bounce vs autoresponse and CRM noise, see Webhooks: Replies, Bounces, and CRM Automation.
Prerequisites
- A Webhook or OutboundSync integration with a URL saved
- Team selected in Admin → Integrations when working at org level (campaign integrations are team-scoped)
- Permission to view integrations and delivery logs for that team
What to expect from live webhooks
- SuperSend sends an HTTP POST to your URL with a JSON body.
- The body always includes a top-level
typestring (for examplereply,open,click,bounce,contact_added). Use this as the primary branch in Zapier, Make, or custom code. - If you enable multiple event types on the same integration, every enabled type is POSTed to the same URL. Your receiver must not assume every request is a reply.
- Failed deliveries are retried automatically up to a maximum number of attempts. Statuses Retrying and Pending mean the system is still working toward a result or waiting for the next attempt.
- Optional headers (for example event hints) may be present; the JSON
typefield remains the reliable source for automation logic. For signing and header details, use the developer documentation at docs.supersend.io (Webhooks).
Test webhooks from the app (per event)
You can fire a test POST before real traffic, without waiting for a live event.
- Open the integration editor: Admin → Integrations → Integration Library → choose Webhook (or OutboundSync) → Manage accounts → add or edit an account; or use Campaign Settings → Integrations and open the same panel for that campaign.
- Ensure a webhook URL is set.
- In the event list, each subscribable event that supports testing shows Test → next to its label. Click Test → for the event you want (for example Reply or Open).
- Choose Sample data or Real contact data:
- Sample data — Generic payload shape. Use this to confirm your URL is reachable and your stack accepts POSTs.
- Real contact data — Pick a campaign and contact so fields like
contact.emailandcontact.custommatch production-like data (useful for Zapier/Make field mapping).
- Send the test. Every test request includes
"test": truein the JSON body so you can ignore or branch on it in your endpoint.
After sending, open delivery logs (below) and confirm a row appears with the expected event and status.
Where to open Webhook delivery logs
You can open logs from three places; all use the same delivery log UI.
1. Org Admin — full account history
- Admin → Integrations → Integration Library.
- Select the team from the dropdown.
- Open Webhook or OutboundSync → Manage accounts.
- For the account you care about, click Details.
- Open the Delivery Logs tab.
This view shows deliveries for that integration account across all campaigns that use it (no campaign filter).
2. Org Admin — from the account list
From Manage accounts, each Webhook/OutboundSync row may expose Test / Details; use Details → Delivery Logs as above.
3. Campaign Settings — this campaign only (Webhook)
- Campaign Settings → Integrations.
- Find Webhook where at least one account is active.
- Click View logs.
The modal lists deliveries scoped to the current campaign (useful when one webhook URL is shared across many campaigns).
OutboundSync uses the same Delivery Logs tab in Admin when you open the account Details; the campaign integrations page does not show a separate View logs shortcut for OutboundSync today.
Using the delivery log UI
Summary
At the top, you may see total deliveries, a success rate snapshot for the current page, and average latency for rows that reported timing. Use these as a quick health check, not as a substitute for your own monitoring.
Search and filters
- Search — Matches contact email (partial search). Use this to find a specific prospect or test contact.
- Filters — Open Filters to restrict by Status (Delivered, Failed, Retrying, Pending) and Event type (Reply, Open, Click, Bounce, etc.).
- Clear all — Removes search and filter selections.
- Refresh — Reloads the current page from the server.
Table columns
Column | Meaning |
|---|---|
Time | When the delivery record was created (queue time), not necessarily when your server finished. |
Event | Webhook event type for this POST. |
Contact | Associated contact email when the event had a contact; some events may show no contact. |
Status | Delivered (success), Failed (exhausted or terminal failure), Retrying / Pending (in progress or scheduled). |
Response | HTTP status code returned by your server (when available) and round-trip latency. |
Actions | Retry (when failed or retrying), and row expand/collapse. |
Pagination
Deliveries load in pages (50 per page). Use Previous / Next at the bottom to move through history.
Expand a row: attempts, errors, payload
Click a row to expand it. You will see:
- Attempts — Current count vs max attempts for automatic delivery.
- HTTP status and latency for the latest attempt.
- Last attempt and, if applicable, Next retry time.
- Campaign name when the event was tied to a campaign.
- Error message when SuperSend captured a failure reason (timeouts, connection errors, non-2xx responses, etc.).
If a stored payload is available for that delivery, an action View Payload appears.
View Payload and Copy JSON
- Expand the delivery row.
- Click View Payload.
- A modal shows the exact JSON body SuperSend attempted to send (pretty-printed).
- Use Copy JSON to paste into your IDE, a JSON formatter, or a ticket for support.
Note: Very old deliveries may have been created before payload retention was available; in those cases View Payload may not appear. Use Test → for that event type or trigger a new live event, then inspect the new row.
Manual Retry
For rows in Failed or Retrying, use Retry to queue another delivery attempt. This resets the attempt counter for that record in the UI and is useful after you fix your endpoint or firewall rules.
Export CSV
Export CSV queues a background export of webhook delivery data. When it completes, you receive email notification; you can also open Admin → Exports (or your org’s exports area) to download the file. Use exports for audits, spreadsheets, or sharing with someone who does not have app access.
If you use the V2 API or MCP
Dashboard delivery logs apply to integrations created and used inside the product. If you manage webhooks with the V2 API or automation tools, refer to docs.supersend.io for payload schemas, signing, and listing deliveries via API. The JSON shape and type field follow the same conceptual model as campaign webhooks.
Troubleshooting
Issue | What to do |
|---|---|
No rows in delivery logs | Confirm the integration is enabled, the event toggles you expect are on, and real activity (or Test →) has occurred. Check you are on the correct team and, in campaign view, the correct campaign. |
All failures or 4xx/5xx | Expand a row, read Error, open View Payload, and replay the request against a local tunnel (for example ngrok) or logging middleware. Fix the endpoint, then use Retry. |
Wrong event type in Zapier/Make | You enabled multiple events on one URL. Filter on |
Custom fields missing in payload | Use Real contact data in Test →, or View Payload on a live delivery, and confirm keys under |
Cannot find View Payload | The delivery may predate stored payloads; send a new Test → or wait for a new event and inspect that row. |
Related articles
- Webhooks: Replies, Bounces, and CRM Automation
- Integrations Overview
- Zapier and Make Setup
- SuperSend → Make → Salesforce Setup
Updated on: 02/04/2026
Thank you!