Webhooks

Learn about eduMe's webhooks and how you can use them to build out training flows and access real-time user data

What's Covered

Overview

How to start using eduMe Webhooks

What format are eduMe Webhook payloads distributed in?

Suggested Use Cases


Overview

Webhooks allow you to share important information from the eduMe backend with your system. This information can be used to build event-triggered flows, or provide data as it happens within eduMe.

Course level webhooks allow you to create a copy of the course details within your own system. This is kept up to date with the latest changes, as they happen, including courseIDs, moduleIDs and the teams that are assigned to them. This is really important when it comes to automating the building of Seamless Links.

Learner level webhooks allow you to track individual user actions throughout the learner journey, from the point at which a user is added to eduMe, through to their course progress. Identify sticking points in the learner journey, surface reminders to complete unfinished courses and unlock functionality within your own apps or partner integrations to trigger actions once a course has been completed.

How to start using eduMe Webhooks

Prerequisites: In order to get started using eduMe webhooks, you'll need:

  • to be a customer of eduMe
  • a destination URL/data receiver (or multiple) for the webhooks to be sent to
  • a technical or developer resource 

 

What format are eduMe webhook payloads available in?

Webhook payloads are currently distributed in .json format.

Verifying the webhook payload

Every webhook payload sent from eduMe includes a X-Edume-Signature header so you can verify that the payload came from us; this is a MAC, i.e. a hash of the payload, using a Signature Secret* which you can obtain via our Self Service Developer tools or we can provide to you.  

The raw payload object is formatted into a single line string which we then hash using the JavaScript snippet below.
crypto.createHmac('sha256', signatureSecret)
.update(JSON.stringify(payload))
.digest('hex');

It is strongly encouraged that you perform your own validation that the request came from eduMe.  This can be done by hashing the payload with the Signature Secret* and making sure the results are the same. 

*If required, you can re-use an existing Signature Secret (which you may have for use with our Seamless integrations) or a new one can be provided.  Our Solutions Architect will discuss the options available as part of the implementation process.

Suggested Use Cases

Here are a few suggestions for how you can benefit from using eduMe's webhooks. Click the link for each example to preview a detailed flow diagram.

Seamless link automation

Using course-level webhooks to build seamless links

Enrich user profiles of seamless link users

Assist in building out user reporting with enriched data

Mandatory triggered training

Trigger courses based on user requirements such as compliance and best practice

Mandatory onboarding training

Ensure mandatory training is completed before a user can proceed in your app