What are the different ways to integrate with Schoology?

Within LMS interoperability in edtech, there are two main ways to integrate. Edtech developers in general can use an LMS’s API to develop core functionalities like single sign-on (SSO), rostering, grade passback, and assignment sync. The second way depends on whether the LMS provider also supports the LTI specification (note: some LMS providers don’t).

Edtech developers can use Schoology’s REST API to integrate. The LMS supports the most recent versions of the LTI specification – LTI 1.3 and LTI Advantage – the second integration method. Schoology also supports other data standards to make data more interoperable like Common Cartridge, SAML, and SCORM. Within Schoology, developers can even create Resource Apps, that allow users to import content from an online repository (such as YouTube) to their account – encouraging more passthrough from the LMS.

What can Schoology's API do?

The Schoology API allows edtech developers to authenticate users through Schoology's login flow and retrieve, create, or update content on behalf of the user. Edtech developers who integrate directly to the Schoology API can develop functionality like SSO, rostering, grade passback, and assignment sync. Schoology’s authentication workflow uses OAuth 1.0., whereas other LMS providers, such as Google Classroom and Canvas, use OAuth 2.0. Through the Schoology API, edtech developers can have more freedom in building the integration versus using the LTI specification.

Here are SOME of the objects that edtech developers can access through the API:

  • enrollments,
  • assignments,
  • grades,
  • submissions, and
  • pages

Here’s a full list of accessible objects.

Schoology hosts an App Platform that presents apps in an iframe within Schoology. An embedded app can use the API to enable data requests between itself and Schoology. In Schoology’s terms, it “is no different than attaching an embed code to a Schoology content type”.

What can a Schoology LTI implementation do?

Schoology supports LTI 1.3 and LTI Advantage specifications (as of 2023). The LTI 1.3 specification is a method to authenticate and “launch” users into an iframe from the LMS to the learning app. The LTI Advantage specification is a set of 3 services that can only be implemented on top of the LTI 1.3 specification (1.3 is a prerequisite of LTI Advantage). The 3 services let learning tools host functionality like rostering, grade passback, and assignment sync. When the LTI 1.3 and all three of the LTI Advantage specification services are implemented together the learning app is said to be “LTI Complete” - though this title still requires the learning app to be certified officially.

Additionally, before the learning app can perform any functionality they have to log in once before. A common example is that a teacher first has to log in, and then the learning app can create a class (though it wouldn’t populate with student information). After the teacher logs in, the students can log in, which would populate the student’s details for the learning app. Students attempting to log in before their teacher would result in an error since a class wouldn’t be created without a teacher log in first.

Which Integration Method Do I Choose?

Sometimes within RFPs, a learning institution already has an idea of their chosen integration method. We’ve also found that sometimes learning institutions don’t fully understand the limitations of choosing one integration method over another. This shouldn’t be seen as the fault of the learning institution though; if they could dissect that information by themselves, they would have just built the integration. Instead, we always suggest that edtech developers take the challenge to educate their users on the implications of a method. To us, educated customers are the ideal customer profile to work with.

Starting that conversation could begin by diving deeper, asking questions like:

  • what are you hoping to get out of this integration?
  • what were the factors that led you to decide that?
  • what was important about [X integration method] over [Y integration method]?

Schoology offers documentation at developers.schoology.com to build out API integrations. Developers may send a request to become a Schoology developer and review some guides on how to implement an LTI integration, such as the EduAppsCenter guide on getting started. Schoology allows developers to create schools and accounts to test integrations.

*Updated 4.25.24

Read More on Schoology

Here are other articles we’ve written on Schoology to help you on your journey:

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!