Open edX Platform Atlasv1.0
Administrator Tools

Integrations

Scaffold

Overview

Integrations covers the mechanisms through which Open edX connects to external systems — LTI (Learning Tools Interoperability), SCORM, webhooks, enterprise system connectors, and API-based integrations with HR, CRM, and other institutional tools.

LTI is the primary standards-based integration protocol and Open edX is both a consumer (embedding external tools in courses) and a provider (offering courses as LTI content to external platforms).

Current State (2026)

• LTI Consumer: `xblock-lti-consumer` supports LTI 1.1 and LTI 1.3; allows embedding external tools as XBlocks in course content

• LTI Provider: Open edX can serve as an LTI provider (exposing courses to other LMS platforms); built into `edx-platform`

• Webhooks: `openedx-webhooks` provides outbound webhooks for platform events (enrollment, completion, etc.)

• Enterprise integrations: `enterprise-integrated-channels` connects to SAP SuccessFactors, Degreed, Canvas, Cornerstone, and other enterprise systems

• Event bus: `event-bus-kafka` / `event-bus-redis` enables event-driven integration with external systems via Open edX Events

Architecture

• LTI Consumer XBlock: `xblock-lti-consumer` renders as a content block; manages OAuth2 (LTI 1.1) or OIDC (LTI 1.3) handshake; handles deep linking

• LTI Provider: `edx-platform` implements the LTI provider protocol; serves course content to external consumers

• Webhooks: Configurable outbound HTTP POST to external URLs on platform events; payload defined per event type

• Enterprise channels: Per-integration Django modules in `enterprise-integrated-channels`; polling-based sync for learner progress data

• Event bus: Kafka or Redis Streams event bus carries Open edX Events (OEP-41) to external consumers

History

Origin

• Year introduced: ~2013–2014 (LTI support added early; enterprise integrations came with B2B growth)

• Initial implementation: LTI 1.1 consumer as an XBlock; basic outbound API for integration

• Context: Educational institutions required interoperability with their existing systems; LTI was the emerging standard

Key Milestones

~2013–2014

LTI 1.1 consumer XBlock added

~2016–2017

Enterprise integrated channels development

~2019–2020

LTI 1.3 support added

~2021–2022

Event bus (Kafka/Redis) for async integration

Open Questions

  • ?When was LTI support first added and who drove the implementation?
  • ?Which enterprise integrated channels were built first and for which customers?
  • ?How does the LTI 1.3 OIDC flow work in `xblock-lti-consumer`?
  • ?What drove the decision to build `event-bus-kafka` vs. using existing messaging solutions?
  • ?What are the most common integration patterns in production Open edX deployments?