Canvas by Instructure is one of the most widely used learning management systems in the K-12 space. As such, it’s important to understand how to integrate your content and applications with Canvas. Many schools who use Canvas as their LMS want their content providers to integrate with Canvas. Knowing how to integrate with Canvas can give you a leg up in working with these schools who use Canvas as their LMS.

What are the different ways to integrate with Canvas?

Canvas supports LTI® 1.3 and LTI Advantage, including the Assignment & Grade Services, Deep Linking, and Names & Roles Provisioning Services. Canvas is also certified by the IMS Global Consortium® for Caliper Analytics® and Common Cartridge® compatibility. Additionally, Instructure hosts an online portal for LTI applications called the EduAppCenter.

Canvas also provides a REST and a GraphQL API for developers. Based on our experience at Edlink, it appears that Canvas will be prioritizing development of its GraphQL API over development of the REST API. The Canvas API allows developers to retrieve, create, and modify resources in an authenticated user's Canvas account. There are many resources that can be accessed via the API, including users, quizzes, submissions, assignments, polls, and more. Click here for a full list of resources available through the API.

The Canvas API uses the OAuth 2.0 protocol for authentication. Note that users will have to authenticate by connecting to their specific Canvas domain, which is different for each school district Canvas installation. The Canvas admin of each school you work with will also have to manually save your API keys in their Canvas instance in order to enable the integration.

One of the most striking differences between Canvas and other major LMS's, such as Google Classroom and Schoology, is that it offers, both, a self-hosted option for school districts as well as a cloud-based solution. School districts may choose either option depending on their needs. Furthermore, schools that use a self-hosted version of Canvas must update their Canvas installations manually. That means that you may see different schools using unique versions of Canvas. Hence, an integration that worked with one Canvas instance may not be compatible with another. Keep this in mind when rolling out integrations for different Canvas schools.

How do I get started with integrating with Canvas?

To get started integrating with Canvas, determine what type of integrations your clients require. If you need to develop an LTI® application, the EduAppsCenter has guides on how to get started. If you want to explore Canvas' API, take a look at the documentation. To test out your integrations, you can boot up your own Canvas with the GitHub instructions found here.

Edlink can help you build out your LMS integrations, no matter which method of integration your clients require or which LMS they use. If you're interested in hearing more about Edlink solutions, please contact us at accounts@ed.link or visit our support page at ed.link/support.

Learning Tools Interoperability® (LTI®), Caliper Analytics®, and Common Cartridge® is a trademark of the IMS Global Learning Consortium, Inc. (www.imsglobal.org)