What are External Apps (LTI Tools)?
LTI provides a framework through which an LMS (Canvas) can send some verifiable information about a user to a third party. By default, most user information is anonymized, but this can be changed when the configuration is first set up.
External Apps can be configured on the account or course level.
How Standardization Enhances EdTech Integration Across LMS Platforms
The EdTech ecosystem includes multiple learning management systems (LMSs) such as Canvas, D2L, Blackboard, Moodle, and others. Each LMS may use its own data model and terminology for organizing information. For example, a student’s ID field might be labeled as StudentID, LearnerID, or StudentIdentification, depending on the platform.
When a tool integrates with multiple LMSs, these differences present a challenge. If each LMS has its own way of identifying information, the tool must create separate, customized integrations for each platform. This is a significant expense, both in initial development and ongoing maintenance.
How LTI Streamlines EdTech Integration
Learning Tools Interoperability (LTI) is a set of standards that enables LMSs to share a common endpoint. This allows a single educational tool to be developed once and used across multiple platforms, eliminating the need for custom integrations. LTI enhances the EdTech ecosystem by making a wider array of tools available in all environments. The LTI specifications are developed and maintained by 1EdTech (formerly IMS Global).
How LTI works
LTI provides a framework that allows an LMS, such as Canvas, to send verifiable user information to a third-party tool. For LTI to function, the third party must provide a consumer key and shared secret, which Canvas uses to generate a signature verifying the authenticity of the transmitted data.
By default, most user information is anonymized, but these settings can be adjusted during the initial configuration.
When Would I Use An External App?

External Apps add functionality to a Canvas course. For example, an instructor may want to include a study aid (flashcards, mini-quizzes, etc.) to help students better understand the concepts being taught.
Admins can add external apps for accounts and subaccounts via XML, URL, or manual configuration.
If apps do not already exist for a course, instructors can add external apps in their courses to create additional learning paths for students. External apps can be added to Modules, Course Navigation, the Rich Content Editor, and Assignments.
In the Rich Content Editor, external apps can be accessed from the Apps icon or added to the toolbar for an account.
How to Configure External Apps
External apps using LTI can be configured at either the account level or the course level, providing flexibility in how tools are deployed within an institution.
By standardizing integrations across LMS platforms, LTI streamlines the implementation of educational tools, reducing costs and increasing the availability of resources for educators and learners alike.
When Would I Use The Canvas App Center?

Admins and instructors can also enable apps through the App Center, which is integrated directly in Canvas.
The Canvas App Center is part of the Apps tab in both Account and Course Settings. It allows you to:
- Add new features to Canvas at the account or course level
- Configure apps to link to modules or assessments
- Install apps without the help of IT
- Create a customized teaching experience
- Open the door to more possibilities
- Filter apps by name
- View installed apps
The App Center is part of the Apps tab in both Account and Course Settings.
Admins can manage the apps that can be used in courses for accounts and subaccounts by creating an allow list in the Edu App Center and managing the allow list in Canvas.
What Does LTI Have to Do With Canvas?
Canvas is considered an LTI platform. This means that tools can be launched from within Canvas. The places tools can be launched from are called Placements—some examples include the Rich Content Editor, assignments, and the left-hand navigation bar.
When a tool is launched from one of these locations, it receives information about the context from which it was launched, such as the placement location, the user who launched it, and the course it was launched from. The tool can then use this information to determine what the user should see and what actions they should be able to perform.
A tool can send information back to Canvas through the Assignments and Grade Service (AGS) or Deep Linking. Both of these methods are described in more detail in the LTI documentation linked below. Data sent back through these methods is stored in Canvas databases as appropriate.
The image below may help you visualize the connections between the different pieces.
Account Vs Course Level Installs
LTI tools can be installed at the account or course levels. The same features are generally available for both, though installations at the course level cannot use global placements. Account-level installations are available in all courses, whereas course-level installations are only available in the specified course.
For LTI 1.3 tools, the developer key must be installed at the account level, but the actual installation can occur at the course, account, or subaccount level.
Differences between LTI 1.1 And 1.3
LTI 1.1 was the original Learning Tools Interoperability specification. LTI 1.1 tools can be installed via EduAppCenter or by accessing Canvas and going to Settings > Apps > View App Configurations, then clicking + App and adding a tool manually, by URL, or by pasting XML.
LTI 1.3 is a newer version of the specification that improves the security of the authentication process. It is also extensible, meaning that 1EdTech can add more features to it without breaking the existing specification. These features are called services or specifications. There is a required set for all platforms, including the Core Service, Names and Roles Provisioning Service, Assignments and Grade Service, and Deep Linking. Other services are optional and can be added depending on specific needs.
In Canvas, LTI 1.3 requires an admin to set up a developer key in Settings, and then a user can add the tool at either the account or course level by pasting in the Client ID. Canvas' implementation of LTI 1.3 supports all placements from LTI 1.1, and our public documentation reflects LTI 1.3 as the standard moving forward. We are continuing to add support for new LTI 1.3 specifications.
Process | LTI 1.1 | LTI 1.3 |
---|---|---|
Authentication | OAuth 1 |
OIDC flow built on OAuth 2 |
Support |
Deprecated by 1EdTech, still supported in Canvas |
Supported by both 1EdTech and Canvas |
Placements |
All placements supported |
All placements supported |
Installation |
EduAppCenter or via +App |
Dev Key and then +App by ClientID |