Canva Playbooks
Use these when the deliverable should live in Canva — editable designs, brand assets, social sizes, or export-ready PDFs/MP4s — rather than in Alfrada's local presentation tool or Google Slides.
When to choose Canva vs other tools
| Goal | Prefer |
|---|---|
| Editable Canva design, brand templates, social sizes | Canva (canva_*) |
| Slide deck from markdown in Google Workspace | Google Slides (gslides_*) |
| Quick local slide deck without OAuth | presentation |
| Static hero / product image | Image Lab |
| Import PDF/DOCX/PPTX into Canva for visual editing | Canva import |
Connect Canva first under Integrations → My Canva. Run canva_get_user at the start of each workflow to confirm which account is active.
22. Import → Edit → Export
- Good for: turning an uploaded deck or PDF into an editable Canva design, then exporting for review
- Best setup: place the source file in session
in/first - Example prompt:
Confirm my Canva account, import in/board-deck.pptx as a design titled 'Board April 2026', poll until the import succeeds, then export it as PDF when ready.Recipe: canva_get_user → canva_import_design (title + attachments: ["in/file.pptx"]) → poll canva_get_import_status with jobId until success → canva_get_export_formats with designId → canva_export_design with design_id + format: {"type":"pdf"} → poll canva_get_export_status with exportId until success.
23. Upload Asset → Create Design
- Good for: seeding a social post or ad creative from an existing image
- Best setup: image in
in/or a public HTTPS URL - Example prompt:
Upload out/hero.png to my Canva library as 'Spring hero', then create a 1080×1080 custom design titled 'Spring drop teaser' seeded with that asset.Recipe (local file): canva_upload_asset (name + attachments: ["out/hero.png"]) → poll canva_get_upload_status → canva_create_design with design_type: {"type":"custom","width":1080,"height":1080} and asset_id.
Recipe (public URL): canva_upload_asset_from_url (url + name) → poll canva_get_upload_status → canva_create_design.
24. Multi-Account Targeting
- Good for: agency workflows with personal, agency, and client Canva accounts connected
- Best setup: connect up to three accounts; note each display name in Integrations
- Example prompt:
Using my agency Canva account, list the 10 most recently modified owned designs.Recipe: canva_get_user → canva_list_designs with account_identifier set to the Integrations display name and ownership: "owned".
Heads up
- Async jobs: import, export, and upload calls return a job ID. The agent polls
canva_get_import_status,canva_get_export_status, orcanva_get_upload_statusuntil the job completes — large files can take a minute or two. - Export formats vary by design type. Call
canva_get_export_formatsbefore exporting to avoid unsupported-format errors. - Successful exports are saved into session
in/when possible; otherwise use the signed download URL (~24h). - Parameter casing: POST tools use snake_case (
design_id); GET/status tools use camelCase (designId,jobId,exportId).