Before you start
- An administrator account.
- An HTTPS endpoint you control that can accept POST requests. Your organization's webhook target policy may restrict which hosts are allowed; check it under Admin before you start.
- A place to store the signing secret, such as your secret manager.
Steps
Open Webhooks
Admin · Webhooks
Open Admin, then Webhooks, and choose the action to add a new webhook.
Name it and set the endpoint
Enter a Display Name such as 'Ticketing receiver' and the Endpoint URL of your service. Leave the signing secret blank to have one generated, or paste your own.
Subscribe to events
Under Subscribed Events pick the topics you need. For package lifecycle use package.created and package.status_changed. For external downloads through public links use package.external_viewed and package.external_file_downloaded. For delivery state use delivery.status_changed. Leave the rest unselected; you can add topics later.
Save the signing secret
After saving, the console shows the secret once under 'Save the signing secret'. Store it now. Your endpoint uses it to verify each request's signature before trusting the payload.
Send a test event
Use the webhook's test action. Your endpoint receives a webhook.test event. Confirm it validates the signature and returns a 2xx status.
Trigger a real event
Admin · Webhooks · Events
Send a small package. Within moments the webhook's event log shows a package.created delivery and its response status.
Retry when something fails
A delivery your endpoint rejected or timed out on is listed with its status. Open the event and use Retry once the endpoint is fixed.
How you know it worked
- The test event arrives with a valid signature and your endpoint returns 2xx.
- A real package.created event arrives for a package you sent, with the package ID matching the one in Sent.
- A deliberately failing endpoint shows the failed delivery in the event log, and Retry succeeds after the fix.
If something is off
| What you see | What to do |
|---|---|
| Saving fails with a target policy message | The endpoint host is not on your organization's allowed list. An administrator updates the webhook target policy, then save again. |
| Events arrive but the signature does not verify | The secret in your service differs from the one shown at creation. Rotate the secret in the console and update your service. |
| No events for downloads by named recipients | Named-recipient downloads are visible in the package's Activity tab and the admin Activity page. Subscribe to package.status_changed and delivery.status_changed for lifecycle events; the external_* topics cover public-link access. |