Create a Google Classroom add-on activity attachment that captures a student submission and posts a grade

domain: developers.google.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Register your add-on in the Google Workspace Marketplace and configure the add-on's iframe URI and required OAuth 2.0 scopes including the Classroom add-ons scope
  2. When a teacher creates an attachment, handle the teacher iframe launch: create an activity-type attachment via the Classroom add-ons API specifying the student view URI and the max points for the grade passback
  3. When a student opens the assignment, handle the student iframe launch using the attachment context to identify the courseId, itemId, and attachmentId; present the activity content inside the iframe
  4. On student submission, call the Classroom add-ons API to set the student submission state to TURNED_IN and post the numeric grade via the student submission modify attachment parameter
  5. Test the grade passback in a Classroom environment where the assignment has points enabled; grade passback is silently ignored for ungraded assignments without a point value

Known gotchas

Related routes

Create coursework and retrieve student submissions via Google Classroom API
classroom.google.com · 5 steps · unrated
Create a CourseWork assignment in Google Classroom and retrieve its student submissions
education · 5 steps · unrated
Create a grade item and post a student's score via the Brightspace Valence Grades API
education · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans