Webhook Replay
Description of the Webhook Replay feature
Webhook Replay
The Webhook Replay feature allows operators to re-deliver any previously sent webhook event directly from the webhook detail screen. This enables recovery from failed deliveries or re-processing of historical events without requiring support intervention.
Replay sends the exact original payload to the configured endpoint with two additional fields that identify the delivery as a replay.
Overview
Webhook Replay allows operators to:
re-send failed webhook deliveries
re-send successful deliveries if reprocessing is required
replay historical events within the retention window
verify endpoint behaviour after fixes
recover from temporary endpoint outages
Replay does not modify the original delivery. Each replay creates a new event history entry.
Event History Enhancements
The Event History panel includes the following updates:
HTTP Status Badge
Each row displays a colored badge showing the HTTP response:
Green — successful delivery (2xx)
Red — failed delivery (non-2xx)
Red (0) — connection error
This makes failed deliveries immediately visible.
Replay Button
Each event row includes a Replay button.
Clicking Replay:
re-sends the original payload
sends to the same endpoint URL
creates a new event history entry
does not modify the original row
Replay is available for both successful and failed deliveries.
Replay Row Indicator
Replay deliveries are marked with a Replay indicator in the Source column.
This distinguishes replayed events from original deliveries.
Retention Window
The Event History panel displays the last 30 days of webhook deliveries.
This window defines the available replay period.
How Replay Works
When replaying a webhook:
the original payload is re-sent unchanged
two additional fields are appended to the payload
the original
eventNotificationUniqueIdis preservedsignature header is regenerated
endpoint URL remains unchanged
Replay Payload Fields
Replay deliveries include two additional fields at the root of the payload:
_isReplayPayload
boolean
Always true for replayed payloads
replayOfEventLogId
integer
ID of the event log being replayed
Example:
These fields are only present on replayed deliveries.
Idempotency Behavior
Replay preserves the original:
This allows consumer systems to safely de-duplicate replayed events.
Recommended approach:
store processed
eventNotificationUniqueIdignore duplicates
treat replay as safe re-delivery
Replay assumes webhook consumers are idempotent.
Signature Handling
Replay deliveries:
regenerate
Zaui-Signatureuse same signing algorithm
use same secret phrase
remain verifiable without changes
No updates are required for signature validation.
Event History After Replay
When replaying an event:
a new event history row is created
the original row is unchanged
replay row is marked as Replay
rows are linked internally
replay chain is flat
All replays reference the original event.

Replay Cooldown
To prevent accidental duplicates:
each row has a 30 second cooldown
replaying same row within cooldown is blocked
different rows can be replayed immediately
cooldown is independent per row
Example error:
Slack Notifications
Replay deliveries do not trigger Slack notifications.
Only:
original deliveries
test payload sends
trigger Slack alerts.
Replaying a Webhook
To replay a webhook delivery:
Navigate to Notifications → Webhooks
Open the webhook
Scroll to Event History
Locate the delivery row
Click Replay
A new replay row appears
Notes:
original row remains unchanged
replay creates new row
payload is identical except replay fields
cooldown applies per row
Developer Integration Notes
Replay payloads include:
_isReplayPayload
boolean
replay only
Indicates replay delivery
replayOfEventLogId
integer
replay only
ID of replayed event
eventNotificationUniqueId
string
all
preserved for idempotency
Zaui-Signature
header
all
regenerated signature
Consumers should:
treat replay as duplicate safe
deduplicate using eventNotificationUniqueId
optionally branch logic on
_isReplayPayload
Best Practices
Webhook consumers should:
implement idempotency
ignore duplicate event IDs
safely handle replay deliveries
not rely on delivery order
allow re-processing of events
Replay is designed to be safe for all consumers.
Does this modify existing payloads?
No.
Replay:
does not change original payload structure
does not change field values
only appends replay fields
preserves eventNotificationUniqueId
Last updated