Setting up webhooks

Prev Next

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:

  1. Go to Quick-access menu > Configure features.

  2. Select the check box for the Enable Webhooks feature.

Image shows the Enable Webhooks feature you can enable with the checkbox

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.

Image showing the Edit webhook form where Name, Endpoint and Events can be edited

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:

  1. Click the three dots ( ) for the webhook you wish to delete, and from the menu choose Delete

  2. Confirm 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.