Schools look for products and apps that can easily integrate with these platforms. For most edtech developers quirks from Microsoft Teams and Google Classroom make integration extremely difficult, leading to roadblocks in development. Developers can use this guide to compare the set of integrations they want to take on and navigate through.
A Little Introduction to Both
Both Google Classroom and Microsoft Teams function differently than other major LMSs (like Canvas or Schoology). The userbases for both Google Classroom and Microsoft Teams have ballooned since the beginning of the COVID-19 pandemic. Now, Google Classroom supports 150 million users and Microsoft Teams supports 100 million students on the system. Both have added tens of millions of new users since the pandemic began.
Google Classroom and Its Quirks
Third-party apps can integrate with Google Classroom through the Google Classroom API. The API allows apps to act on behalf of authenticated users in Google Classroom. For example, an integrated app could create new content in a course in Google Classroom or assign grades to a teacher's gradebook for an assessment.
Google recently announced the introduction of Google Classroom add-ons. These are separate from apps that integrate through the Google Classroom API. From the details that have emerged, it looks like add-ons will appear and function directly inside Google Classroom. Add-ons will only be available to premium Google Workspace for Education accounts.
Some Google Classroom quirks include:
- Google Classroom does not support the LTI standard.
- The Google Classroom API cannot roster based on a school or district. Though it can roster, it can’t retrieve a list of enrollments for a school.
- Users are organized in Google Workspace by “Organizational Units (OU)” rather than specific schools or sections in a district. OUs are typically generated by the school's admin on an ad-hoc basis and often do not correlate to a specific entity.
For example, an OU could contain a list of all of the students who will graduate in a specific year, rather than a list of all of the students at a district's elementary school. This functionality makes rostering users difficult for any app that needs to know where a user is coming from at a specific school within a district.
- The Google Classroom API cannot tell if a student is primarily a student; it’s the same for a teacher. Apps that use the API can identify who the teacher and students are for a particular class. But keep in mind that frequently “teachers” are enrolled as “students” in some courses, like those taught by other educators.
Microsoft Teams and Its Quirks
This LMS is essentially the Microsoft Teams platform with added features to support online learning, like assessment creation and grade assignment.
Apps can integrate with Microsoft Teams through the Microsoft Graph API (specifically, the education API). The Microsoft Graph API allows an application to act on behalf of an authenticated user in Microsoft Teams. This means that an integrated application can perform certain functions, such as obtaining the list of enrollments for a user, creating assignments, or passing back grades to the user's gradebook.
Some Microsoft Teams quirks include:
- Microsoft Teams does not support the LTI standard.
- Most of the education API is still in beta, including any API calls regarding the creation of assignments or grade passback. This means that Microsoft can change these APIs at any time – potentially breaking an app’s integration.
But it is still important to know that:
To integrate an app with a district's Microsoft Teams environment, the app must obtain consent from the district's IT administrator. Once granted, the app can obtain rostering information from any school in the connected district. Since teacher and student enrollment data in Microsoft Teams originates from a district's Azure Active Directory database, the rostering APIs can obtain a full list of schools and classes where users are enrolled. The Microsoft Graph rostering APIs can also retrieve the primary role of the user (i.e. teacher, student, or administrator).
Building a one-off integration to either LMS will leave developers always guessing if they should have built an integration to the other system instead. Why? The number of users between each LMS would make any edtech platform miss out on a large part of the market. Developers should also note their resources to solve these integration quirks. Along with valuing if their product might be better suited to integrate with one set of quirks than another.
Read More on Google Classroom or Microsoft Teams
Here are other articles we’ve written on Google Classroom and Microsoft Teams to help you on your integration journey:
- How to Implement SSO for Google Classroom
- How to Whitelist an Application in Google
- Should I Integrate with Schoology or Google Classroom
- How to Implement SSO with Microsoft Teams
- How to Use the Microsoft Graph API in Integrate with Microsoft Teams
Learn More about Edlink
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!