Webhooks

Prev Next

Introduction

Thrive webhooks allow external systems to receive real-time event notifications when key actions occur within the Thrive platform. Instead of polling APIs, your application can subscribe to webhook events and be updated in near real-time when users complete learning, earn badges, update goals or interact with content.

These events will allow customers to integrate Thrive with compliance tracking, HR systems, and 3rd party customer tools/applications.

Webhooks are delivered as HTTPS POST requests containing a JSON payload that describes the event and its associated data.

  • Typical use cases include:

  • Syncing learning activity to HR, Data Reporting or 3rd Party Systems.

  • Triggering internal workflows when learning is completed or Overdue

  • Auditing or archiving user activity

  • Sending custom notifications or reports

Note:

Webhook setup is currently managed by the Thrive Support team.

Getting Started

Webhook Delivery

  • Webhooks are sent as HTTP POST requests

  • Payloads are encoded as JSON

  • Your endpoint must respond with a 2xx status code to acknowledge receipt

  • Non-2xx responses will be retried 5 times, utilising exponential backoff retry mechanism.

Security Considerations

  • All webhook endpoints must use HTTPS

  • Validate incoming requests by:

    • Checking expected messageType values

    • Verifying payload structure




    • Authenticating your endpoint via the agreed security protocol

Supported Event Types

Available messageType values:

  • Content published

  • Content completions

  • Notification events (including c.15 message types)

Upcoming Compliance Events

We will soon be introducing compliance-focused webhook events, including:

  • Assigned learning

  • Overdue learning

Further documentation and example payloads will be added once these events are released.

Details of our event structure is below.

Event Structure

All webhook events share a common high-level structure:

{
  "messageType": "entry_completed",
  "createdAt": "2026-01-14T12:45:32Z",
  "tenantId": "tenant_123",
  "data": {
    ...
  }
}

Content Published

Triggered when content is published in Thrive.

{
  "id": "content_456",
  "title": "Health & Safety Basics",
  "urls": ["https://app.thrivelearning.com/content/456"],
  "type": "learning"
}

Content Completed

Triggered when a user completes a piece of content.

{
  "user": {
    "id": "user_123",
    "reference": "EMP-001"
  },
  "content": {
    "id": "content_456",
    "title": "Health & Safety Basics",
    "urls": ["https://app.thrivelearning.com/content/456"],
    "type": "learning"
  }
}

Notification Events

Some events generate notifications to users. These include contextual metadata describing recipients and actions.

{
  "users": [
    {
      "id": "user_123",
      "reference": "EMP-001",
      "firstName": "Alex",
      "lastName": "Smith"
    }
  ],
  "messageType": "badge_awarded",
  "messageTitle": "New badge earned",
  "messageActions": [
    {
      "link": "https://app.thrivelearning.com/badges/123",
      "label": "View badge"
    }
  ],
  "createdAt": "2026-01-14T12:45:32Z",
  "dispatchedAt": "2026-01-14T12:45:35Z",
  "tenantId": "tenant_123"
}

Enabling Webhooks

Webhook configuration is enabled via a support request.

When contacting support, please provide:

  • One or more HTTPS endpoint URLs to receive webhook events

  • The event types you wish to subscribe

  • The relevant tenant / environment (if applicable)

Authentication / security requirements for your endpoint/s (e.g. bearer token, static secret, basic auth credentials to include on requests, OAuth2 client credentials and token URL if required)

Example support request summary:

“Please enable Thrive webhooks for the following endpoint:

https://example.com/webhooks/thrive

We would like to receive content_published, content_completions, and notification_events to XYX URL.

Once configured, Thrive will begin delivering events to your endpoint as they occur.

Support

If you have questions, need additional events, or want to update your webhook configuration, contact Thrive Support with your request and endpoint details.