Canva Automation
by @sohamganatra
Automate Canva tasks via Rube MCP (Composio): designs, exports, folders, brand templates, autofill. Always search tools first for current schemas.
clawhub install canva-automationπ About This Skill
name: canva-automation description: "Automate Canva tasks via Rube MCP (Composio): designs, exports, folders, brand templates, autofill. Always search tools first for current schemas." requires: mcp: [rube]
Canva Automation via Rube MCP
Automate Canva design operations through Composio's Canva toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit canvaRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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 canva
3. If connection is not ACTIVE, follow the returned auth link to complete Canva OAuth
4. Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. List and Browse Designs
When to use: User wants to find existing designs or browse their Canva library
Tool sequence:
1. CANVA_LIST_USER_DESIGNS - List all designs with optional filters [Required]
Key parameters:
query: Search term to filter designs by namecontinuation: Pagination token from previous responseownership: Filter by 'owned', 'shared', or 'any'sort_by: Sort field (e.g., 'modified_at', 'title')Pitfalls:
continuation token until absent2. Create and Design
When to use: User wants to create a new Canva design from scratch or from a template
Tool sequence:
1. CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - Browse available brand templates [Optional]
2. CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET - Create a new design [Required]
Key parameters:
design_type: Type of design (e.g., 'Presentation', 'Poster', 'SocialMedia')title: Name for the new designasset_id: Optional asset to include in the designwidth / height: Custom dimensions in pixelsPitfalls:
3. Upload Assets
When to use: User wants to upload images or files to Canva for use in designs
Tool sequence:
1. CANVA_CREATE_ASSET_UPLOAD_JOB - Initiate the asset upload [Required]
2. CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS - Poll until upload completes [Required]
Key parameters:
name: Display name for the asseturl: Public URL of the file to upload (for URL-based uploads)job_id: Upload job ID returned from step 1 (for status polling)Pitfalls:
job_id from CREATE returns the ID needed for status polling4. Export Designs
When to use: User wants to download or export a Canva design as PDF, PNG, or other format
Tool sequence:
1. CANVA_LIST_USER_DESIGNS - Find the design to export [Prerequisite]
2. CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB - Start the export process [Required]
3. CANVA_GET_DESIGN_EXPORT_JOB_RESULT - Poll until export completes and get download URL [Required]
Key parameters:
design_id: ID of the design to exportformat: Export format ('pdf', 'png', 'jpg', 'svg', 'mp4', 'gif', 'pptx')pages: Specific page numbers to export (array)quality: Export quality ('regular', 'high')job_id: Export job ID for polling statusPitfalls:
5. Organize with Folders
When to use: User wants to create folders or organize designs into folders
Tool sequence:
1. CANVA_POST_FOLDERS - Create a new folder [Required]
2. CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER - Move designs into folders [Optional]
Key parameters:
name: Folder nameparent_folder_id: Parent folder for nested organizationitem_id: ID of the design or asset to movefolder_id: Target folder IDPitfalls:
6. Autofill from Brand Templates
When to use: User wants to generate designs by filling brand template placeholders with data
Tool sequence:
1. CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - List available brand templates [Required]
2. CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB - Start autofill with data [Required]
Key parameters:
brand_template_id: ID of the brand template to usetitle: Title for the generated designdata: Key-value mapping of placeholder names to replacement valuesPitfalls:
Common Patterns
Async Job Pattern
Many Canva operations are asynchronous:
1. Initiate job (upload, export, autofill) -> get job_id
2. Poll status endpoint with job_id every 2-3 seconds
3. Check for 'success' or 'failed' status
4. On success, extract result (asset_id, download_url, design_id)
ID Resolution
Design name -> Design ID:
1. Call CANVA_LIST_USER_DESIGNS with query=design_name
2. Find matching design in results
3. Extract id field
Brand template name -> Template ID:
1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST
2. Find template by name
3. Extract brand_template_id
Pagination
continuation tokencontinuation parametercontinuation is absent or emptyKnown Pitfalls
Async Operations:
Asset Management:
Rate Limits:
Response Parsing:
data keyQuick Reference
| Task | Tool Slug | Key Params | |------|-----------|------------| | List designs | CANVA_LIST_USER_DESIGNS | query, continuation | | Create design | CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET | design_type, title | | Upload asset | CANVA_CREATE_ASSET_UPLOAD_JOB | name, url | | Check upload | CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS | job_id | | Export design | CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB | design_id, format | | Get export | CANVA_GET_DESIGN_EXPORT_JOB_RESULT | job_id | | Create folder | CANVA_POST_FOLDERS | name, parent_folder_id | | Move to folder | CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER | item_id, folder_id | | List templates | CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST | (none) | | Autofill template | CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB | brand_template_id, data |
βοΈ Configuration
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 canva
3. If connection is not ACTIVE, follow the returned auth link to complete Canva OAuth
4. Confirm connection status shows ACTIVE before running any workflows