Moodle LTI Integration
    • 23 Apr 2024
    • 9 Minutes to read

    Moodle LTI Integration

    Article summary

    To communicate with the Moodle LMS using the LTI 1.3 specification, an API Consumer will need to be configured with standard settings in Skillable Studio. This article will help you configure the values necessary to enable Skillable to provide LTI 1.3 Tool services.

    Best Practices for Integrating with Moodle

    The Learning Tools Interoperability (LTI) 1.3 specification allow Learning Management Systems (LMS) or platforms to integrate remote tools and content in a standard way. Follow the step-by-step instructions in this guide to integrate the Moodle LMS with Skillable using LTI 1.3.

    Obtain LTI 1.3 Credentials

    Prior to beginning the Moodle LTI 1.3 configuration and integration you will need to request some information by opening a support request with our customer support team. In the support details be sure to request the following information.

    Skillable Field NameMoodle Field NameField Value Example
    LTI 1.3 Login / Connect UrlOpenID Connect Initiation Url{API Consumer ID}
    LTI 1.3 JWKS UrlPublic Keyset URL{API Consumer ID}

    The following fields are required to configure different aspects of the Moodle LTI 1.3 setup. Copy the field value to Notepad or another text editor for quick reference

    Skillable Field NameMoodle Field NameField Value
    LTI 1.3 Launch UrlRedirection URI(s)
    LTI 1.3 DeepLink UrlContent Selection URL
    LTI 1.3 Icon URLIcon Url
    API Consumer Required

    To complete an LTI 1.3 integration you must be a current client of Skillable with an API Consumer configured for your organization.

    Skillable may require your Customer or Organization ID, Moodle Instance URL, Platform name or other information. It is always recommended to provide as much information as possible with any support request.

    Enable LTI 1.3 support in Moodle

    In Moodle 2.2 onwards, the External tool enables users to interact with LTI-compliant learning resources and activities on other websites. This means that LTI 1.3 support is already enabled within Moodle and no special preparation is required for Moodle to accept LTI 1.3 communications.

    Set up the External Tool in Moodle

    To set up Skillable as a LTI 1.3 Tool you will need to define Skillable as an External App. The following section will guide you through this process.

    Adding Skillable as an External Tool

    In order for Skillable labs to be made available by the Moodle LMS, Skillable must be registered as an external tool within Moodle. This section will guide you through the steps necessary to complete this integration.

    1. To access the Site administration options select Site administration from the top menu [1].

    2. Select Plugins from the Site administration menu [2] to view the Plugins and Activity Modules.

    3. To be able to manage external tools, from the Activity modules section [3], you will have to select External tool [4] --> Manage tools [5].

      Moodle Site administration Highlighted

    4. Since Skillable represents a custom LTI 1.3 tool you will need to manually configure it within Moodle. To do this, in the Add tool section of Manage tools, select the configure a tool manually link.

      Moodle configure a tool manually

    5. Complete the Tool Settings configuration of the External Tool using the following values:

      Tool nameA tool name that instructors will recognize.
        • Skillable Labs
      Tool URLSelects specific tool configurations within the tool. This value should be supplied by Skillable support and include the lab to be launched.
        •{Lab ID}
        (1) The launch URL should only be used if you intend to dedicate this External Tool to a single Skillable Lab.
        (2) The Tool URL can not end in a forward slash
      Tool descripitonDescribes the external tool
        • Skillable LTI 1.3
      LTI versionSkillable only supports LTI 1.3 for this configuration
        • LTI 1.3
      Public key typeThe Public Key is used to secure the communications.
        • Keyset URL
      Public keysetThe LTI 1.3 JWKS URL used to determine the key. This value should be supplied by Skillable support.
        •{API Consumer ID}
      Initiate login URLThe connection URL. This value should be supplied by Skillable support.
        •{API Consumer ID}
      Redirection URI(s)The URI(s) used when making authorization requests. This value should be supplied by Skillable support.
      Custom parametersCustom settings required by the tool provider.
        • Blank
      Tool configuration usageDetermines how the tool is displayed to an instructor.
        • Select Show as preconfigured tool when adding an external tool
      Default launch containerAffects the container in which tools are launched.
        • Select New window
      Support Deep LinkingSkillable supports Deep Linking in LTI 1.3.
        • Selected
      Content Selection URLUsed to launch a content selection page from the tool provider.
        • Leave blank
      Icon URLSpecifies the icon used in the course listing for this activity. This value should be supplied by Skillable support.
      Secure icon URLSimilar to the Icon URL but accessed securely through SSL.
        • Leave blank

    Your External tool configuration - Tool Settings should look similar to the screenshot below.

    Moodle Site administration Highlighted

    Lab ID Parameter

    You can limit a course to a specific Skillable Lab provided by the External Tool by adding the Lab ID to the Custom parameters field of the External tool after it has been added to a course. The custom parameter should be entered in the format labid={value}.

    1. To make good use of the LTI 1.3 specification expand the Services section and External Tool configuration using the following values:

      IMS LTI Assignment and Grade ServicesUse this service for grade sync and column management
      IMS LTI Names and Role ProvisioningUse this service to retrieve members' information as per privacy settings
      Tool SettingsUse this service

      Your External tool configuration - Services should look similar to the screenshot below.

      Moodle External Tool Services

    2. Complete the Privacy section configuration of the External Tool using the following values:

      Share launcher's name with toolAlways
      Share launcher's email with toolAlways
      Accept grades from the toolAlways
      Force SSLDepends on your scenario (Default: Unselected)

      Your External tool configuration - Privacy should look similar to the screenshot below.

      Moodle External Tool Privacy

    3. To create your Skillable External Tool select Save changes.

      Optional Configuraitons

      The Miscellaneous section contains optional configurations for your External Tool and can be set to your specific needs.

    4. Saving the External Tool in Moodle creates some basic information required to configure a trust relationship. To obtain this information select the View configuration details icon on the Tool panel for your new External Tool.

      Moodle External Tool View Configuration

    5. On the Tool configuration details dialog, to email a record of the External Tool details to yourself, select the Email button and fill out the email for appropriately.

      Moodle External Tools Email Configuration


    You have now added Skillable as an External App within the Moodle LMS. If it has not already been completed you can continue to Establish Trust between Moodle and Skillable which is the final step in the Skillable to Moodle LTI 1.3 integration process.

    Establish Trust between Moodle and Skillable

    The establishment of the trust relationship between Moodle and Skillable is handled in the setup of LTI 1.3 on the Skillable platform. It is secured through the use of private and public keys.

    This configuration must be performed by the Skillable support team. The Moodle Client ID may be required to complete this configuration. The Client ID is part of the External Tool configuration details.

    Non-Cloud Hosted Instances

    If your instance of Moodle is not Cloud-Hosted you must build the base URLs used for Trust enablement.

    1. Reply to the original Skillable Support ticket and supply the following information to be used to complete the Trust Relationship
    FieldTool Configuration
    LTI 1.3 IssuerPlatform ID
      • Example:
    LTI 1.3 Access Token URLAccess Token URL
      • Example:
    Enable Custom AudNo
    LTI 1.3 Authorize UrlAuthentication request URL
      • Example:
    LTI 1.3 JWK Set UrlPublic Keyset URL
      • Example:
    LTI 1.3 Client IdClient ID
      • Example: 3K6C2LaEwKuK7s
    LTI 1.3 ScoringSelect one of
      - Send Activity Level Scores
      - Send Exam Level Scores
      - Send Both Activity and Exam Level Scores
    LTI 1.3 Send Activity ScoreIf you only want a final summary score select "No"
    If you want a score for each activity select "Yes"

    Once Skillable has confirmed that they have completed the LTI 1.3 configuration on the API Consumer for your organization you can continue on to the next exercise, 5. Test the Integration.

    Test the Integration

    Now that the setup and configuration of both your Moodle instance and the Skillable API Consumer for your organization have been completed it is time to test the integration. Follow these basic steps to ensure that LTI 1.3 is working for you.


    • A completed Moodle LTI 1.3 setup

    • A Skillable API Consumer with LTI 1.3 configured

    • A Skillable Lab published to the API Consumer

    1. Add or edit a course in Moodle.
      See: Moodle - Create a Course

      ID & Secret

      You will need the Consumer and Shared Secret. Skillable refers to these as the API Consumer ID and the Secret.

    2. As an administrator, Course Creator, Instructor or other user with permissions to edit a course configuration, search for, and select, the course you just created.

    3. Ensure that Editing has been turned on for the course.

      Moodle Turn editing off

    4. To add a new External Tool to your course, on the right-hand side of a course activity, you need to select the + Add an activity or resource link.

      Moodle Add an activity

    5. From the Add an activity or resource dialog, search for and select the External tool

      Moodle Add External Tool

    6. In the Adding a new External tool dialog, enter a descriptive name in the Activity name field.

    7. From the Preconfigured tool field select the name of the External Tool that you have created for Moodle.

      Moodle Adding a new External Tool

    8. Select the Show more... link and add a description for the activity in the Activity description field.

    9. To ensure proper display of your lab content set the Launch container field to New window.

    10. If you have configured a generic External Tool you may need to define the Lab ID in the Custom parameters field. To do this select the Show more... link and then, in the Custom parameters field add the value labid={Lab ID}.

      Moodle Custom parameters

    11. Add any other configuration that suits your External tool or lab settings and select Save and return to course to submit your External tool configuration.

    12. On the Course page, select the launch link for the external tool you just configured to launch your lab in a new window and complete the testing of the Moodle LTI 1.3 to Skillable integration.

      Moodle External Tool launch link


    You have now completed the Skillable Moodle LMS LTI 1.3 integration. To fine-tune your integration or if you have any questions please contact Skillable Support.

    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.