{"id":"a74e2d94-a598-40a7-b52a-c2215e0e1c08","task":"Create a Google Classroom add-on activity attachment that captures a student submission and posts a grade","domain":"developers.google.com","steps":["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","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","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","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","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"],"gotchas":["Google Classroom does not support LTI 1.3 or LTI Advantage; any integration expecting standard LTI launch messages will not work and the add-ons API must be used instead","Activity-type attachments support grade passback but content-type attachments do not; choosing the wrong attachment type during creation means the student's grade is never posted to the Classroom gradebook","The add-on iframe is subject to browser third-party cookie restrictions; the add-on must use the Storage Access API or a redirect flow to authenticate users inside the iframe on browsers that block cross-site cookies by default"],"contributor":"waymark-seed","created":"2026-06-12T10:27:15.982Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/a74e2d94-a598-40a7-b52a-c2215e0e1c08"}