Webhooks deliver data from eduMe to the application of your choice as soon as a specific event happens. Here’s a collection of the sample payloads for events we currently support:
Course level webhooks
Name | Type | Triggered when |
course.added | An admin adds a new course in the specified group | |
course.deleted | An admin deletes a course in the specified group | |
course.published | An admin publishes a course in the specified group | |
course.unpublished | An admin unpublishes a course in the specified group | |
course.updated | title.changed | A course title is updated in the specified group |
team.assigned | A team is assigned to a course in the specified group | |
team.removed | A team is unassigned from a course in the specified group |
Learner level webhooks
Name | Type | Triggered when |
learner.activated | A learner added to the specified course activates their eduMe account | |
learner.added | A new learner is added to the specified course | |
learner.activity.started | Course | A learner starts the specified course |
Lesson activity | A learner starts a lesson in the specified course | |
Assessment activity | A learner starts an assessment in the specified course | |
learner.activity.finished | Course Note: This payload contains high-level course information. If you’re looking only for detailed course information, refer to the learner.course.completed payload. |
A learner completes the specified course |
Lesson activity | A learner completes the specified course lesson | |
Assessment activity | A learner completes an assessment in the specified course | |
In-course survey | A learner completes a survey in the specified course | |
Standalone survey Note: Standalone surveys are identical to in-course surveys, except for the missing course and module properties. |
A learner completes a standalone survey | |
learner.course.completed Note: This payload contains detailed course information. If you’re looking only for high-level course information, refer to the payload type ‘course’ in learner.activity.finished. JSON schema |
A learner completes the specified course |
learner.activity.started and learner.activity.finished webhooks are currentlyactivated for selected courses only. If you have any questions on this, please reach out to your dedicated Customer Success Manager or contact our Support team via support@edume.com.
course.added
JSON schema
{
type: "course.added",
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.added",
payload: {
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
course.deleted
JSON schema
{
type: "course.deleted",
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.deleted",
payload: {
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
course.published
JSON schema
{
type: "course.published",
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.published",
payload: {
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
course.unpublished
JSON schema
{
type: "course.unpublished",
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.unpublished",
payload: {
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
course.updated
title.changed
JSON schema
{
type: "course.updated",
payload: {
type: "title.changed",
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.updated",
payload: {
type: "title.changed",
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
team.assigned
JSON schema
{
type: "course.updated",
payload: {
type: "team.assigned",
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.updated",
payload: {
type: "team.assigned",
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
team.removed
JSON schema
{
type: "course.updated",
payload: {
type: "team.removed",
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
},
modules: Array<{
moduleId: 24775,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
type: "course.updated",
payload: {
type: "team.removed",
group: {
groupId: 12779,
},
teams: [{
teamId: 55526,
}],
course: {
courseId: 22299,
courseKey: "tips_for_good_mental_health7506",
},
modules: [{
moduleId: 24775,
}],
version: 1,
},
timestamp: "2022-07-13T12:03:54.530Z",
}
learner.activated
JSON schema
{
type: "learner.activated",
payload: {
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
courses: Array<{
courseId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
"type": "learner.activated",
"payload": {
"user": {
"eId": "62b35f8b-b2c0-45a5-8310-5ed1d0948e30",
"userId": 10217,
"identifiers": []
},
"group": {
"groupId": 5
},
"courses": [
{
"courseId": 202
},
{
"courseId": 2045
},
{
"courseId": 2099
}
],
"version": 1
},
"timestamp": "2022-07-21T13:29:32.454Z"
}
learner.added
JSON schema
{
type: "learner.added",
payload: {
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
courses: Array<{
courseId: number,
}>,
version: 1,
},
timestamp: string,
}
Sample payload
{
"type": "learner.added",
"payload": {
"user": {
"eId": "62b35f8b-b2c0-45a5-8310-5ed1d0948e30",
"userId": 10217,
"identifiers": []
},
"group": {
"groupId": 5
},
"courses": [
{
"courseId": 202
},
{
"courseId": 2045
},
{
"courseId": 2099
}
],
"version": 1
},
"timestamp": "2022-07-21T13:29:32.423Z"
}
learner.activity.started
Course
JSON schema
{
type: "learner.activity.started",
payload: {
type: "course",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.started",
"payload": {
"type": "course",
"user": {
"eId": "baa4e1be-55c3-4505-84e5-2e0d5154337b",
"userId": 10218,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"version": 1
},
"timestamp": "2022-07-21T14:16:45.111Z"
}
Lesson activity
JSON schema
{
type: "learner.activity.started",
payload: {
type: "lesson",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
module: {
moduleId: number,
},
lesson: {
lessonId: number,
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.started",
"payload": {
"type": "lesson",
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"lesson": {
"lessonId": 28856
},
"module": {
"moduleId": 10658
},
"version": 1
},
"timestamp": "2022-07-21T13:01:59.636Z"
}
Assessment activity
JSON schema
{
type: "learner.activity.started" | "learner.activity.finished",
payload: {
type: "assessment",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
module: {
moduleId: number,
},
assessment: {
assessmentId: number,
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.started",
"payload": {
"type": "assessment",
"user": {
"eId": "62b35f8b-b2c0-45a5-8310-5ed1d0948e30",
"userId": 10217,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"assessment": {
"assessmentId": 29216
},
"version": 1
},
"timestamp": "2022-07-21T13:29:32.968Z"
}
Learner.activity.finished
Course
JSON schema
{
type: "learner.activity.finished",
payload: {
type: "course",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.finished",
"payload": {
"type": "course",
"user": {
"eId": "baa4e1be-55c3-4505-84e5-2e0d5154337b",
"userId": 10218,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"version": 1
},
"timestamp": "2022-07-21T14:16:45.111Z"
}
Lesson activity
JSON schema
{
type: "learner.activity.finished",
payload: {
type: "lesson",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
module: {
moduleId: number,
},
lesson: {
lessonId: number,
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.finished",
"payload": {
"type": "lesson",
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"lesson": {
"lessonId": 28856
},
"module": {
"moduleId": 10658
},
"version": 1
},
"timestamp": "2022-07-21T13:01:59.636Z"
}
Assessment activity
JSON schema
{
type: "learner.activity.finished",
payload: {
type: "assessment",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
module: {
moduleId: number,
},
assessment: {
assessmentId: number,
status: "passed" | "failed",
score: number,
minimumScoreRequired: number
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.finished",
"payload": {
"type": "assessment",
"user": {
"eId": "62b35f8b-b2c0-45a5-8310-5ed1d0948e30",
"userId": 10217,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"assessment": {
"assessmentId": 29216,
"status": "passed",
"score": 100,
"minimumScoreRequired": 20
},
"version": 1
},
"timestamp": "2022-07-21T13:29:32.968Z"
}
In-course survey
JSON schema
{
type: "learner.activity.finished",
payload: {
type: "survey",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
course: {
courseId: number,
},
module: {
moduleId: number,
},
survey: {
surveyId: number,
type: "enpsScore" | "multipleChoice" | "reaction",
hasFreeText: boolean,
status: "dismissed" | "completed"
},
version: 1
},
timestamp: string,
}
Sample payload
{
"type": "learner.activity.finished",
"payload": {
"type": "survey",
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"survey": {
"surveyId": 2159,
"type": "multipleChoice",
"hasFreeText": true,
"status": "completed"
},
"version": 1
},
"timestamp": "2022-07-21T13:01:58.322Z"
}
Standalone survey
JSON schema
{
type: "learner.activity.finished",
payload: {
type: "survey",
user: {
eId: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
survey: {
surveyId: number,
type: "enpsScore" | "freeText" | "multipleChoice",
hasFreeText: boolean,
status: "dismissed" | "completed",
},
version: 1,
}
timestamp: string,
}
Sample payload
{
"type": "learner.activity.finished",
"payload": {
"type": "survey",
"user": {
"eId": "34dd8aac-9063-48b3-9bf4-d498e86a3204",
"userId": 10216,
"identifiers": []
},
"group": {
"groupId": 1297
},
"survey": {
"surveyId": 2161,
"type": "enpsScore",
"hasFreeText": true,
"status": "completed",
},
"version": 1
},
"timestamp": "2022-07-21T13:06:59.283Z"
}
learner.course.completed
JSON schema
{
type: "course.complete"
payload: {
user: {
id: number
email: string
isAnonymous: boolean
isAdmin: boolean
firstName: string
createdAt: string
updatedAt: string
phone: any
inviteCode: any
employeeId: string
activated: boolean
lastName: string
locked: boolean
authVersion: number
isCompanyAdmin: boolean
isEditor: boolean
isAnalyst: boolean
isManager: boolean
seenWebOnboarding: boolean
language: string
hidden: boolean
deleted: boolean
isSuperAdmin: boolean
hasSignedInAsLearner: boolean
hasCreatedCourse: boolean
hasInvitedAdmins: boolean
isCompanyOwner: boolean
sendActivationReminders: boolean
timezone: any
isUnsubscribedFromEngagementEmails: boolean
authType: string
activationDate: string
shouldShowGamificationOnboarding: boolean
depositedPoints: number
name: string
identifiers: Array<{
key: string
value: string
createdAt: string
}>
}
course: {
id: number
customerId: number
title: string
courseKey: string
public: boolean
icon: string
createdAt: string
updatedAt: string
courseImageUrl: any
colour: string
published: boolean
type: string
requiresEnrolment: boolean
isSample: boolean
completionMessage: any
completionButtonUrl: any
completionButtonText: any
isHidden: boolean
learnersCount: any
}
parentGroup: {
id: number
customerId: number
name: string
createdAt: string
updatedAt: string
parentGroupId: any
welcomePageConfigId: any
selfSignupConfigId: any
language: any
deleted: boolean
ssoConfigId: any
cookieConsentDisabled: boolean
usersCount: any
activatedUsersCount: any
}
completion: {
overallAssessmentScore: number
overallLessonScore: number
scoresBreakdown: Array<{
id: number
activityKey: string
type: string
score?: number
}>
courseStartDate: string
courseCompletionDate: string
courseCompletionDurationInSeconds: number
completionLanguage: string
}
}
timestamp: string
}
Sample payload
{
"type": "course.completed",
"payload": {
"user": {
"id": 5398399,
"email": "hook.captain@test.com",
"isAnonymous": false,
"isAdmin": false,
"firstName": "Hook",
"createdAt": "2021-05-18T10:34:32.907Z",
"updatedAt": "2021-05-18T10:38:15.122Z",
"phone": null,
"inviteCode": null,
"employeeId": "IDOptionallyProvidedByClient123",
"activated": true,
"lastName": "Captain",
"locked": false,
"authVersion": 1,
"isCompanyAdmin": false,
"isEditor": false,
"isAnalyst": false,
"isManager": false,
"seenWebOnboarding": true,
"language": "en",
"hidden": false,
"deleted": false,
"isSuperAdmin": false,
"hasSignedInAsLearner": false,
"hasCreatedCourse": false,
"hasInvitedAdmins": false,
"isCompanyOwner": false,
"sendActivationReminders": true,
"timezone": null,
"isUnsubscribedFromEngagementEmails": false,
"authType": "default",
"activationDate": "2021-05-18T10:34:32.907Z",
"shouldShowGamificationOnboarding": false,
"depositedPoints": 0,
"name": "Hook Captain",
"identifiers": [
{
"key": "fountain.applicantId",
"value": "18d0f780-95b4-4ab1-a12b-ef7d8815338d",
"createdAt": "2022-02-24T13:11:48.642Z"
},
{
"key": "fountain.email",
"value": "hook.captain@test.com",
"createdAt": "2022-02-24T13:11:48.642Z"
},
{
"key": "bamboo.employeeId",
"value": "111",
"createdAt": "2022-02-24T13:19:20.890Z"
}
]
},
"course": {
"id": 17167,
"customerId": 5,
"title": "How to capture Peter Pan",
"courseKey": "webhook4798",
"public": false,
"icon": "cardchart",
"createdAt": "2021-05-18T10:15:39.614Z",
"updatedAt": "2021-05-18T10:15:39.614Z",
"courseImageUrl": null,
"colour": "#DBD56E",
"published": true,
"type": "ongoing",
"requiresEnrolment": false,
"isSample": false,
"completionMessage": null,
"completionButtonUrl": null,
"completionButtonText": null,
"isHidden": false,
"learnersCount": null
},
"parentGroup": {
"id": 8884,
"customerId": 5,
"name": "Neverland Group",
"createdAt": "2021-05-13T13:55:35.533Z",
"updatedAt": "2021-05-13T13:55:35.533Z",
"parentGroupId": null,
"welcomePageConfigId": null,
"selfSignupConfigId": null,
"language": null,
"deleted": false,
"ssoConfigId": null,
"cookieConsentDisabled": false,
"usersCount": null,
"activatedUsersCount": null
},
"completion": {
"overallAssessmentScore": 66.67,
"overallLessonScore": 50,
"scoresBreakdown": [
{
"id": 39726,
"activityKey": "activity_1_lesson_no_quiz7706",
"type": "lesson"
},
{
"id": 39727,
"activityKey": "activity_2_assessment4385",
"type": "assessment",
"score": 66.67
},
{
"id": 39728,
"activityKey": "activity_3_lesson_with_quiz4829",
"type": "lesson",
"score": 50
}
],
"courseStartDate": "2021-05-18T10:38:08.165Z",
"courseCompletionDate": "2021-05-18T10:39:02.187Z",
"courseCompletionDurationInSeconds": 54,
"completionLanguage": "en"
}
},
"timestamp": "2021-05-18T10:39:02.230Z"
}