Change Notification Webhooks#
Change notification webhooks let your service respond to changes to Stories and Clips in Storyteller. Use them to refresh content metadata, update a catalogue, or remove content from your own system.
Storyteller sends an HTTP POST to an endpoint you provide. Each notification
contains a JSON object describing one Story or Clip. For deletion notifications,
use the content's Storyteller id to identify the record to remove.
| Guide | What it covers |
|---|---|
| Story events | Supported notifications, publication filtering, and Story payloads. |
| Clip events | Supported notifications, availability changes, and Clip payloads. |
| Receiving notifications | Authentication, responses, retries, and keeping your data in sync. |
Set up an integration#
Contact the Storyteller team to confirm availability and configure webhooks for your account. Provide:
- The content types and events you need: Created, Updated, Published, Unpublished, or Deleted.
- The HTTPS endpoint or endpoints that should receive those notifications.
- Your authentication requirements and a test endpoint for validation.
You can use one endpoint for several configured events, for example:
https://example.com/webhooks/storyteller
This is an example of an endpoint you host. Each event still has its own
configuration, so tell the Storyteller team which events should use that URL.
Your receiver uses the body's eventType to identify the content type and whether
to refresh or delete it. Separate endpoints remain an option.
If you receive notifications for multiple Storyteller accounts, use routes that also identify the account; the body does not contain an account ID.
Only configured events send requests. Ask the Storyteller team to change or disable a destination when needed. A request already in progress may still arrive after a destination is disabled.
Event types#
Every notification includes one of these eventType values:
eventType |
Meaning |
|---|---|
story.changed |
Refresh the Story using the supplied current metadata. |
story.deleted |
Remove the Story identified by id. |
clip.changed |
Refresh the Clip using the supplied current metadata. |
clip.deleted |
Remove the Clip identified by id. |
Created, Updated, Published, and Unpublished are the triggers you configure.
They all send the corresponding *.changed event type. Deleted sends
*.deleted. The event type identifies both the content type and the receiver
action; there is no separate contentType field.
Understand the notification#
Except for deletion, the payload contains the content's state when Storyteller prepares the request. It does not contain the previous values, a list of changed fields, or a snapshot captured at the moment of the original change. A retry can therefore contain different values from the first attempt.
For a *.changed notification, status describes the state read when the
request is prepared. For example, a Clip publication trigger can result in
"eventType": "clip.changed" with "status": "Archived" if the Clip becomes
unavailable before delivery. The body asks you to refresh the content; it does
not claim that a particular publication transition is happening now.
Notifications are delivered asynchronously and can be delayed, duplicated, missed, or received out of order. There is no guaranteed delivery time. Read Receiving notifications before using webhooks to maintain a copy of Storyteller content.