home / skills / composiohq / awesome-claude-skills / google-classroom-automation

google-classroom-automation skill

/google-classroom-automation

This skill automates Google Classroom tasks via Rube MCP, enabling quick tool discovery, secure connections, and schema-aware executions for streamlined

npx playbooks add skill composiohq/awesome-claude-skills --skill google-classroom-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.0 KB
---
name: google-classroom-automation
description: "Automate Google Classroom tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Google Classroom Automation via Rube MCP

Automate Google Classroom operations through Composio's Google Classroom toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/google_classroom](https://composio.dev/toolkits/google_classroom)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Google Classroom connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `google_classroom`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `google_classroom`
3. If connection is not ACTIVE, follow the returned auth link to complete setup
4. Confirm connection status shows ACTIVE before running any workflows

## Tool Discovery

Always discover available tools before executing workflows:

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "Google Classroom operations", known_fields: ""}]
session: {generate_id: true}
```

This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.

## Core Workflow Pattern

### Step 1: Discover Available Tools

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Google Classroom task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["google_classroom"]
session_id: "your_session_id"
```

### Step 3: Execute Tools

```
RUBE_MULTI_EXECUTE_TOOL
tools: [{
  tool_slug: "TOOL_SLUG_FROM_SEARCH",
  arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
```

## Known Pitfalls

- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`
- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools
- **Schema compliance**: Use exact field names and types from the search results
- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)
- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows
- **Pagination**: Check responses for pagination tokens and continue fetching until complete

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Google Classroom-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `google_classroom` |
| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |
| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |
| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Google Classroom tasks by orchestrating Composio’s Google Classroom toolkit through a Rube MCP connection. It provides a repeatable pattern for discovering tool schemas, validating connections, and executing toolkit operations safely. The skill emphasizes searching tools first to avoid schema drift and uses session-based workflows for reliability.

How this skill works

The skill first calls RUBE_SEARCH_TOOLS to retrieve current tool slugs, input schemas, and recommended execution plans. It then checks or establishes an active Google Classroom connection via RUBE_MANAGE_CONNECTIONS. Finally, it runs actions through RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk jobs) using schema-compliant arguments and session reuse.

When to use it

  • Automate class creation, roster updates, and assignment distribution at scale
  • Integrate Google Classroom tasks into broader agent workflows or pipelines
  • Run bulk operations such as enrolling many students or generating repetitive assignments
  • Execute multi-step classroom workflows that require tool discovery and connection checks
  • Perform programmatic audits or exports of Classroom data using schema-aware calls

Best practices

  • Always call RUBE_SEARCH_TOOLS first to obtain current tool slugs and input schemas
  • Verify the google_classroom connection status via RUBE_MANAGE_CONNECTIONS and follow auth links if not ACTIVE
  • Use exact field names and types returned by the tool discovery response to avoid schema errors
  • Include a memory object in every RUBE_MULTI_EXECUTE_TOOL call (can be empty) and reuse session IDs within a workflow
  • Handle pagination tokens from responses and iterate until results are complete
  • Generate a new session ID for distinct workflows to avoid cross-run state issues

Example use cases

  • Create a new class, add teachers, then bulk-enroll students using discovered tool slugs
  • Publish an assignment to multiple classes and schedule follow-up announcements
  • Export roster and submission reports, handling paginated results and saving to external storage
  • Perform a daily health check: search tools, confirm connection, and run a quick read-only query to validate access

FAQ

Why must I call RUBE_SEARCH_TOOLS before executing actions?

Tool schemas and slugs can change. Searching first returns the authoritative tool definitions and recommended arguments so calls remain schema-compliant.

What if RUBE_MANAGE_CONNECTIONS shows the google_classroom connection as inactive?

Follow the auth link returned by RUBE_MANAGE_CONNECTIONS to reauthorize. Confirm the connection status is ACTIVE before running any mutating workflows.