Canvas Automation
It enables users to streamline and manage their learning management processes through automated workflows.
Install
npx promptshop add canvas-automationDetails
What This Skill Does
- This skill automates Canvas operations using Composio's Canvas toolkit via Rube MCP.
- It enables users to streamline and manage their learning management processes through automated workflows.
- This is useful for those who need to regularly manage and update their Canvas courses and content.
When to Use
- Automate Canvas tasks.
- Schedule regular course updates.
- Integrate Canvas into existing workflows.
- Verify Canvas connection status.
- Discover available Canvas tools.
- Execute specific Canvas tools.
Key Features
- Uses Rube MCP to automate Canvas.
- Requires an active Canvas connection.
- Discovers available tools via RUBE_SEARCH_TOOLS.
- Checks connection status via RUBE_MANAGE_CONNECTIONS.
- Executes tools via RUBE_MULTI_EXECUTE_TOOL.
- Provides setup instructions and prerequisites.
Manual Installation
Manual installation## Prerequisites
Rube MCP must be connected (RUBE_SEARCH_TOOLS available) Active Canvas connection via RUBE_MANAGE_CONNECTIONS with toolkit canvas 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.
Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds Call RUBE_MANAGE_CONNECTIONS with toolkit canvas If connection is not ACTIVE, follow the returned auth link to complete setup Confirm connection status shows ACTIVE before running any workflows
Tool Discovery
Always discover available tools before executing workflows:
RUBE_SEARCH_TOOLS queries: [{use_case: "Canvas 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 Canvas task"}] session: {id: "existing_session_id"}
Step 2: Check Connection
RUBE_MANAGE_CONNECTIONS toolkits: ["canvas"] 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 Canvas-specific use case |
| Connect | RUBE_MANAGE_CONNECTIONS with toolkit canvas |
| 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 schema Ref |
Automate Canvas operations through Composio's Canvas toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/canvas
Prerequisites
Rube MCP must be connected (RUBE_SEARCH_TOOLS available) Active Canvas connection via RUBE_MANAGE_CONNECTIONS with toolkit canvas Always call RUBE_SEARCH_TOOLS first to get current tool schemas
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.
Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds Call RUBE_MANAGE_CONNECTIONS with toolkit canvas If connection is not ACTIVE, follow the returned auth link to complete setup Confirm connection status shows ACTIVE before running any workflows
Always discover available tools before executing workflows:
RUBE_SEARCH_TOOLS queries: [{use_case: "Canvas operations", known_fields: ""}] session: {generate_id: true}
This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Canvas task"}] session: {id: "existing_session_id"}
RUBE_MANAGE_CONNECTIONS toolkits: ["canvas"] session_id: "your_session_id"
RUBE_MULTI_EXECUTE_TOOL tools: [{ tool_slug: "TOOL_SLUG_FROM_SEARCH", arguments: {/ schema-compliant args from search results /} }] memory: {} session_id: "your_session_id"
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
| Operation | Approach |
|---|---|
| Find tools | RUBE_SEARCH_TOOLS with Canvas-specific use case |
| Connect | RUBE_MANAGE_CONNECTIONS with toolkit canvas |
| 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 schema Ref |