Overview
Webhook actions allow you to automatically send requests to an API when specific events occur on the platform. You can use Webhook actions to connect your CYPHER platform with third-party services, your own servers, or CYPHER Learning APIs.
For example, you can configure a Webhook action to send a request when a learner completes a course, allowing you to automatically trigger an action or exchange data with another system.
This article covers the basics of adding and configuring a Webhook action for a qualifying event.
Installing the Webhooks app
To use Webhooks, the app must first be installed. To install the Webhooks app, administrators:
- Click Admin from the primary navigation menu.
- Click App center from the fly-out menu.
- Install the Webhooks app from the Integration tools section.
Webhooks actions
After installing the Webhooks app, the Webhook action becomes available on the Integrations tab any time you add a rule action. You can add webhook rules to course enrollments; course, module, and section completions, when users join a group; account creation; and more.
To add a webhook action:
- Click Add in the action section of a qualifying event.
- For more details on adding actions to qualifying events, visit the Rules knowledge based article.
- Click the Integrations tab.
- Click Webhook.

The Webhook pop-up displays, where you can configure the details of the webhook. To begin:
- Enter a webhook Endpoint, which specifies where the request is sent and can specify what data to retrieve.
- The Endpoint can be HTTP or HTTPS.
- There is a 256 character limit for the endpoint.
- The Endpoint can include variables, just like message templates. The available variables are listed at the top of the Webhook pop-up.
- Select a webhook Method, which specifies the HTTP method used to send the webhook request to the endpoint.
- Select POST to send or create data, GET to retrieve data, PATCH to update data, or DELETE to remove data.

- Select a Content type, which specifies the format of the data sent in the webhook request. Choose from:
- application/x-www-form-urlencoded
- application/json
- application/xml
- Enter the webhook Body, which specifies the data sent to the webhook endpoint as part of the request. The format of the body should match the selected Content type and the requirements of the receiving API.
- The Body can accept variables, just like message templates. The available variables are listed at the top of theWebhook pop-up.
- A body is typically not required when using the GET method.
- If you only want the webhook action to occur for specific users, you can add a filter. To add a filter, click the Add
icon in the Filters section.
- To learn more about filters, visit the Filters knowledge base article.
- Click Save.
You can add multiple Webhook actions to qualifying events.
For additional visibility into webhook calls and errors, administrators can add the Webhooks widget to the Admin dashboard.
To add the widget to the dashboard:
- Click Home from the primary navigation menu.
- Click the Admin tab.
- Click the Edit widgets
button.
The Edit pop-up displays.
- Click Center panel.
The Admin dashboard will display in edit mode.
- Drag-and-drop the Webhooks widget from the Available widgets column to the Center panel.
- Click Save.
The Webhooks widget displays the number of Webhook calls and the number of errors.
- Webhook jobs allow a full 10 seconds for a webhook to respond to the call from CYPHER Learning's job servers. If the server that is called by a webhook does not respond within 10 seconds, the connection will terminate with the remote service, wait for five seconds, then attempt to invoke the webhook again. The system will repeat this retry logic up to 10 times, doubling the delay each time (5s, 10s, 20s, 40s, 80s, etc.) before registering the entire operation as failed due to timeout.
- The platform automatically applies URL encoding. When entering endpoints, make sure to use a decoded URL to prevent double encoding.
- For example, if your endpoint includes encoded characters such as %2F, replace the %2F-encoded component with the decoded character of / so the endpoint just contains the decoded URL.
- The HTML URL Encoding Reference is a great resource to assist you in decoding an encoded URL.