Webhooks in Totara allow your site to automatically send updates to external systems when specific events occur, improving efficiency and enabling real-time integration with third-party services. This feature is especially useful for reducing the need for constant API polling, which can slow down processes and place unnecessary load on your systems.
What are webhooks used for?
Instead of repeatedly checking Totara’s External API to see if something has changed, webhooks notify other systems the moment something happens. This makes integrations smoother and faster.
Common use cases include:
Notifying an HR platform when a learner completes onboarding training.
Triggering an email with a certificate when a user completes a course.
Pushing updates to a CRM like Salesforce when a user enrols in training.
Sending alerts to Slack when a new course is published.
Integrating with a business intelligence tool like Power BI in real time.
Permissions
Two permissions are available in Totara to control access to webhooks:
View webhooks
Manage webhooks
Accessing Webhooks
Webhooks are preinstalled from Totara 19.1 onwards, however they are disabled by default. To enable webhooks:
Go to Quick-access menu > Configure features.
Select the check box for the Enable Webhooks feature.

Creating a Webhook
1. Go to Quick-access menu > Development > API > Webhooks
2. To add a new Webhook click the Create button.
3. Complete the Create Webhook form with the following fields:
Field | Required | Description |
Name | Yes | A descriptive name for the webhook (e.g., Power BI, Mailchimp). |
Endpoint | Yes | The HTTPS address Totara will send data to. |
Events | No | Select the events the webhook should respond to. You can choose one or multiple. |
Dispatch timing | Yes | Whether the event should be sent as soon as it happens, or whether |
4. Click Save. You’ll be redirected to the webhook listing page where your new webhook will now be listed.

Editing Webhooks
To edit a webhook, from the webhook listing page, either:
Click the three dots (
) for the webhook you wish to edit, and from the menu choose Edit.
Or open the webhook by clicking on the webhook name, and click the Edit button.

Then from the Edit Webhook form with the the current webhook settings, make your changes and click Submit to confirm and save your changes, or Cancel to return to the webhook listing page and cancel any changes.

Deactivating Webhooks
Webhooks can be deactivated by changing their status to disabled. Disabled webhooks will not have any requests sent to them, nor will they have any webhook payloads queued.
Deleting Webhooks
To delete a webhook, from the webhook listing page:
Click the three dots (
) for the webhook you wish to delete, and from the menu choose DeleteConfirm the deletion in the dialogue box that appears.
Clicking Delete will permanently remove the webhook. Click Cancel to return without deleting.
Webhook Payloads
When a webhook is triggered, Totara sends an HTTP POST request to the configured endpoint. The body of the message contains the following standard fields:
Field | Description |
time_created | The time that the event was triggered in Totara - this will remain the same regardless of whether the POST is the initial send or a retry. |
event | The event name that triggered the event. Useful when monitoring a webhook that has subscribed to multiple event types. |
attempt | A count of the attempts to send the HTTP POST. The initial attempt will have this set to 1 and increment prior to each retry. |
webhook_id | The webhook, which is subscribed to the event, is useful when monitoring a webhook endpoint that has multiple webhooks registered against it. |
body | Details pertaining to the particular event that was triggered - this will vary depending on the event that is triggered. |
Responding to Webhooks
Totara considers the webhook successful when the receiving system replies with an HTTP response status code in the 200 range. If Totara receives a reply in the 400 range it will consider the webhook incorrectly configured and move the request payload to the dead letter queue. Anything outside of these ranges (e.g. 500), will cause the webhook to be requeued to be tried again at a later time.
Event Subscriptions
Webhooks can subscribe to any of the available events in Totara. These include user creation, course completions, badge awards, and more. At the time of writing, there are over 900 events that can be used to trigger webhooks.
Webhooks enable Totara to work seamlessly with your organisation’s wider digital ecosystem. Once set up, they allow real-time automation between Totara and other platforms, saving time and improving data accuracy.
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.