# Canva AI integration on Definable

> Canva offers a drag-and-drop design suite for creating social media graphics, presentations, and marketing materials with prebuilt templates and a vast element library

## What this connects

Canva offers a drag-and-drop design suite for creating social media graphics, presentations, and marketing materials with prebuilt templates and a vast element library

Vendor: https://www.canva.com

## Tools available

**46** tools available. First 12:

- `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` — Access user specific brand templates list — Lists brand templates available to the user (Canva Enterprise only). This endpoint retrieves all brand templates the user has access to. Brand templates are pre-designed layouts with variable data fields that can be populated programmatically using the autofill API. Returns template metadata including IDs, names, and dataset schemas.
- `CANVA_CREATE_ASSET_UPLOAD_JOB` — Create Asset Upload Job — Uploads an asset file to the user's Canva content library. This endpoint initiates an asynchronous upload job for images, videos, audio files, PDFs, or fonts. Returns a job ID to track the upload progress. Once complete, the asset can be used in designs, referenced by its asset ID, and managed through other asset endpoints. IMPORTANT: This is an async operation. Use CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS to poll the job status until it reaches 'success' or 'failed' status.
- `CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB` — Create Canva Design Export Job (Deprecated) — DEPRECATED: Use CANVA_POST_EXPORTS instead. Exports a Canva design to various file formats. This endpoint initiates an asynchronous export job for designs. Supports image formats (PNG, JPG, GIF), documents (PDF, PPTX), and video (MP4). Each format has specific configuration options like dimensions, quality, and page selection. IMPORTANT: This is an async operation. Use GET_DESIGN_EXPORT_JOB_RESULT to poll the job status until completion and retrieve the download URLs for the exported files.
- `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET` — Create canva design with optional asset (Deprecated) — DEPRECATED: Use CANVA_POST_DESIGNS instead. Creates a new Canva design with specified dimensions or from an asset. This endpoint creates a design using either a preset type (doc, presentation, whiteboard), custom dimensions, or by importing an image asset. Returns the design ID, URLs for editing and viewing, owner info, and metadata. The design can be immediately accessed and edited.
- `CANVA_CREATE_COMMENT_REPLY_IN_DESIGN` — Create comment reply in design — This preview API allows replying to comments within a design on Canva, with a limit of 100 replies per comment. Users should note potential unannounced changes, and that preview APIs are not eligible for public integrations.
- `CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_API` — Create design comment in preview api — Creates a new comment thread on a Canva design. This preview API allows adding text comments to designs for collaboration and feedback. Returns the created comment with ID, author info, and timestamp. Comments can be replied to using the comment reply endpoint.
- `CANVA_CREATE_DESIGN_IMPORT_JOB` — Create Design Import Job — Imports an external file as a new Canva design. This endpoint converts documents (PDF, Word, PowerPoint, Excel) and design files (PSD, AI) into editable Canva designs. The import runs asynchronously and returns a job ID to track progress and retrieve the created design. IMPORTANT: This is an async operation. Use CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS to poll the job status until it reaches 'success' or 'failed' to get the final design ID.
- `CANVA_CREATE_DESIGN_RESIZE_JOB` — Create Design Resize Job — Creates a resized copy of an existing design (Canva Pro/Enterprise only). This endpoint creates a new design with different dimensions from an existing one. The resize operation runs asynchronously and preserves content where possible. Returns a job ID to track progress and retrieve the new design once complete. IMPORTANT: This is an async operation. Use CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS to poll the job status until completion to get the resized design ID and access URLs.
- `CANVA_CREATE_URL_ASSET_UPLOAD_JOB` — Create URL Asset Upload Job — Tool to create an asynchronous Canva asset import job from a public URL. Use when you need to import an asset into Canva directly from a publicly accessible URL without S3 choreography.
- `CANVA_DELETE_ASSET_BY_ID` — Delete asset by id — You can delete an asset by specifying its `assetId`. This operation mirrors the behavior in the Canva UI. Deleting an item moves it to the trash. Deleting an asset doesn't remove it from designs that already use it.
- `CANVA_EXCHANGE_OAUTH20_ACCESS_OR_REFRESH_TOKEN` — Exchange oauth 2 0 access or refresh token — The OAuth 2.0 endpoint issues time-limited (4-hour) access tokens of up to 4KB for user authorization via codes or refresh tokens. It requires client ID/secret for authentication.
- `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS` — Fetch asset upload job status — Polls for asset upload job completion status. Use this after CANVA_CREATE_ASSET_UPLOAD_JOB to check the upload progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final asset ID and metadata. IMPORTANT: This tool is ONLY for direct file upload jobs (CANVA_CREATE_ASSET_UPLOAD_JOB). Do NOT use this for URL import jobs created by CANVA_CREATE_URL_ASSET_UPLOAD_JOB - those use a different API endpoint. Use CANVA_GET_URL_ASSET_UPLOADS_JOBID to poll URL import job status.

## Auth

Auth schemes: `OAUTH2`. Managed by Definable: `OAUTH2` — no client credentials required from the user.

## How agents use Canva

Inside a Definable workflow, Canva is one of the tools the **Distributor specialist** can call. Example coordination patterns:

- **Researcher → Canva** — the Researcher (GPT-5.5) pulls context from Canva (records, threads, documents), synthesises findings, and briefs the rest of the team.
- **Writer → Distributor → Canva** — the Writer (Claude Opus 4.7) drafts copy in brand voice, the Verifier passes it, then the Distributor writes the result into Canva (create record, post message, draft email).
- **Designer / Engineer → Distributor → Canva** — the Designer ships an asset or the Engineer ships a code change, the Distributor delivers it via Canva (attach file, open PR comment, post status).

The Verifier checks every Canva call. On rate limit, schema drift, or auth refresh it self-heals and retries — the workflow completes without manual intervention.

## Categories

- images & design — https://definable.ai/apps/category/images-&-design/

## Related

- HTML page: https://definable.ai/apps/canva/
- Same category (images & design): https://definable.ai/apps/category/images-&-design/
- All integrations: https://definable.ai/apps/
- Workflow (multi-agent loop): https://definable.ai/workflow/
- Apps llms.txt index: https://definable.ai/llms-apps.txt
