Logo

What are you looking for?

Need answers? Search our articles to learn how to create courses, engage learners, and run your education programs with confidence.

Technical Documentation

Webhooks Documentation

03 Mar, 2026

Overview

Webhooks are a powerful tool that allow you to receive real-time notifications from Acadio when specific events occur. By using webhooks, you can automate workflows, trigger actions, and integrate Acadio with other applications and services. Webhooks are a simple and efficient way to keep your systems in sync and ensure that your data is always up-to-date.

Integration

Integrating webhooks with Acadio is a straightforward process that can be completed in a few simple steps.

  1. Log into your Acadio Admin portal and navigate to the Settings from the main menu.

  2. From the Settings section, click on Manage Integrations.

  3. Click the Install button within the Webhooks integration.

  4. Create and enter a secret key. This is used to sign and verify the payload is from Acadio.

  5. Create a subscription to a topic by entering a pattern and an endpoint (see list of subscriptions and patterns below).

  6. When finished, click Save.

  7. Enter an email address to receive notifications when webhooks fail. 

Subscriptions

Subscriptions allow you to specify which topics you want to receive notifications for. Acadio provides a range of topics that you can subscribe to, including:

  • Assessment Session Created

      Pattern: assessment/session/create
      A new assessment session for a student has been created.

  • Assessment Session Completed

      Pattern: assessment/session/complete
      An assessment session for a student was completed.

  • Course Completion Created

      Pattern: course/completion/create
      A student has completed a course that is reportable.

  • Course Completion Updated

      Pattern: course/completion/update
      A student course completion was moved from the Requires Approval state to the Ready state.

  • Course Completion Report

      Pattern: course/completion/report
      Student selects a regulator(s) for a course completion, for example they select a regulator to report to at the end of the course.

  • Course Activity Created

      Pattern: course/activity/create
      A student has started an activity. * This event fires (at most) once a day.

  • Course Activity Updated

      Pattern: course/activity/update
      A student has completed an activity.

  • Credit Created

      Pattern: credits/credit/create
      A credit was created.

  • Credit Updated

      Pattern: credits/credit/update
      A credit was updated.

  • User Credit Created

      Pattern: credits/user/create
      A credit was assigned to a user.

  • User Credit Updated

      Pattern: credits/user/update
      A credit was updated in relation to a user.

  • User Created

      Pattern: identity/user/create
      A new user was created.

  • User Updated

      Pattern: identity/user/update
      A user was updated.

  • Survey Created

      Pattern: surveys/survey/create
      A survey was created.

  • Survey Updated

      Pattern: surveys/survey/update
      A survey was updated.

  • Survey Completed

      Pattern: surveys/survey/complete
      A survey was completed by a user.

New webhook topic subscriptions will be added in the future. 

By subscribing to specific topics, you can customize the notifications you receive and tailor them to your specific needs. However, if you want to listen to more than one topic, you can use the wildcard character (*) to subscribe to all topics.

For example, if you want to receive notifications for all course-related events, you can subscribe to the following topics:

  • Topic: course/*

Additionally, you can subscribe to all topics by using the wildcard character (*) as follows:

  • Topic: *

This will ensure that you receive notifications for all course-related events, such as course creation, updates, and deletions.

Endpoints must be a secure, publicly accessible url, and return a 2xx status code to confirm receipt of the payload. Acadio will retry sending the payload up to 6 times if it does not receive a 2xx status code.

Securing Webhooks

Acadio uses a secret key to sign and verify the payload to ensure the security and integrity of your webhook notifications. This secret key is customized when you create/update the webhook and is unique to each integration. By using the secret key, you can verify that the payload is from Acadio and has not been tampered with during transit.

Acadio utilizes a HMAC SHA-256 signature to sign the JSON payload using the secret key. The signature is included in the headers of the request as X-Acadio-Hmac-Sha256.

Disconnecting

To disconnect a webhook, navigate to the platform Settings and click Manage Integrations. Locate the Webhooks integration and click the Deactivate button.

Did you find this article helpful?
Previous

Google OAuth 2.0 Documentation

Next