.. _integrations: Connecting Your LMS =================== .. contents:: On this page :local: :depth: 2 Blocks activities run inside your LMS through the LTI 1.3 standard. Before instructors can add activities, a workspace admin registers the LMS as a **platform** and completes a one-time trust setup. You manage all of this from **Integrations** in the workspace sidebar. The building blocks of a connection ----------------------------------- A working connection is made of three records: **Platform** Represents one LMS site (for example your Moodle or Open edX instance). It identifies the LMS by its *issuer* and holds the trust settings. **Registration** The credential pairing between Blocks and the platform — the LMS-issued **client ID**, the platform's **authorization/login endpoint**, **access token URL**, and **public keyset (JWKS) URL**. **Deployment** A specific instance of the tool within the platform, identified by a **deployment ID**. Most LMSs issue one deployment; some issue several. OIDC login and launch validation only succeed once a matching registration *and* deployment exist for the platform. The two directions of trust --------------------------- LTI 1.3 establishes trust in both directions: * The **LMS signs** each launch, and Blocks verifies it using the LMS's public keyset (JWKS) URL. * **Blocks signs** its service requests (such as roster and grade calls), and the LMS verifies them using Blocks' public keys, published at the tool's JWKS URL. Blocks manages its own signing keypair for you — you never generate or upload keys. Tool endpoints Blocks provides ------------------------------ When you create a platform, Blocks shows the URLs the LMS needs in order to trust it: * **OIDC login / initiation URL** — where the LMS starts a launch. * **Launch (redirect) URL** — where the LMS sends the signed launch. * **JWKS URL** — Blocks' public keys, used by the LMS to verify Blocks' service requests. * **Deep Linking URL** — where instructors pick and configure activities. * **Tool configuration URL** — a machine-readable summary some LMSs can import directly. The record-first workflow ------------------------- For every supported LMS, the recommended flow is *record-first*: #. In **Integrations**, create a **platform** and choose the matching **setup type** (for example *Open edX* or *Moodle 4.2*). #. Open the platform's edit page. Blocks shows the values to give your LMS and, where supported, pre-fills the endpoints it can derive from the issuer. #. In your LMS, register Blocks as an LTI 1.3 tool using those values. #. Copy the LMS-issued **client ID** (and any keyset/token URLs) back into Blocks. #. Create the **registration** (and **deployment**) using the suggested shortcut on the platform page. Choose your LMS to continue: * :ref:`Connecting Open edX ` * :ref:`Connecting Moodle ` For Canvas, Blackboard, and D2L, register Blocks as an LTI 1.3 tool/developer key using the endpoints shown on the platform page, then copy the LMS-issued client ID and deployment ID back into Blocks. Connecting Zoom --------------- Besides LMS connections, the Integrations hub can link your workspace to **Zoom**. Connecting Zoom lets Blocks automatically collect **meeting transcripts** — from cloud recordings or Zoom AI Companion — so they can be used as source material for your AI features, such as :ref:`knowledge_bases`. For the complete guide to adding, using, and removing the Blocks app for Zoom, see :ref:`zoom`. Plan limits ----------- The number of platforms, registrations, and deployments your workspace may create is governed by your subscription plan. If a create action is blocked, check your plan limits under :ref:`billing`. `Back to Home `_