← All LMS

Google Classroom

by Google

Visit website ↗

Google's free LMS for Workspace for Education. Full REST API (Google OAuth2), and change notifications delivered via Google Cloud Pub/Sub rather than traditional HTTP webhooks.

K-12Higher educationFree / Workspace Last verified 2026-06-20
Direct Middleware API Webhooks

Direct integrations

Native integrations you connect from inside the LMS — typically an OAuth "Connect" flow, with no external middleware.

Supported — Deep ties to Google Workspace; third-party tools integrate via LTI and the 'Add-ons' / share-to-Classroom mechanisms.

IntegrationCategoryTypeNotes
Google Workspace (Drive, Docs, Meet) Productivity oauth Native Workspace integration.
Classroom Add-ons (LTI-style) Interoperability lti Embed third-party tools as add-ons.
Share to Classroom Content oauth Browser/button integration to post content.
Google SSO (OAuth) Identity oauth Authentication via Google accounts.

Middleware support

Third-party automation platforms (iPaaS) that connect this LMS to thousands of other apps without code.

Supported — Native Zapier and Make apps exist (built on the Classroom API + Google OAuth).

PlatformSupportedDetails
Zapier Yes Native Google Classroom Zapier app.
Make Yes Native Make Google Classroom app.
Pabbly Connect Yes Via HTTP + Google OAuth.
n8n Yes Via the HTTP Request node + Google OAuth.
Microsoft Power Automate No
Workato No
Tray.io No

API

Programmatic access to the LMS. Endpoints below are a documented subset — always check the vendor's official reference for the complete, current list.

Supported — REST API exposing courses, rosters, coursework, and submissions. Paths below are representative.

TypeREST
Versionv1
AuthenticationGoogle OAuth 2.0 (scoped access tokens)
Base URLhttps://classroom.googleapis.com/v1
FormatJSON
Rate limitPer-project quotas in Google Cloud Console.
Docshttps://developers.google.com/workspace/classroom/reference/rest

Endpoints

Courses

MethodEndpointDescription
GET /courses List courses
POST /courses Create a course
GET /courses/{id} Get a course

Students

MethodEndpointDescription
GET /courses/{courseId}/students List students
POST /courses/{courseId}/students Add a student

Teachers

MethodEndpointDescription
GET /courses/{courseId}/teachers List teachers

Coursework

MethodEndpointDescription
GET /courses/{courseId}/courseWork List coursework
POST /courses/{courseId}/courseWork Create coursework

Submissions

MethodEndpointDescription
GET /courses/{courseId}/courseWork/{id}/studentSubmissions List student submissions

Notifications

MethodEndpointDescription
POST /registrations Register a Pub/Sub notification feed

Profiles

MethodEndpointDescription
GET /userProfiles/{userId} Get a user profile

Webhooks

Outbound HTTP callbacks the LMS sends to your endpoint when events occur, with their supported event types and security model.

Supported — Not traditional HTTP webhooks. You create a 'registration' for a feed and Classroom publishes change notifications to a Google Cloud Pub/Sub topic; you then receive them on a webhook push subscription or by polling Pub/Sub. Registrations last one week and must be renewed. Feeds expose only data your credentials can view.

Docs: https://developers.google.com/workspace/classroom/best-practices/push-notifications

Security: Google OAuth 2.0 Cloud Pub/Sub IAM permissions on the topic HTTPS push endpoint (verified domain)

EventDescription
COURSE_WORK_CHANGESCoursework or student submissions created/modified in a course
ROSTER_CHANGESStudents/teachers join or leave courses in a domain

Sources