Jump to related tools in the same category or review the original source on GitHub.

Image & Video Generation @coolmanns Updated 2/26/2026

🎨 Canva Connect OpenClaw Skill - ClawHub

Do you want your AI agent to automate Canva Connect workflows? This free skill from ClawHub helps with image & video generation tasks without building custom tools from scratch.

What this skill does

Manage Canva designs, assets, and folders via the Connect API. WHAT IT CAN DO: - List/search/organize designs and folders - Export finished designs (PNG/PDF/JPG) - Upload images to asset library - Autofill brand templates with data - Create blank designs (doc/presentation/whiteboard/custom) WHAT IT CANNOT DO: - Add content to designs (text, shapes, elements) - Edit existing design content - Upload documents (images only) - AI design generation Best for: asset pipelines, export automation, organization, template autofill. Triggers: /canva, "upload to canva", "export design", "list my designs", "canva folder".

Install

npx clawhub@latest install canva-connect

Full SKILL.md

Open original
nameversiondescriptionlicense
canva1.0.0Manage Canva designs, assets, and folders via the Connect API. WHAT IT CAN DO: - List/search/organize designs and folders - Export finished designs (PNG/PDF/JPG) - Upload images to asset library - Autofill brand templates with data - Create blank designs (doc/presentation/whiteboard/custom) WHAT IT CANNOT DO: - Add content to designs (text, shapes, elements) - Edit existing design content - Upload documents (images only) - AI design generation Best for: asset pipelines, export automation, organization, template autofill. Triggers: /canva, "upload to canva", "export design", "list my designs", "canva folder". MIT

Canva Connect

Manage Canva designs, assets, and folders via the Connect API.

What This Skill Does (and Doesn't Do)

✅ CAN DO ❌ CANNOT DO
List/search designs Add content to designs
Create blank designs Edit existing design content
Export designs (PNG/PDF/JPG) Upload documents (images only)
Create/manage folders AI design generation
Move items between folders
Upload images as assets
Autofill brand templates

Realistic Use Cases

1. Asset Pipeline 🖼️

Generate diagram → upload to Canva → organize in project folder

2. Export Automation 📤

Design finished in Canva → export via CLI → use in docs/website

3. Design Organization 📁

Create project folders → move related designs → keep Canva tidy

4. Brand Template Autofill 📋

Set up template in Canva → pass data via API → get personalized output

Quick Start

# Authenticate (opens browser for OAuth)
{baseDir}/scripts/canva.sh auth

# List your designs
{baseDir}/scripts/canva.sh designs list

# Create a new design
{baseDir}/scripts/canva.sh designs create --type doc --title "My Document"

# Export a design
{baseDir}/scripts/canva.sh export <design_id> --format pdf

Setup

1. Create Canva Integration

  1. Go to canva.com/developers/integrations
  2. Click Create an integration
  3. Set scopes:
    • design:content (Read + Write)
    • design:meta (Read)
    • asset (Read + Write)
    • brandtemplate:meta (Read)
    • brandtemplate:content (Read)
    • profile (Read)
  4. Set OAuth redirect: http://127.0.0.1:3001/oauth/redirect
  5. Note Client ID and generate Client Secret

2. Configure Environment

Add to ~/.clawdbot/clawdbot.json under skills.entries:

{
  "skills": {
    "entries": {
      "canva": {
        "clientId": "YOUR_CLIENT_ID",
        "clientSecret": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

Or set environment variables:

export CANVA_CLIENT_ID="your_client_id"
export CANVA_CLIENT_SECRET="your_client_secret"

3. Authenticate

{baseDir}/scripts/canva.sh auth

Opens browser for OAuth consent. Tokens stored in ~/.clawdbot/canva-tokens.json.

Commands

Authentication

Command Description
auth Start OAuth flow (opens browser)
auth status Check authentication status
auth logout Clear stored tokens

Designs

Command Description
designs list [--limit N] List your designs
designs get <id> Get design details
designs create --type <type> --title <title> Create new design
designs delete <id> Move design to trash

Design types: doc, presentation, whiteboard, poster, instagram_post, facebook_post, video, logo, flyer, banner

Export

Command Description
export <design_id> --format <fmt> Export design
export status <job_id> Check export job status

Formats: pdf, png, jpg, gif, pptx, mp4

Assets

Command Description
assets list List uploaded assets
assets upload <file> [--name <name>] Upload asset
assets get <id> Get asset details
assets delete <id> Delete asset

Brand Templates

Command Description
templates list List brand templates
templates get <id> Get template details
autofill <template_id> --data <json> Autofill template with data

Folders

Command Description
folders list List folders
folders create <name> Create folder
folders get <id> Get folder contents

User

Command Description
me Get current user profile

Examples

Create and Export a Poster

# Create
{baseDir}/scripts/canva.sh designs create --type poster --title "Event Poster"

# Export as PNG
{baseDir}/scripts/canva.sh export DAF... --format png --output ./poster.png

Upload Brand Assets

# Upload logo
{baseDir}/scripts/canva.sh assets upload ./logo.png --name "Company Logo"

# Upload multiple
for f in ./brand/*.png; do
  {baseDir}/scripts/canva.sh assets upload "$f"
done

Autofill a Template

# List available templates
{baseDir}/scripts/canva.sh templates list

# Autofill with data
{baseDir}/scripts/canva.sh autofill TEMPLATE_ID --data '{
  "title": "Q1 Report",
  "subtitle": "Financial Summary",
  "date": "January 2026"
}'

API Reference

Base URL: https://api.canva.com/rest

See references/api.md for detailed endpoint documentation.

Troubleshooting

Token Expired

{baseDir}/scripts/canva.sh auth  # Re-authenticate

Rate Limited

The API has per-endpoint rate limits. The script handles backoff automatically.

Missing Scopes

If operations fail with 403, ensure your integration has the required scopes enabled.

Data Files

File Purpose
~/.clawdbot/canva-tokens.json OAuth tokens (encrypted)
~/.clawdbot/canva-cache.json Response cache
Original URL: https://github.com/openclaw/skills/blob/main/skills/coolmanns/canva-connect

Related skills

If this matches your use case, these are close alternatives in the same category.