Knowledge base | Perusall

Integrating Perusall with your LMS

Perusall uses LTI to integrate with Learning Management Systems (LMSs). Once you have set up Perusall as an LTI app inside your LMS, students will be able to launch Perusall through their LMS without having to log into Perusall separately. (Important: If you integrate Perusall with your LMS, direct students to only log into Perusall through the LMS. If they log in to Perusall directly (i.e., at, then they will be seen as a second user.)

To integrate your Perusall course with the corresponding course in your LMS, you will need to provide your LMS with the LTI launch URL, a consumer key, and a shared secret. The LTI launch URL can be found on the course settings page in Perusall (so the course must be created in Perusall first); contact support from your official university email address to retrieve your institution's key and secret.

The instructions for doing this differ by LMS, and may require administrator access:

When setting up Perusall as an LTI app, make sure that your LMS is sending name, email, and role information to Perusall; Perusall uses this information to assign users the correct role (student or instructor) in the course, show student names in conversations, and send students email notifications when other students respond to their questions or comments. (For example, Canvas has a "Privacy" dropdown that should be set to "Name only" or "Public.") Specifically, Perusall requires that your LMS send the following fields:

  • tool_consumer_instance_guid (an ID number uniquely identifying your LMS)
  • user_id (an ID number uniquely identifying each user)
  • roles (LTI standard role identifier)
  • lis_person_name_full (full name)
  • lis_person_name_given (first name)
  • lis_person_name_family (last name)
  • lis_person_contact_email_primary (email address)

Finally, if there is an option to open Perusall in a new tab or window, make sure that is enabled; Perusall blocks LTI launches within an iframe for security reasons.

Some LMSs support gradebook sync between Perusall and the LMS. To do this, set up Perusall as an assignment in the LMS. (For example, Canvas calls this an "external tool" type of assignment.) Give the assignment in the LMS the same name as the assignment in Perusall; there is an option on the dropdown menu for each assignment in Perusall that will copy the assignment name to the clipboard so you can paste it into your LMS. Then students can launch directly into that assignment inside Perusall from the LMS. Once the deadline passes, Perusall will send the grades for the assignment back to the LMS gradebook. Any subsequent changes you make to your course in Perusall that would affect the scores on that assignment (e.g., changing the lateness penalty) will also sync back to your LMS so the LMS gradebook and Perusall gradebook are always in sync. (Note, however, that there may be a delay of up to one hour before changes sync back to the LMS.)

If you want Perusall to send grades to the LMS gradebook, the following fields must also be sent by your LMS:

  • resource_link_title (placement identifier)
  • lis_outcome_service_url (URL to post grades back to)
  • lis_result_sourcedid (indicator of grade passback location)

(Note: Avoid using newlines in the assignment description in the LMS as it can cause problems with LTI launch.)