WorkRamp · AsyncAPI Specification
Workramp Webhooks
Version
View Spec
View on GitHub
Learning ManagementRevenue EnablementSales EnablementTrainingOnboardingLMSAssessmentsCertificationsCoachingGo-To-MarketSCIMSCORMWebhookCustomer EducationAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: https://developers.workramp.com/reference/elc-webhooks-intro
spec_type: none
asyncapi_published: false
note: >-
WorkRamp publishes no AsyncAPI, CloudEvents or event-schema document. It does publish a
real, documented webhook surface with a named event catalog, per-event payload field
tables and self-service subscription management endpoints, so this artifact captures the
webhook catalog verbatim from the docs and from the two harvested OpenAPI documents. No
event was invented.
docs:
intro: https://developers.workramp.com/reference/elc-webhooks-intro
user_object: https://developers.workramp.com/reference/user-object-1
transport:
protocol: https
delivery: >-
WorkRamp POSTs the event payload to a subscriber-provided endpoint when the event
occurs. Subscription URLs must be HTTPS.
content_type: application/json
signature: none documented
secret: none documented
retries: not documented
ordering: not documented
replay: not documented
subscription_management:
employee_learning_cloud:
list: GET /api/v1/webhook_subscriptions
get: GET /api/v1/webhook_subscriptions/{webhook_subscription_id}
create: POST /api/v1/webhook_subscriptions
update: PATCH /api/v1/webhook_subscriptions/{webhook_subscription_id}
delete: DELETE /api/v1/webhook_subscriptions/{webhook_subscription_id}
create_body: {name: string, url: 'https endpoint', eventTypes: [string]}
source: openapi/workramp-json-api-openapi.yml
academy:
list: GET /api/v1/academies/{academy_id}/webhook_subscriptions
get: GET /api/v1/academies/{academy_id}/webhook_subscriptions/{subscription_id}
create: POST /api/v1/academies/{academy_id}/webhook_subscriptions
update: PATCH /api/v1/academies/{academy_id}/webhook_subscriptions/{subscription_id}
delete: DELETE /api/v1/academies/{academy_id}/webhook_subscriptions/{subscription_id}
create_body: {webhookName: string, url: 'https endpoint', eventTypes: [string]}
source: openapi/workramp-json-api-openapi.yml
common_payload:
fields:
- {name: eventType, type: string, description: type of the event}
- {name: timestamp, type: integer, description: UNIX epoch milliseconds when the event occurred}
- {name: user, type: object, description: 'the user this event is for (id, name, email, isAdmin, isDeleted, isPermanentlyDeleted, createdAt, updatedAt, groups[], customAttributes[], userIdentifiers[], managers[])'}
note: Every event carries these three fields; the resource and its assignment object are added per event family.
event_count: 20
events:
- name: assignmentCreated.challenge
family: challenge-assignment
description: A Challenge assignment has been created for a user.
payload: [eventType, timestamp, user, challenge, challengeAssignment]
docs: https://developers.workramp.com/reference/elc-webhooks-challenge-assignment
- name: assignmentCompleted.challenge
family: challenge-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-challenge-assignment
- name: assignmentProgress.challenge
family: challenge-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-challenge-assignment
- name: assignmentDeleted.challenge
family: challenge-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-challenge-assignment
- name: assignmentCreated.guide
family: guide-assignment
description: A Course/Guide assignment has been created for a user.
payload: [eventType, timestamp, user, guide, guideAssignment]
docs: https://developers.workramp.com/reference/elc-webhooks-guide-assignment
- name: assignmentCompleted.guide
family: guide-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-guide-assignment
- name: assignmentProgress.guide
family: guide-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-guide-assignment
- name: assignmentDeleted.guide
family: guide-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-guide-assignment
- name: assignmentCreated.path
family: path-assignment
description: A Path / Training Series assignment has been created for a user.
payload: [eventType, timestamp, user, path, pathAssignment, assignmentCompletionUserReportUrl]
docs: https://developers.workramp.com/reference/elc-webhooks-training-series-assignment
- name: assignmentCompleted.path
family: path-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-training-series-assignment
- name: assignmentDeleted.path
family: path-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-training-series-assignment
- name: assignmentCreated.resource
family: resource-assignment
payload: [eventType, timestamp, user, resource, resourceAssignment]
docs: https://developers.workramp.com/reference/elc-webhooks-resource-assignment
- name: assignmentCompleted.resource
family: resource-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-resource-assignment
- name: assignmentDeleted.resource
family: resource-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-resource-assignment
- name: assignmentCreated.scorm
family: scorm-assignment
payload: [eventType, timestamp, user, scorm, scormAssignment]
docs: https://developers.workramp.com/reference/elc-webhooks-scorm-assignment
- name: assignmentCompleted.scorm
family: scorm-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-scorm-assignment
- name: assignmentProgress.scorm
family: scorm-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-scorm-assignment
- name: assignmentDeleted.scorm
family: scorm-assignment
docs: https://developers.workramp.com/reference/elc-webhooks-scorm-assignment
- name: eventSession.attendee.created
family: event-session-attendee
docs: https://developers.workramp.com/reference/elc-webhooks-event-attendee
- name: eventSession.attendee.statusChanged
family: event-session-attendee
docs: https://developers.workramp.com/reference/elc-webhooks-event-attendee
- name: eventSession.attendee.deleted
family: event-session-attendee
docs: https://developers.workramp.com/reference/elc-webhooks-event-attendee
- name: userCreated
family: user
description: A user has been created.
payload: [eventType, timestamp, user]
docs: https://developers.workramp.com/reference/elc-webhooks-intro
- name: userDeleted
family: user
description: A user has been deleted.
payload: [eventType, timestamp, user]
docs: https://developers.workramp.com/reference/elc-webhooks-intro
payload_objects:
challengeAssignment:
fields: [id, challengeId, calculatedGrade, completionPercentage, numDaysOverdue, status, isCompleted, isCompletedOnTime, isFullyGraded, isOverdue, isPartiallyGraded, passed, completedAt, createdAt, dueDate, firstViewedAt, lastViewedAt, reviewersDueDate, updatedAt]
status_enum: [not_started, in_progress, overdue, needs_grading, completed, failed]
pathAssignment:
fields: [id, assignedFrom, assignerId, completionPercentage, numModules, numModulesCompleted, numModulesFailed, numModulesGraded, overallGrade, status, timeSpent, isArchived, isBulkCompleting, isCompleted, isFailed, isPassed, isSubmittedOnTime, completedAt, createdAt, dueDate, expiresAt]
status_enum: [assigned, not_started, in_progress, overdue, needs_grading, completed, failed]
resourceAssignment:
fields: [id, isCompleted, completedAt, createdAt, updatedAt]
guide:
fields: [id, displayTitle, timeEstimateSeconds]
path:
fields: [id, displayTitle, totalTimeEstimate]
challenge:
fields: [id, displayTitle]
resource:
fields: [id, displayTitle]
gaps:
- No AsyncAPI or machine-readable event schema — the catalog is prose tables only.
- No signature, HMAC secret or verification scheme is documented for inbound deliveries.
- No retry policy, delivery guarantee, ordering guarantee or replay endpoint documented.
- No webhook test/ping endpoint.