Live Event Webhooks

Send course completion events directly to your system

What are Webhooks?

Our Webhooks

A webhook is a realtime notification sent to your web server whenever an action occurs in the TI platform. For example, a learner completes a course within TI and you receive a realtime notification. You can then pass this event onward to any third party reporting/analytics system.

  • Flexibility: You receive payload data and can transform the payload into format consumable by enterprise software / email marketing systems. This may require technical team to write necessary scripts.

  • Data Reliability: If webhook delivery fails, we will automatically retry over time. We will retry ten times total with an exponential backoff starting from 20 seconds up to 3600 seconds, giving up approximately 3.5 hours after the first webhook delivery attempt.

    • The connection will time out in 15 seconds. If your endpoint does not respond before the connection times out or if your endpoint returns a status code outside the range of 200–308, we will consider the delivery of the message as a failed attempt.

  • Real Time: Payload of event data is posted in real-time in JSON format to the appropriate URL.

  • JSON format: Each event will fire a separate Webhook in JSON format.

Setup Steps

  1. Create webhook endpoint: You need a server that listens for webhook requests over HTTP and consumes data in JSON format (data samples below).

    • This can be achieved in multiple ways:

      • Custom server code

      • A Zapier Zap (ex: webhook -> spreadsheet)

      • etc...

  2. Send us your webhook details: Send us your webhook endpoint URL and a list of courses you'd like notifications for and we'll configure our end to start sending notifications

  3. Configure and Test: Once we finish configuring on our end, we'll send a test notification, so you can verify that your end is properly accepting the payloads

Notes

Distinguishing Courses: Your endpoint could receive events for potentially multiple courses. To distinguish courses from one another, you can use the "notifiableId" property.

Testing Webhook Notifications

Here are a few strategies that you can employ in order to test your integration


Before configuration:

1. You can use the example data from our documentation to test against your endpoint directly.


Once configured on our end:

1. You can complete a course yourself with your user account (once per account).

2. You can request that your account be reset for a particular course so you can complete it again on your own time

3. You can request completion for an account be reset for a particular course, then re-completed in order to resend the notification

Authenticating payloads from IE

For security reasons, you may want to limit requests to your endpoint to those coming from IE.

Whitelist IP Address

In order to authenticate incoming requests, you can allow access only to the ones coming from our IP address. All other requests should be blocked / ignored.

IP addresses for whitelisting:

  • 54.243.7.71

  • 3.83.213.76