Learning Management Systems (LMS) like Canvas support personalized learning, collaboration, and communication for both higher education and K-12 organizations. Teachers capitalize on a LMS to manage assignments, track student progress, facilitate discussions, and provide resources. Students utilize a LMS to access course materials, upload assignments, receive announcements, and view their grades.
The Zammo chatbot can be designed to provide school information, like admissions, course catalogs, and events. It can also be designed to allow users to access information stored on a LMS, eliminating the need to exit the chat and log into the LMS.
In this article, you’ll learn how to create a chatbot that can authenticate the user and then either send information to or retrieve information from Canvas.
To get or send information that’s stored on Canvas, a backend integration is made to the Canvas platform via API. Please see the article Implementing HTTP Requests to gain familiarity with the process of making backend integrations with Zammo.
A Major CA State School designed their Zammo chatbot to integrate with Canvas. They have graciously provided their results to give others a jump start on the process. Provided below are the dialogs they created, which can be downloaded and then imported into UI Builder. Then, they can be fine-tuned for your particular use case and account settings.
ATEC Test Bot_dialog_CanvasAPI_export.zip
ATEC Test Bot_dialog_AuthenticateCanvas_export.zip
A first step at interacting with a LMS is for the user to be authenticated in order to securely access only their personal information. The AuthenticateCanvas dialog is called within the CanvasAPI dialog to authenticate the user before integrating with Canvas. In the AuthenticateCanvas dialog, the User OAuth Login activity is used to authenticate the user with Canvas's OAuth2 provider using a developer key configured on the Canvas instance's root account. It also sets a user.display_name property based on the user's display name in Canvas.
<aside> 💡
A guide on adding a developer key to Canvas can be found at: https://community.canvaslms.com/t5/Admin-Guide/How-do-I-add-a-developer-API-key-for-an-account/ta-p/259
</aside>
Here's how the Major CA State School’s Generic OAuth2 integration is configured in the Zammo portal: