Canva

48 tools available

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

Connect Canva to Definable to generate on-brand assets, refresh creative in bulk, render storyboards from briefs. Personas call Canva's 48 tools directly from chat or scheduled flows. Hand it to a creative persona that knows your brand — the agent generates assets that ship.

Common workflows with Canva

01

On-brand variants

  1. Brief in plain English
  2. Persona applies brand rules
  3. Generates approved variants
02

Bulk asset refresh

  1. List all assets in a folder
  2. Re-render with new style spec
  3. Replace and version-tag
03

Storyboard pipeline

  1. Persona drafts a sequence
  2. This integration renders frames
  3. Exports as a deck or video

Canva actions 48

Every Canva action below is a callable tool any Definable persona can invoke.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Fetch canva connect signing public keys

The API for verifying Canva webhooks, 'connect/keys,' is in preview, meaning unstable, not for public integrations, and provides a rotating JWK for signature verification to prevent replay attacks. Cache keys for efficiency.

Fetch current user details

Returns the User ID, Team ID, and display name of the user account associated with the provided access token.

Fetch design metadata and access information

Gets the metadata for a design. This includes owner information, URLs for editing and viewing, and thumbnail information.

Get design comment thread replies

Retrieves a list of replies for a comment or suggestion thread on a design. Use when you need to view all replies in a specific thread.

Get specific design comment reply

Retrieves a specific reply to a comment or suggestion thread on a design. Use when you need to view details of a particular reply.

Get design export job result

Polls for design export job completion status. Use this after CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB to check the export progress. Call this endpoint repeatedly until the job is complete to receive download links for the exported design pages. Download URLs expire after 30 days.

Get designs designid comments threadid

Retrieves metadata for a comment or suggestion thread on a design. Use when you need to get details about a specific thread including content, author, timestamps, and status.

Get design export formats

Lists available file formats for exporting a design. Use this to check which export formats (PDF, JPG, PNG, SVG, PPTX, GIF, MP4) are supported for a specific design.

Get URL asset upload job status

Tool to retrieve the status and result of a URL-based asset upload job. Use this after creating a URL asset upload job to check progress and retrieve the uploaded asset ID when successful.

Get URL import job status

Polls for URL import job completion status. Use this after creating a URL import job to check the import progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final imported design ID and metadata.

Get user capabilities

Lists the API capabilities for the user account associated with the provided access token. Use when you need to check what features are available based on the user's Canva plan.

Initiate canva design autofill job

Upcoming brand template ID updates require migration within 6 months. Canva Enterprise users can auto-fill designs using various data types, including experimental chart data. Monitor jobs with specific API.

List design pages with pagination

Preview API for Canva: subject to unannounced changes and not for public integrations. Lists metadata for design pages with optional `offset` and `limit`; not applicable to all design types.

List folder items by type with sorting

Lists the items in a folder, including each item's `type`. Folders can contain: - Other folders. - Designs, such as Instagram posts, Presentations, and Documents ([Canva Docs](https://www.canva.com/create/documents/)). - Image assets.

List User Designs

Provides a summary of Canva user designs, includes search filtering, and allows showing both self-created and shared designs with sorting options.

Move item to specified folder

Transfers an item to a different folder by specifying both the destination folder's ID and the item's ID. If the item is in various folders, an error occurs; manual relocation via Canva UI is required.

Create new Canva design

Creates a new Canva design with preset type or custom dimensions. Use when creating new designs for docs, presentations, whiteboards, or with specific pixel dimensions. Optionally insert an image asset into the design. Returns design ID, edit/view URLs, and metadata.

Post designs designid comments

Creates a comment thread on a Canva design. Use when you need to add feedback or collaboration comments to a specific design. Rate limited to 100 requests per minute per user.

Create reply to comment thread

Tool to create a reply to a comment or suggestion thread on a Canva design. Use when you need to respond to existing comments or suggestions. Maximum 100 replies per thread allowed.

Start design export job

Starts a new asynchronous job to export a Canva design file. Use when exporting designs to various formats (PDF, JPG, PNG, GIF, PPTX, MP4). Returns a job ID that can be used to poll for completion status and download URLs. IMPORTANT: Format compatibility varies by design type. Before exporting, use the CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS action to check which formats are supported for the specific design. Attempting to export in an unsupported format will result in a 400 error (e.g., 'png export not supported for this design type').

Create folder

Tool to create a folder in Canva. Use when you need to organize designs, assets, or create nested folder structures in a user's projects or uploads folder.

Create URL Import Job

Tool to start an asynchronous job to import an external file from a URL as a new design in Canva. Use when you need to import a design from a publicly accessible URL. This is an async operation; poll the job status using the job ID until it reaches 'success' or 'failed'.

Remove folder and move contents to trash

Deletes a folder by moving the user's content to Trash and reassigning other users' content to their top-level projects.

Retrieve app public key set

Returns the Json Web Key Set (public keys) of an app. These keys are used to verify JWTs sent to app backends.

Retrieve asset metadata by id

You can retrieve the metadata of an asset by specifying its `assetId`.

Retrieve brand template dataset definition

Canva's brand template IDs will change later this year, including a 6-month integration migration. API access requires Enterprise membership, providing autofill for images, text, and charts, although chart data could change during preview.

Retrieve canva enterprise brand template metadata

Upcoming update will change brand template IDs; integrations must migrate within 6 months. API use requires Canva Enterprise membership.

Retrieve design autofill job status

API users with Canva Enterprise membership can retrieve design autofill job results, potentially requiring multiple requests until a `success` or `failed` status is received.

Retrieve design import job status

Polls for design import job completion status. Use this after CANVA_CREATE_DESIGN_IMPORT_JOB to check the import progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final imported design ID and metadata.

Retrieve Design Resize Job Status

Retrieves the status and results of a design resize job. Polls for design resize job completion status. Use this after CANVA_CREATE_DESIGN_RESIZE_JOB to check the resize progress. Keep polling until status is 'success' or 'failed'. Successful jobs include the new design ID and temporary access URLs.

Retrieve folder details by id

Gets the name and other details of a folder using a folder's `folderID`.

Retrieveuserprofiledata

Currently, this returns the display name of the user account associated with the provided access token. More user information is expected to be included in the future.

Revoke oauth tokens

Revoke a refresh token to end its lineage and user consent, requiring re-authentication. Authenticate using either basic access with Base64-encoded credentials or body parameters with client ID and secret.

Update asset s name and tags by id

You can update the name and tags of an asset by specifying its `assetId`. Updating the tags replaces all existing tags of the asset.

Update folder details by id

Updates a folder's details using its `folderID`. Currently, you can only update a folder's name.

Validate oauth token properties

Check an access token's validity and properties via introspection, requiring authentication. Use Basic access (Base64 encoded `client_id:client_secret`) or body parameters for credentialing.

Frequently asked questions

What can I automate with Canva on Definable?

Anything Canva exposes through its API. Common images & design workflows on Definable include generate on-brand assets, refresh creative in bulk, render storyboards from briefs. Personas can call any of the 48 Canva tools directly, then chain the result into another integration without you writing code.

How does Canva authentication work?

Canva uses OAUTH2 on Definable. You connect once from the integrations page, scoped to the permissions you choose, and from then on any persona that has the integration enabled can act on your behalf. Tokens are encrypted at rest and rotated automatically.

Is the Canva integration included in my Definable plan?

Yes — every Definable plan, including Starter, includes access to all 48 Canva tools. You only need a separate Canva subscription if Canva itself charges per seat or per API call.

Is using Canva through Definable secure?

Every call from a persona to Canva is logged with the user, persona, prompt, and response. Tokens never leave Definable's secrets vault, scopes are configurable per persona, and you can revoke access at any time from the integration page.

How do I get started with Canva on Definable?

Sign up for Definable, open the integrations page, find Canva, and connect via OAuth or API key. You can immediately attach Canva to any persona and start running workflows. The free Starter plan includes 5,000 credits/month.

What Canva actions does Definable expose?

Definable exposes all 48 Canva actions as callable tools — including `Access user specific brand templates list`, `Create Asset Upload Job`, `Create Canva Design Export Job (Deprecated)`, plus 45 more. Each tool gets a typed parameter schema so personas know exactly how to call it.

Ready to automate with Canva?

Wire it up in minutes. No coding required.

← All integrations