{"id":"b36e3458-de59-4b4b-a143-ef67fd142258","entityType":"agent","slug":"clawhub-hith3sh-google-classroom-education","name":"Google Classroom","canonicalUrl":"https://www.xpersona.co/agent/clawhub-hith3sh-google-classroom-education","canonicalPath":"/agent/clawhub-hith3sh-google-classroom-education","generatedAt":"2026-10-10T05:58:58.089Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":null},"description":"Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... Skill: Google Classroom Owner: hith3sh Summary: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:09:35.367Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.8K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-classroom-education","sourceUrl":"https://clawhub.ai/hith3sh/google-classroom-education","homepage":"https://clawhub.ai/hith3sh/skills/google-classroom-education","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/hith3sh/google-classroom-education","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/hith3sh/skills/google-classroom-education","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":null},"stars":null,"forks":null,"downloads":2805,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"2.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T11:25:53.097Z","lastCrawledAt":"2026-10-09T11:25:53.097Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T11:25:53.097Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-06-09T07:09:35.367Z","changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","fileCount":3,"zipByteSize":5635},{"version":"1.0.5","createdAt":"2026-06-09T06:09:06.536Z","changelog":"- Removed the unused file: skill-card.md. - Updated brand image link in SKILL.md for consistency. - No changes to functionality or skill features.","fileCount":3,"zipByteSize":5715},{"version":"1.0.4","createdAt":"2026-06-09T04:55:24.451Z","changelog":"- Removed the file skill-card.md for a simpler repository structure. - No changes to skill behavior or features.","fileCount":3,"zipByteSize":5562},{"version":"1.0.1","createdAt":"2026-06-08T16:37:01.040Z","changelog":"- Added the official Google Classroom logo to the documentation for improved branding. - Removed the redundant skill-card.md file. - No functional changes to the underlying skill; update is documentation-only.","fileCount":3,"zipByteSize":5719},{"version":"0.1.1","createdAt":"2026-06-07T13:30:13.082Z","changelog":"Full rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.","fileCount":3,"zipByteSize":5605},{"version":"0.1.0","createdAt":"2026-05-16T17:49:52.887Z","changelog":"- Initial release of the google-classroom-education skill. - Enables management of Google Classroom courses, coursework, students, teachers, submissions, and announcements via chat. - Integrates with ClawLink to simplify setup—no need for manual Google Classroom API configuration. - Provides step-by-step instructions for setup, pairing, and connecting Google Classroom. - Emphasizes safe use: always use ClawLink tools, require confirmation before write actions, and never request raw credentials.","fileCount":3,"zipByteSize":3486}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-classroom-education","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:58:58.087Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-classroom-education/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":null},"readme":"Skill: Google Classroom\n\nOwner: hith3sh\n\nSummary: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want...\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-06-09T07:09:35.367Z | user\n\nAdd UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.\n\nv1.0.5 | 2026-06-09T06:09:06.536Z | auto\n\n- Removed the unused file: skill-card.md.\n- Updated brand image link in SKILL.md for consistency.\n- No changes to functionality or skill features.\n\nv1.0.4 | 2026-06-09T04:55:24.451Z | auto\n\n- Removed the file skill-card.md for a simpler repository structure.\n- No changes to skill behavior or features.\n\nv1.0.1 | 2026-06-08T16:37:01.040Z | auto\n\n- Added the official Google Classroom logo to the documentation for improved branding.\n- Removed the redundant skill-card.md file.\n- No functional changes to the underlying skill; update is documentation-only.\n\nv0.1.1 | 2026-06-07T13:30:13.082Z | user\n\nFull rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.\n\nv0.1.0 | 2026-05-16T17:49:52.887Z | auto\n\n- Initial release of the google-classroom-education skill.\n- Enables management of Google Classroom courses, coursework, students, teachers, submissions, and announcements via chat.\n- Integrates with ClawLink to simplify setup—no need for manual Google Classroom API configuration.\n- Provides step-by-step instructions for setup, pairing, and connecting Google Classroom.\n- Emphasizes safe use: always use ClawLink tools, require confirmation before write actions, and never request raw credentials.\n\nArchive index:\n\nArchive v1.0.6: 3 files, 5635 bytes\n\nFiles: skill-card.md (2332b), SKILL.md (14156b), _meta.json (145b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\n![Google Classroom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-classroom.svg?v=2)\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'\n```\n\n## Authentication\n\nAll Google Classroom tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Classroom API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-classroom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-classroom\n```\n\n**Response:** Returns the live tool catalog for Google Classroom.\n\n### Reconnect\n\nIf Google Classroom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-classroom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-classroom`\n\n## Security & Permissions\n\n- Access is scoped to Google Classroom courses the connected account can manage.\n- Teachers can manage their own courses; students have read-only access to their enrolled courses.\n- **All write operations require explicit user confirmation.** Before executing any coursework creation, announcement posting, or grade changes, confirm the intended effect with the user.\n- Destructive actions (deleting coursework, removing students) are marked as high-impact and must be confirmed.\n\n## Tool Reference\n\n### Courses\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_courses` | List courses the user is enrolled in or teaches | Read |\n| `google_classroom_get_course` | Get course details | Read |\n| `google_classroom_create_course` | Create a new course | Write |\n| `google_classroom_update_course` | Update course name, description, or section | Write |\n| `google_classroom_delete_course` | Delete a course | Write |\n\n### Coursework\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_course_work` | List all coursework in a course | Read |\n| `google_classroom_get_course_work` | Get specific coursework details | Read |\n| `google_classroom_create_course_work` | Create new assignment or question | Write |\n| `google_classroom_update_course_work` | Update an existing assignment | Write |\n| `google_classroom_delete_course_work` | Delete coursework | Write |\n\n### Students & Teachers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_students` | List students enrolled in a course | Read |\n| `google_classroom_list_teachers` | List teachers of a course | Read |\n| `google_classroom_add_student` | Add a student to a course | Write |\n| `google_classroom_add_teacher` | Add a teacher to a course | Write |\n| `google_classroom_remove_student` | Remove a student from a course | Write |\n| `google_classroom_remove_teacher` | Remove a teacher from a course | Write |\n\n### Submissions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_submissions` | List student submissions for coursework | Read |\n| `google_classroom_get_submission` | Get submission details and grade | Read |\n| `google_classroom_patch_submission` | Update submission grade or status | Write |\n\n### Announcements\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_announcements` | List announcements in a course | Read |\n| `google_classroom_create_announcement` | Post an announcement to a course | Write |\n| `google_classroom_delete_announcement` | Delete an announcement | Write |\n\n## Code Examples\n\n### List all courses\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'\n```\n\n### List students in a course\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_students\" \\\n  --params '{\n    \"course_id\": \"course-id\"\n  }'\n```\n\n### Create a new assignment\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_course_work\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"title\": \"Week 5 Homework\",\n    \"description\": \"Complete exercises 1-10 from Chapter 5\",\n    \"due_date\": {\n      \"year\": 2025,\n      \"month\": 2,\n      \"day\": 15\n    },\n    \"work_type\": \"ASSIGNMENT\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n### Post an announcement\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_announcement\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"text\": \"Reminder: The midterm exam is scheduled for next Tuesday. Please review Chapters 1-8.\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools --integration google-classroom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List courses → Get course → List students         │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Preview announcement → User confirms              │\n│           → Execute post                                     │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Course IDs are unique strings (e.g., `abc123xyz`) assigned by Google Classroom.\n- Only teachers and administrators can create or modify coursework and announcements.\n- Students can only view their own submissions and grades.\n- Coursework `due_date` requires year, month, and day fields.\n- Deleting a course removes all associated coursework, submissions, and announcements.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-classroom`. |\n| Missing connection | Google Classroom is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-classroom. |\n| `404 Not Found` | Course, student, or coursework does not exist. Verify the IDs. |\n| `403 Forbidden` | The connected account is not a teacher or admin for this course. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-classroom`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [Google Calendar](https://clawhub.ai/hith3sh/google-calendar-scheduling) — For scheduling class sessions\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive) — For file management in Classroom\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780988975367\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, educators, and developers use this skill to inspect Google Classroom courses and rosters, review coursework and submissions, and perform confirmed changes such as assignments, announcements, grades, or roster updates.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill depends on the external ClawLink plugin and OAuth broker for Google Classroom access.\n\nMitigation: Install only if ClawLink and the ClawHub plugin package are trusted, and connect the least-privileged Google account that fits the task.\n\nRisk: Grade, roster, coursework, course deletion, and announcement changes can affect real classroom data.\n\nMitigation: Review previews carefully and require explicit confirmation before any write or destructive operation.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-classroom-education)\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration instructions, API Calls]\n\n**Output Format:** [Markdown with inline bash commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a connected Google Classroom account through ClawLink; write operations should be previewed and confirmed before execution.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 5715 bytes\n\nFiles: skill-card.md (2722b), SKILL.md (13919b), _meta.json (145b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\n![Google Classroom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-classroom.svg?v=2)\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'\n```\n\n## Authentication\n\nAll Google Classroom tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Classroom API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-classroom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-classroom\n```\n\n**Response:** Returns the live tool catalog for Google Classroom.\n\n### Reconnect\n\nIf Google Classroom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-classroom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-classroom`\n\n## Security & Permissions\n\n- Access is scoped to Google Classroom courses the connected account can manage.\n- Teachers can manage their own courses; students have read-only access to their enrolled courses.\n- **All write operations require explicit user confirmation.** Before executing any coursework creation, announcement posting, or grade changes, confirm the intended effect with the user.\n- Destructive actions (deleting coursework, removing students) are marked as high-impact and must be confirmed.\n\n## Tool Reference\n\n### Courses\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_courses` | List courses the user is enrolled in or teaches | Read |\n| `google_classroom_get_course` | Get course details | Read |\n| `google_classroom_create_course` | Create a new course | Write |\n| `google_classroom_update_course` | Update course name, description, or section | Write |\n| `google_classroom_delete_course` | Delete a course | Write |\n\n### Coursework\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_course_work` | List all coursework in a course | Read |\n| `google_classroom_get_course_work` | Get specific coursework details | Read |\n| `google_classroom_create_course_work` | Create new assignment or question | Write |\n| `google_classroom_update_course_work` | Update an existing assignment | Write |\n| `google_classroom_delete_course_work` | Delete coursework | Write |\n\n### Students & Teachers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_students` | List students enrolled in a course | Read |\n| `google_classroom_list_teachers` | List teachers of a course | Read |\n| `google_classroom_add_student` | Add a student to a course | Write |\n| `google_classroom_add_teacher` | Add a teacher to a course | Write |\n| `google_classroom_remove_student` | Remove a student from a course | Write |\n| `google_classroom_remove_teacher` | Remove a teacher from a course | Write |\n\n### Submissions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_submissions` | List student submissions for coursework | Read |\n| `google_classroom_get_submission` | Get submission details and grade | Read |\n| `google_classroom_patch_submission` | Update submission grade or status | Write |\n\n### Announcements\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_announcements` | List announcements in a course | Read |\n| `google_classroom_create_announcement` | Post an announcement to a course | Write |\n| `google_classroom_delete_announcement` | Delete an announcement | Write |\n\n## Code Examples\n\n### List all courses\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'\n```\n\n### List students in a course\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_students\" \\\n  --params '{\n    \"course_id\": \"course-id\"\n  }'\n```\n\n### Create a new assignment\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_course_work\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"title\": \"Week 5 Homework\",\n    \"description\": \"Complete exercises 1-10 from Chapter 5\",\n    \"due_date\": {\n      \"year\": 2025,\n      \"month\": 2,\n      \"day\": 15\n    },\n    \"work_type\": \"ASSIGNMENT\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n### Post an announcement\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_announcement\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"text\": \"Reminder: The midterm exam is scheduled for next Tuesday. Please review Chapters 1-8.\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools --integration google-classroom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List courses → Get course → List students         │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Preview announcement → User confirms              │\n│           → Execute post                                     │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Course IDs are unique strings (e.g., `abc123xyz`) assigned by Google Classroom.\n- Only teachers and administrators can create or modify coursework and announcements.\n- Students can only view their own submissions and grades.\n- Coursework `due_date` requires year, month, and day fields.\n- Deleting a course removes all associated coursework, submissions, and announcements.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-classroom`. |\n| Missing connection | Google Classroom is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-classroom. |\n| `404 Not Found` | Course, student, or coursework does not exist. Verify the IDs. |\n| `403 Forbidden` | The connected account is not a teacher or admin for this course. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-classroom`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [Google Calendar](https://clawhub.ai/hith3sh/google-calendar-scheduling) — For scheduling class sessions\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive) — For file management in Classroom\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780985346536\n}\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEducators, teaching assistants, school administrators, and agents supporting them use this skill to inspect Google Classroom courses, rosters, coursework, submissions, announcements, and grades. It also helps prepare and execute confirmed Classroom updates through ClawLink. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Google Classroom OAuth access can expose course, roster, submission, and grade data if connected to the wrong account or an untrusted service. <br>\nMitigation: Use only the intended Google account, review the requested Google permissions during connection, and make sure the user trusts ClawLink before installation. <br>\nRisk: Write operations can post announcements, modify coursework, change grades, alter rosters, or delete Classroom resources. <br>\nMitigation: Require explicit user confirmation before posts, grade changes, roster changes, coursework changes, or deletions, and preview write actions when available. <br>\nRisk: Assuming tool availability or parameters can lead to failed or unintended Classroom actions. <br>\nMitigation: Verify the Google Classroom connection and live tool catalog, and describe unfamiliar tools before calling them. <br>\n\n\n## Reference(s): <br>\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest) <br>\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/google-classroom-education) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline bash commands and JSON parameter examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guidance may include confirmation steps before write, grade, roster, announcement, or deletion actions.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.4: 3 files, 5562 bytes\n\nFiles: skill-card.md (2389b), SKILL.md (13915b), _meta.json (145b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\n![Google Classroom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-classroom.svg)\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'\n```\n\n## Authentication\n\nAll Google Classroom tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Classroom API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-classroom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-classroom\n```\n\n**Response:** Returns the live tool catalog for Google Classroom.\n\n### Reconnect\n\nIf Google Classroom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-classroom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-classroom`\n\n## Security & Permissions\n\n- Access is scoped to Google Classroom courses the connected account can manage.\n- Teachers can manage their own courses; students have read-only access to their enrolled courses.\n- **All write operations require explicit user confirmation.** Before executing any coursework creation, announcement posting, or grade changes, confirm the intended effect with the user.\n- Destructive actions (deleting coursework, removing students) are marked as high-impact and must be confirmed.\n\n## Tool Reference\n\n### Courses\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_courses` | List courses the user is enrolled in or teaches | Read |\n| `google_classroom_get_course` | Get course details | Read |\n| `google_classroom_create_course` | Create a new course | Write |\n| `google_classroom_update_course` | Update course name, description, or section | Write |\n| `google_classroom_delete_course` | Delete a course | Write |\n\n### Coursework\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_course_work` | List all coursework in a course | Read |\n| `google_classroom_get_course_work` | Get specific coursework details | Read |\n| `google_classroom_create_course_work` | Create new assignment or question | Write |\n| `google_classroom_update_course_work` | Update an existing assignment | Write |\n| `google_classroom_delete_course_work` | Delete coursework | Write |\n\n### Students & Teachers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_students` | List students enrolled in a course | Read |\n| `google_classroom_list_teachers` | List teachers of a course | Read |\n| `google_classroom_add_student` | Add a student to a course | Write |\n| `google_classroom_add_teacher` | Add a teacher to a course | Write |\n| `google_classroom_remove_student` | Remove a student from a course | Write |\n| `google_classroom_remove_teacher` | Remove a teacher from a course | Write |\n\n### Submissions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_submissions` | List student submissions for coursework | Read |\n| `google_classroom_get_submission` | Get submission details and grade | Read |\n| `google_classroom_patch_submission` | Update submission grade or status | Write |\n\n### Announcements\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_announcements` | List announcements in a course | Read |\n| `google_classroom_create_announcement` | Post an announcement to a course | Write |\n| `google_classroom_delete_announcement` | Delete an announcement | Write |\n\n## Code Examples\n\n### List all courses\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'\n```\n\n### List students in a course\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_students\" \\\n  --params '{\n    \"course_id\": \"course-id\"\n  }'\n```\n\n### Create a new assignment\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_course_work\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"title\": \"Week 5 Homework\",\n    \"description\": \"Complete exercises 1-10 from Chapter 5\",\n    \"due_date\": {\n      \"year\": 2025,\n      \"month\": 2,\n      \"day\": 15\n    },\n    \"work_type\": \"ASSIGNMENT\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n### Post an announcement\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_announcement\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"text\": \"Reminder: The midterm exam is scheduled for next Tuesday. Please review Chapters 1-8.\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools --integration google-classroom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List courses → Get course → List students         │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Preview announcement → User confirms              │\n│           → Execute post                                     │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Course IDs are unique strings (e.g., `abc123xyz`) assigned by Google Classroom.\n- Only teachers and administrators can create or modify coursework and announcements.\n- Students can only view their own submissions and grades.\n- Coursework `due_date` requires year, month, and day fields.\n- Deleting a course removes all associated coursework, submissions, and announcements.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-classroom`. |\n| Missing connection | Google Classroom is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-classroom. |\n| `404 Not Found` | Course, student, or coursework does not exist. Verify the IDs. |\n| `403 Forbidden` | The connected account is not a teacher or admin for this course. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-classroom`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [Google Calendar](https://clawhub.ai/hith3sh/google-calendar-scheduling) — For scheduling class sessions\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive) — For file management in Classroom\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780980924451\n}\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEducators, students, administrators, and agents working on their behalf use this skill to inspect Google Classroom courses, rosters, coursework, submissions, grades, and announcements, and to perform confirmed classroom updates through the Google Classroom API. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill requires OAuth access and sensitive credentials for Google Classroom through ClawLink. <br>\nMitigation: Only connect accounts needed for the classroom task, review requested access before use, and grant tool access that matches the skill's stated purpose. <br>\nRisk: Write operations can create, update, delete, or grade classroom content. <br>\nMitigation: Preview and confirm all write or destructive actions before execution, and prefer read or list operations first when intent is ambiguous. <br>\n\n\n## Reference(s): <br>\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest) <br>\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/google-classroom-education) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and Google Classroom tool-call parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Google Classroom account through ClawLink; write and destructive actions require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 5719 bytes\n\nFiles: skill-card.md (2745b), SKILL.md (13915b), _meta.json (145b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\n![Google Classroom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-classroom.svg)\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'\n```\n\n## Authentication\n\nAll Google Classroom tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Classroom API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-classroom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-classroom\n```\n\n**Response:** Returns the live tool catalog for Google Classroom.\n\n### Reconnect\n\nIf Google Classroom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-classroom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-classroom`\n\n## Security & Permissions\n\n- Access is scoped to Google Classroom courses the connected account can manage.\n- Teachers can manage their own courses; students have read-only access to their enrolled courses.\n- **All write operations require explicit user confirmation.** Before executing any coursework creation, announcement posting, or grade changes, confirm the intended effect with the user.\n- Destructive actions (deleting coursework, removing students) are marked as high-impact and must be confirmed.\n\n## Tool Reference\n\n### Courses\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_courses` | List courses the user is enrolled in or teaches | Read |\n| `google_classroom_get_course` | Get course details | Read |\n| `google_classroom_create_course` | Create a new course | Write |\n| `google_classroom_update_course` | Update course name, description, or section | Write |\n| `google_classroom_delete_course` | Delete a course | Write |\n\n### Coursework\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_course_work` | List all coursework in a course | Read |\n| `google_classroom_get_course_work` | Get specific coursework details | Read |\n| `google_classroom_create_course_work` | Create new assignment or question | Write |\n| `google_classroom_update_course_work` | Update an existing assignment | Write |\n| `google_classroom_delete_course_work` | Delete coursework | Write |\n\n### Students & Teachers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_students` | List students enrolled in a course | Read |\n| `google_classroom_list_teachers` | List teachers of a course | Read |\n| `google_classroom_add_student` | Add a student to a course | Write |\n| `google_classroom_add_teacher` | Add a teacher to a course | Write |\n| `google_classroom_remove_student` | Remove a student from a course | Write |\n| `google_classroom_remove_teacher` | Remove a teacher from a course | Write |\n\n### Submissions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_submissions` | List student submissions for coursework | Read |\n| `google_classroom_get_submission` | Get submission details and grade | Read |\n| `google_classroom_patch_submission` | Update submission grade or status | Write |\n\n### Announcements\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_announcements` | List announcements in a course | Read |\n| `google_classroom_create_announcement` | Post an announcement to a course | Write |\n| `google_classroom_delete_announcement` | Delete an announcement | Write |\n\n## Code Examples\n\n### List all courses\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'\n```\n\n### List students in a course\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_students\" \\\n  --params '{\n    \"course_id\": \"course-id\"\n  }'\n```\n\n### Create a new assignment\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_course_work\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"title\": \"Week 5 Homework\",\n    \"description\": \"Complete exercises 1-10 from Chapter 5\",\n    \"due_date\": {\n      \"year\": 2025,\n      \"month\": 2,\n      \"day\": 15\n    },\n    \"work_type\": \"ASSIGNMENT\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n### Post an announcement\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_announcement\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"text\": \"Reminder: The midterm exam is scheduled for next Tuesday. Please review Chapters 1-8.\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools --integration google-classroom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List courses → Get course → List students         │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Preview announcement → User confirms              │\n│           → Execute post                                     │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Course IDs are unique strings (e.g., `abc123xyz`) assigned by Google Classroom.\n- Only teachers and administrators can create or modify coursework and announcements.\n- Students can only view their own submissions and grades.\n- Coursework `due_date` requires year, month, and day fields.\n- Deleting a course removes all associated coursework, submissions, and announcements.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-classroom`. |\n| Missing connection | Google Classroom is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-classroom. |\n| `404 Not Found` | Course, student, or coursework does not exist. Verify the IDs. |\n| `403 Forbidden` | The connected account is not a teacher or admin for this course. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-classroom`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [Google Calendar](https://clawhub.ai/hith3sh/google-calendar-scheduling) — For scheduling class sessions\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive) — For file management in Classroom\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780936621040\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal educators, teaching assistants, administrators, and agents acting with their approval use this skill to inspect courses and rosters, manage coursework and announcements, and review submissions or grades in connected Google Classroom accounts. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: OAuth access to Google Classroom may expose course, roster, coursework, submission, or grade data through the connected account. <br>\nMitigation: Review the OAuth consent screen and connect the least-privileged Google account that can complete the requested task. <br>\nRisk: Write actions can create, update, delete, or publish classroom resources, including coursework, announcements, rosters, and grades. <br>\nMitigation: Use read and describe steps first, preview the exact operation, verify identifiers, and execute only after explicit user confirmation. <br>\nRisk: A stale or unavailable live tool catalog can cause incorrect tool selection or failed calls. <br>\nMitigation: Confirm the Google Classroom connection, list the live integration tools, and use tool descriptions or search before calling unfamiliar tools. <br>\n\n\n## Reference(s): <br>\n- [ClawHub listing](https://clawhub.ai/hith3sh/google-classroom-education) <br>\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest) <br>\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, guidance, shell commands, configuration] <br>\n**Output Format:** [Markdown with inline shell commands and JSON parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Google Classroom account through ClawLink; write and destructive actions require preview and explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server-resolved release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.1: 3 files, 5605 bytes\n\nFiles: skill-card.md (2689b), SKILL.md (13786b), _meta.json (145b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'\n```\n\n## Authentication\n\nAll Google Classroom tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google Classroom API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-classroom` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-classroom\n```\n\n**Response:** Returns the live tool catalog for Google Classroom.\n\n### Reconnect\n\nIf Google Classroom tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-classroom\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-classroom`\n\n## Security & Permissions\n\n- Access is scoped to Google Classroom courses the connected account can manage.\n- Teachers can manage their own courses; students have read-only access to their enrolled courses.\n- **All write operations require explicit user confirmation.** Before executing any coursework creation, announcement posting, or grade changes, confirm the intended effect with the user.\n- Destructive actions (deleting coursework, removing students) are marked as high-impact and must be confirmed.\n\n## Tool Reference\n\n### Courses\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_courses` | List courses the user is enrolled in or teaches | Read |\n| `google_classroom_get_course` | Get course details | Read |\n| `google_classroom_create_course` | Create a new course | Write |\n| `google_classroom_update_course` | Update course name, description, or section | Write |\n| `google_classroom_delete_course` | Delete a course | Write |\n\n### Coursework\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_course_work` | List all coursework in a course | Read |\n| `google_classroom_get_course_work` | Get specific coursework details | Read |\n| `google_classroom_create_course_work` | Create new assignment or question | Write |\n| `google_classroom_update_course_work` | Update an existing assignment | Write |\n| `google_classroom_delete_course_work` | Delete coursework | Write |\n\n### Students & Teachers\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_students` | List students enrolled in a course | Read |\n| `google_classroom_list_teachers` | List teachers of a course | Read |\n| `google_classroom_add_student` | Add a student to a course | Write |\n| `google_classroom_add_teacher` | Add a teacher to a course | Write |\n| `google_classroom_remove_student` | Remove a student from a course | Write |\n| `google_classroom_remove_teacher` | Remove a teacher from a course | Write |\n\n### Submissions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_submissions` | List student submissions for coursework | Read |\n| `google_classroom_get_submission` | Get submission details and grade | Read |\n| `google_classroom_patch_submission` | Update submission grade or status | Write |\n\n### Announcements\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `google_classroom_list_announcements` | List announcements in a course | Read |\n| `google_classroom_create_announcement` | Post an announcement to a course | Write |\n| `google_classroom_delete_announcement` | Delete an announcement | Write |\n\n## Code Examples\n\n### List all courses\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'\n```\n\n### List students in a course\n\n```bash\nclawlink_call_tool --tool \"google_classroom_list_students\" \\\n  --params '{\n    \"course_id\": \"course-id\"\n  }'\n```\n\n### Create a new assignment\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_course_work\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"title\": \"Week 5 Homework\",\n    \"description\": \"Complete exercises 1-10 from Chapter 5\",\n    \"due_date\": {\n      \"year\": 2025,\n      \"month\": 2,\n      \"day\": 15\n    },\n    \"work_type\": \"ASSIGNMENT\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n### Post an announcement\n\n```bash\nclawlink_call_tool --tool \"google_classroom_create_announcement\" \\\n  --params '{\n    \"course_id\": \"course-id\",\n    \"text\": \"Reminder: The midterm exam is scheduled for next Tuesday. Please review Chapters 1-8.\",\n    \"state\": \"PUBLISHED\"\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools --integration google-classroom` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List courses → Get course → List students         │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Preview announcement → User confirms              │\n│           → Execute post                                     │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Course IDs are unique strings (e.g., `abc123xyz`) assigned by Google Classroom.\n- Only teachers and administrators can create or modify coursework and announcements.\n- Students can only view their own submissions and grades.\n- Coursework `due_date` requires year, month, and day fields.\n- Deleting a course removes all associated coursework, submissions, and announcements.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-classroom`. |\n| Missing connection | Google Classroom is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-classroom. |\n| `404 Not Found` | Course, student, or coursework does not exist. Verify the IDs. |\n| `403 Forbidden` | The connected account is not a teacher or admin for this course. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-classroom`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [Google Calendar](https://clawhub.ai/hith3sh/google-calendar-scheduling) — For scheduling class sessions\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive) — For file management in Classroom\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1780839013082\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and education administrators use this skill to inspect Google Classroom courses, rosters, coursework, submissions, announcements, and grades, and to make confirmed changes through the connected Google Classroom account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access sensitive Google Classroom data such as rosters, submissions, and grades through the connected account. <br>\nMitigation: Approve OAuth only for the intended Google account and verify the active Google Classroom connection before use. <br>\nRisk: Coursework, announcements, roster entries, grades, or courses could be changed or deleted if a write or destructive action is confirmed incorrectly. <br>\nMitigation: Preview and explicitly confirm any write, deletion, roster, announcement, or grade change before execution. <br>\nRisk: The connected account may not have teacher or administrator permissions for a requested course action. <br>\nMitigation: Check course access and use read operations to verify course, student, teacher, and coursework IDs before attempting changes. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/google-classroom-education) <br>\n- [Publisher Profile](https://clawhub.ai/user/hith3sh) <br>\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest) <br>\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration instructions, API calls] <br>\n**Output Format:** [Markdown with inline bash commands and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Google Classroom account through ClawLink; write and destructive actions require user confirmation.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (source: release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 3 files, 3486 bytes\n\nFiles: skill-card.md (2418b), SKILL.md (5180b), _meta.json (145b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements - powered by ClawLink.\n---\n\n# Google Classroom\n\nWork with Google Classroom from chat - manage courses, coursework, students, teachers, submissions, and announcements.\n\nPowered by [ClawLink](https://claw-link.dev), an integration hub for OpenClaw that handles hosted connection flows and credentials so you don't need to configure Google Classroom API access yourself.\n\n## Quick start\n\n1. Install the verified ClawLink plugin: `openclaw plugins install clawhub:clawlink-plugin`\n2. Start a fresh OpenClaw chat if the plugin was just installed and ClawLink tools are not visible yet\n3. If ClawLink is not configured, call `clawlink_begin_pairing`\n4. Tell the user to open the returned pairing URL, sign in to ClawLink if needed, and approve the device\n5. After the user confirms approval, call `clawlink_get_pairing_status`\n6. Tell the user to connect Google Classroom at [claw-link.dev/dashboard?add=google-classroom](https://claw-link.dev/dashboard?add=google-classroom)\n7. When the user confirms Google Classroom is connected, call `clawlink_list_integrations` and then `clawlink_list_tools` with the `google-classroom` integration slug\n\n## Setup details\n\n### Installing the plugin\n\nIf the ClawLink plugin is not installed yet, tell the user to run:\n\n```\nopenclaw plugins install clawhub:clawlink-plugin\n```\n\nIf the current chat started before the plugin was installed and ClawLink tools are still unavailable, tell the user to start a fresh chat so OpenClaw reloads the plugin tool catalog.\n\n### Pairing ClawLink\n\nIf ClawLink reports that the plugin is not configured, the plugin has not been paired with the user's ClawLink account yet.\n\n1. Call `clawlink_begin_pairing`.\n2. Tell the user to open the returned pairing URL in their browser.\n3. The user signs in to ClawLink if needed and approves the OpenClaw device.\n4. After the user confirms approval, call `clawlink_get_pairing_status` to finish local setup.\n\nThe resulting device credential is stored locally in OpenClaw's plugin config and is only sent to `claw-link.dev`. The user should not paste raw credentials into chat.\n\n### Connecting Google Classroom\n\nTell the user to open https://claw-link.dev/dashboard?add=google-classroom and connect Google Classroom there. The page opens the add-connection panel filtered to Google Classroom. ClawLink's hosted page runs the provider connection flow. When they confirm it is done, call `clawlink_list_integrations` to verify, then call `clawlink_list_tools` with integration `google-classroom`.\n\n## Using Google Classroom tools\n\nClawLink provides tools dynamically based on what the user has connected. You do not need to know tool names or schemas in advance.\n\n### Discovery\n\n1. Call `clawlink_list_integrations` to confirm Google Classroom is connected.\n2. Call `clawlink_list_tools` with integration `google-classroom`.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-classroom`.\n5. If no Google Classroom tools appear, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n\n### Execution\n\n1. Call `clawlink_describe_tool` before using an unfamiliar tool, before any write, or when the request is ambiguous.\n2. Use the returned schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups`.\n3. Prefer read, list, search, and get operations before writes.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first, then confirm with the user.\n5. Execute with `clawlink_call_tool`.\n6. If it fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## What you can do\n\nTypical Google Classroom tasks (actual availability depends on the user's connected account, permissions, scopes, and current ClawLink tool catalog):\n\n- List courses, students, and teachers\n- Inspect coursework and submissions\n- Create or update coursework after confirmation\n- Post announcements after confirmation\n- Review grades and classroom rosters when available\n\n## Rules\n\n- Always use ClawLink tools for Google Classroom. Do not ask the user for separate Google Classroom credentials.\n- Do not claim a capability is missing without checking the live ClawLink catalog in the current turn.\n- Do not invent slash commands or ask the user to paste raw credentials.\n- Ask for confirmation before destructive, external-facing, or bulk write actions.\n- If Google Classroom is not connected, direct the user to https://claw-link.dev/dashboard?add=google-classroom.\n- Never echo or repeat the user's ClawLink credential.\n\n## Resources\n\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n- ClawLink Source: https://github.com/hith3sh/clawlink\n- Google Classroom API: https://developers.google.com/classroom/reference/rest\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778953792887\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements - powered by ClawLink. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEducators, teaching assistants, and classroom administrators use this skill from chat to inspect Google Classroom data and manage courses, rosters, coursework, submissions, and announcements through ClawLink. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: A user may connect or authorize the wrong Google Classroom account. <br>\nMitigation: Review the ClawLink and Google consent screens and use the intended classroom account before proceeding. <br>\nRisk: Coursework, announcement, roster, grade, or bulk changes can affect classroom data. <br>\nMitigation: Preview write actions and obtain explicit user confirmation before executing changes. <br>\nRisk: Available classroom actions can vary by connected account, scopes, permissions, and the current ClawLink catalog. <br>\nMitigation: List, search, and describe live ClawLink tools before use and report real tool errors without inventing capabilities. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/hith3sh/google-classroom-education) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n- [Google Classroom API](https://developers.google.com/classroom/reference/rest) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown chat responses with inline shell commands and ClawLink tool-use guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses the live ClawLink tool catalog and requires user confirmation before destructive, external-facing, or bulk write actions.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Google Classroom Owner: hith3sh Summary: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:09:35.367Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘"},{"language":"bash","snippet":"openclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart"},{"language":"bash","snippet":"# List courses\nclawlink_call_tool --tool \"google_classroom_list_courses\" --params '{}'\n\n# Get course details\nclawlink_call_tool --tool \"google_classroom_get_course\" --params '{\"id\": \"course-id\"}'\n\n# List students in a course\nclawlink_call_tool --tool \"google_classroom_list_students\" --params '{\"course_id\": \"course-id\"}'\n\n# List coursework\nclawlink_call_tool --tool \"google_classroom_list_course_work\" --params '{\"course_id\": \"course-id\"}'"},{"language":"bash","snippet":"clawlink_list_integrations"},{"language":"bash","snippet":"clawlink_list_tools --integration google-classroom"},{"language":"bash","snippet":"clawlink_call_tool --tool \"google_classroom_list_courses\" \\\n  --params '{}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: google-classroom-education\ndescription: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want to list courses and rosters, inspect coursework and submissions, create or update assignments after confirmation, post announcements, or review grades in Google Classroom.\n---\n\n# Google Classroom\n\n![Google Classroom](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-classroom.svg?v=2)\n\nAccess Google Classroom via the Google Classroom API with OAuth authentication. Manage courses, coursework, students, teachers, submissions, and announcements.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education) for hosted connection flows and credentials so you do not need to configure Google Classroom API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Classroom |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Classroom |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│ Google Classroom │\n│   (User Chat)   │     │   (OAuth)    │     │   API (REST)     │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Google Classroom                   │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │Classroom │\n   │  File    │           │ Auth     │           │ Courses  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Classroom again.\"\n\n## Quick Start\n\n```bash\n# List courses\nclawlink_call_tool --t"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-classroom-education\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780988975367\n}"},{"path":"skill-card.md","content":"## Description:\n\nManage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, educators, and developers use this skill to inspect Google Classroom courses and rosters, review coursework and submissions, and perform confirmed changes such as assignments, announcements, grades, or roster updates.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill depends on the external ClawLink plugin and OAuth broker for Google Classroom access.\n\nMitigation: Install only if ClawLink and the ClawHub plugin package are trusted, and connect the least-privileged Google account that fits the task.\n\nRisk: Grade, roster, coursework, course deletion, and announcement changes can affect real classroom data.\n\nMitigation: Review previews carefully and require explicit confirmation before any write or destructive operation.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-classroom-education)\n- [Google Classroom API Reference](https://developers.google.com/classroom/reference/rest)\n- [Google Classroom API Overview](https://developers.google.com/classroom/api/guides/overview)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-classroom-education)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration instructions, API Calls]\n\n**Output Format:** [Markdown with inline bash commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a connected Google Classroom account through ClawLink; write operations should be previewed and confirmed before execution.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... Skill: Google Classroom Owner: hith3sh Summary: Manage Google Classroom courses, coursework, students, teachers, submissions, and announcements via the Google Classroom API. Use this skill when users want... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:09:35.367Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1014,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:25:53.097Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:58:58.089Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}