Skip to main content
Webhooks (Settings → Webhooks) are outbound HTTP callbacks Zippendo sends to your URL when a shipment, order, or tracking event happens. They are not carrier tracking webhooks (carrier → Zippendo). They are not Shopify/WooCommerce store webhooks Zippendo registers for you. They are not Slack / Klaviyo integrations. Walkthrough of Settings: Settings, team, and brands. Payload contract: Webhooks quickstart. Failures: Webhook delivery failures.
Outbound webhooks are available on Growth and above. On a lower plan the tab still opens but shows Unlock Webhooks. Nordlys on this page is Pro, so the table is unlocked.

Where it lives

Settings is not a sidebar item. Open the organization switcher, click Manage, then the Webhooks tab. The page title is Settings. The header action is Add Webhook. It is hidden while the plan lock is on.

Filters

Open Filters in the header (common.filters). Add filters applies; Clear all filters resets. Fields:

Webhooks list

The card title is Webhooks.
Settings Webhooks tab with a Fulfilment notifier endpoint and Add Webhook in the headerSettings Webhooks tab with a Fulfilment notifier endpoint and Add Webhook in the header

Webhooks list — name, URL, events, Active, and row actions

Empty state

Columns

Clicking the row opens Edit Webhook.

Create Webhook

The dialog title is Create Webhook. Subtitle: Configure a new webhook endpoint to receive event notifications. Modal id: create-webhook-modal.
Create Webhook dialog with Name, Endpoint URL, Select All, and Shipments event checkboxesCreate Webhook dialog with Name, Endpoint URL, Select All, and Shipments event checkboxes

Create Webhook — Name, Endpoint URL, and event groups

Fields

Buttons: Cancel, Create Webhook. Select All / Deselect All sits on the events header. The label switches to Deselect All when all nine events are on. There is no signing-secret field on create. Zippendo generates the secret. The dashboard create flow does not display it afterwards. Retrieve it with Get webhook in the API reference (GET /orgs/{orgId}/webhooks/{webhookId} — the list endpoint omits secret). Success toast: Webhook created successfully. Failure: Failed to create webhook (or This feature is not available on your current plan. / You have reached your plan limit for this resource.).

Every event type

These are the only events in the dialog — nine checkboxes. Do not subscribe to names that are not in this list. Tracking Updated is in the Tracking group at the bottom of the same dialog (nothing is below it).
Create Webhook dialog with all nine event checkboxes selected, including Tracking UpdatedCreate Webhook dialog with all nine event checkboxes selected, including Tracking Updated

Select All turns on every event, including Tracking Updated

With every event on but Name and Endpoint URL empty, Create Webhook stays disabled.

Shipments

Orders

Tracking

webhook.test is not in this list. Send Test sends that ping; you cannot subscribe to it as an event checkbox.
1

Open the dialog

Click Add Webhook, or Create Your First Webhook when the table is empty.
2

Name and URL

Fill Name * and Endpoint URL * (HTTPS).
3

Choose events

Check the events you want, including Tracking Updated if your system needs scans. Or click Select All.
4

Create Webhook

Click Create Webhook. Copy the signing secret from Get webhook in the API before you verify deliveries.

Edit Webhook

Row click or Edit opens Edit Webhook. Subtitle: Update webhook configuration. Modal id: edit-webhook-modal. Submit: Save Changes.
Edit Webhook dialog with Name, Endpoint URL, Active checkbox, and event groupsEdit Webhook dialog with Name, Endpoint URL, Active checkbox, and event groups

Edit Webhook — same fields as create, plus Active

Save Changes stays disabled while name or URL is empty or no event is selected. Toast: Webhook updated successfully / Failed to update webhook.

Delivery Log

Delivery Log opens Delivery Log. Subtitle: Recent webhook delivery attempts. Section title: Recent deliveries. Modal id: webhook-deliveries-modal. Close with Close.
Delivery Log table with event names, HTTP status, duration, attempt, and timeDelivery Log table with event names, HTTP status, duration, attempt, and time

Delivery Log — event, status, duration, attempt, error, time

Empty: No deliveries yet / Webhook deliveries will appear here once events are triggered. Deliveries time out after 10 seconds. Failed or timed-out posts retry up to 5 times with exponential backoff (5s base). Each attempt is a row.

Send Test

Send Test enqueues a ping. Toast: Test event sent / Failed to send test event. The body is { "event": "webhook.test", "timestamp", "data": { "webhookId", "message": "This is a test event from Zippendo" } }. Check Delivery Log after it runs.

Delete Webhook

Delete opens Delete Webhook. Subtitle: You are about to delete Fulfilment notifier. Description: Are you sure you want to delete the webhook “Fulfilment notifier”? This action cannot be undone and all delivery logs will be removed. Label: Type FULFILMENT NOTIFIER to confirm. Placeholder is the same uppercase string. Delete stays disabled until the field matches. Tooltip: Type “FULFILMENT NOTIFIER” to confirm. Buttons: Cancel, Delete.
Delete Webhook confirmation with a type-to-confirm fieldDelete Webhook confirmation with a type-to-confirm field

Delete Webhook — type the name in uppercase to confirm

Toast: Webhook deleted successfully / Failed to delete webhook.

Signing

Every live delivery is POST JSON { "event", "timestamp", "brandId", "data" } with: Verify before you parse JSON. Example: Webhooks quickstart. Custom-channel inbound signing uses the same HMAC recipe with X-Zippendo-SignatureCustom channel API.
Respond 2xx quickly and process asynchronously. Use HTTPS. Inactive endpoints are skipped.

Plan lock

On a plan without webhooks: Unlock WebhooksOutbound webhooks are available on the Growth plan and above. Upgrade to send real-time shipment and order events to your endpoints. Actions: Upgrade to unlock, See docs.