Webhooks
Webhooks enable ENPS to automatically notify external systems when changes have been made to one or more fields in an ENPS object.
This event-driven architecture enables integrated workflows between ENPS and external systems, based on changes to data. This is opposed to a user explicitly triggering an integration by using a custom action button.
Some example workflows that are possible with an an event-driven architecture include:
-
Publishing content to a CMS or Social Media site when an "approved" box is checked
-
Sending an alert via ENPS messaging or an external messaging service such as Slack, Teams, or WhatsApp when a user's assignment has changed
-
Triggering automated transcoding of a piece of video
-
Sending a script for translation
-
Or anything else you can think of which can be connected to ENPS via our API
Using Webhooks
To enable Webhooks, you should first determine the ENPS fields that will trigger an update when the content of that field has been changed in a given object. To select such a field, tick the Resthooks Trigger column for the field in the System Maintenance > ENPS Fields table.
Once you have selected your fields, you can create one or more Webhooks subscriptions in the Webhooks table. Provide the URL to which ENPS will send the updates and select one or more ENPS object types for which an update can be sent. See Settings.
Whenever there is a change to the value of a 'trigger' field in an object (and the object's type is enumerated in the Webhooks table), the server sends an http notification to the 'listener' system at the provided URL. The notification includes the field(s) that changed to cause the update as well as the full set of current metadata for the object after the update that triggered the message was applied.
Examples
If the ReporterAssigned field is set as a Script+Rundown field and enabled as a 'trigger' field, and a Webhooks subscription is created for Rundowns and Scripts, then any change to that field for a particular story will send out a notification to the listening endpoint.
The API receiving the message at that endpoint could then use the data in the record to compose and send a message to the user whose name was added to the ReporterAssigned field to let them know they have been assigned to work on this story.
It is also possible to 'watch' a given ENPS Story such that it always sends a Webhooks notification. This can be done by setting the WebHooksWatch property on the object itself, either via API with a PATCH call to the /BasicContent endpoint.
The WebHooksWatch property will trigger an update whenever a change is made to that story - regardless of whether the change was made to a 'trigger' field or not. This workflow could allow for one or multiple external APIs to track the activity of a specific ENPS Script or Rundown.
Refer to the ENPS API Documentation for more information on setting the WebHooksWatch property.
Settings
Setting |
Description |
Webhook ID |
Unique ID for each Webhook configured in the system. This is generated automatically by ENPS when you configure a new Webhook. Read-only. |
Description |
A user-friendly name that describes the purpose of the Webhook. Click in this column to begin configuring a new Webhook. |
Webhook URL |
The target address to which content for this Webhook is sent. |
Object Types |
A list of all object types for which an update is sent to the Webhook target when a 'trigger-enabled' field is changed in the object. |
Expires |
An optional end date after which the Webhook configuration will no longer be used. |