Canva
SkillDocs & knowledgeLets your agent work with Canva designs through the Canva Claude skill.
Use Canva in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Canva and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Canva skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Work with Canva designs: list designs and folders, create designs, upload assets, and export to PNG/JPG/PDF/MP4. Trigger phrases: canva, canva design, export canva design.
What this skill tells your AI
The instructions your AI receives, as published by anil-matcha/awesome-muse-connectors in connectors/canva/SKILL.md and read by ahel’s review.
Purpose
Read and manage Canva designs through the Canva Connect API: list designs and folders, inspect a design, create designs, upload assets, and export designs. Exports are async jobs: submit with export, then poll with export-status until the job succeeds.
Tooling
All commands go through bin/canva.py:
bin/canva.py auth # verify the connection (prints the Canva user)
bin/canva.py designs --query "pitch deck" # list designs, optional search
bin/canva.py design --id DESIGN_ID # get one design's details
bin/canva.py folders # list folders
bin/canva.py folder-items --id FOLDER_ID # list items in a folder
bin/canva.py assets # list uploaded assets
bin/canva.py create --data '{"design_type":{"type":"preset","name":"presentation"}}'
# create a design (raw JSON body, per Canva docs)
bin/canva.py upload-asset --file ./logo.png # upload a local file as an asset
bin/canva.py upload-asset --url https://example.com/a.png # import an asset from a URL
bin/canva.py export --design-id DESIGN_ID --format png # submit an async export job (png, jpg, pdf, mp4, ...)
bin/canva.py export-status --id EXPORT_ID # poll the export job; prints download URLs when done
Auth
- Provider id:
canva(credential is collected ascustom.canva) - Collection: OAuth 2.0 authorization-code + PKCE via the secure credential flow (
credentials.request_api_access); any Canva account can create a developer integration for free, but using it for other users requires Canva app review - Required scopes: whatever the Canva integration granted (design read/write as configured)
- Allowed hosts:
api.canva.com - Status check:
bin/canva.py auth
Operating Rules
- Access tokens expire after about 4 hours; the credential flow handles refresh, but re-run
authif calls start failing. - Exports are async:
exportreturns a job id, then pollexport-statuswith backoff until the status issuccess. Download URLs expire, so download the file promptly and never store the URL as the artifact. - Confirm with the user before creating designs, uploading assets, running exports, or deleting anything: each burns Canva usage or changes the account.
- Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the token value.
Files
- SKILL.md
- bin/canva.py
Maturity
🧪 Draft: written from Canva's public Connect API docs; not yet live-tested end to end.
Signals
- GitHub stars
- 1k
- Forks
- 282
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
canva- Source
- github.com/anil-matcha/awesome-muse-connectors
github.com/anil-matcha/awesome-muse-connectors
Related picks
Skill · yusufkaraaslan
The pick for PDFpdf-co-automation
Skill · composio-community
The pick for PDFhandoff
Skill · mattpocock
More in Docs & knowledgecanvas-design
Skill · anthropics
More in Docs & knowledgedoc-coauthoring
Skill · anthropics
More in Docs & knowledgewriting-for-agents
Skill · mattpocock
More in Docs & knowledge