Skip to main content

Canva Toolkit

The Canva toolkit connects a Canva account to EKB Platform using OAuth and lets agents and workflows create designs, upload and manage assets, export designs in multiple formats, resize designs, autofill brand templates, import files, manage folders, and leave comments. The toolkit runs with the connected Canva account's permissions and plan.

Prerequisites​

  • An active Canva account.
  • A Canva plan that includes the features you intend to use. Brand templates, autofill, resize, and publish are plan-gated (typically Canva Pro, Teams, or Enterprise).
  • An EKB Platform project where you can configure an agent or workflow.
  • Your EKB Platform administrator must have configured a Canva OAuth integration (Client ID and Client Secret from the Canva developer portal) before you can connect.
warning

Brand templates, autofill, resize, and publish require a Canva Pro, Teams, or Enterprise plan. A 403 response indicates a plan permission issue. Export download URLs expire immediately — fetch them as soon as they are returned. EKB Platform does not persist exported files.

Setup​

  1. Open an agent or workflow in EKB Platform

    Go to Agents or Workflows in EKB Platform. In an agent, add Canva as a toolkit. In a workflow, add a Canva action.

  2. Connect your Canva account

    A popup will appear asking you to connect Canva. Sign in with your Canva account and authorize the requested permissions. After approval, EKB Platform connects to Canva using your account.

  3. Reconnect after scope changes

    If your administrator adds new OAuth scopes, reconnect Canva so the updated scopes take effect.

Available tools​

Account​

ToolDescription
Get MeReturns the authenticated user's Canva user ID and team ID. Run this first when you need to mention a user in a comment.
Get ProfileReturns the authenticated user's display name.
Get CapabilitiesReturns what the authenticated user can do, optionally for a specific design (for example, whether resize is allowed).

Designs​

ToolDescription
Create DesignCreates a new Canva design. Supports presets (doc, email, presentation, whiteboard) and custom pixel sizes. Pass an asset ID to seed the design with an uploaded image.
Create Design From Image URLUploads a photo and creates a new design seeded with that asset in one step.
Get DesignReturns metadata for a design, including its title and stable open URL.
List DesignsLists designs the connected account can access, with optional title search and continuation.
Get Export FormatsLists export formats available for a design (pdf, png, jpg, gif, pptx, mp4).
Export DesignExports a design and polls for the result. Returns download URLs that expire — fetch them immediately.
Get Export JobChecks the status of an export job. Use when Export Design times out after 45 seconds.
Get Design PagesLists page metadata and thumbnails for a design. Preview API.
Get Design DatasetReturns autofillable fields on a design. Preview API.

Assets​

ToolDescription
Upload Asset From URLUploads an image to the Canva library from a URL or chat attachment. Returns an asset ID for use in Create Design or autofill.
Get Asset Upload JobChecks the status of an asset upload job. Use when Upload Asset From URL times out.
Get AssetReturns metadata for a Canva asset including name and tags.
Update AssetUpdates an asset's name and/or tags.
Delete AssetDeletes an asset from the user's Projects.

Folders​

ToolDescription
Create FolderCreates a folder in Projects. Parent can be root, uploads, or another folder ID.
Get FolderReturns metadata for a folder. Use root for Projects or uploads for the Uploads folder.
Update FolderRenames a folder.
Delete FolderDeletes a folder.
List Folder ItemsLists items in a folder (designs, folders, images, brand templates).
Move Folder ItemMoves a design, asset, or folder into another folder.

Brand Templates​

ToolDescription
List Brand TemplatesLists brand templates the connected account can access. Requires a plan with brand templates.
Get Brand TemplateReturns metadata for a brand template.
Get Brand Template DatasetLists autofillable fields on a brand template. Call this before Create Autofill Job.
Create Autofill JobFills a brand template's data fields and creates a new design. Requires a plan with brand templates.
Get Autofill JobChecks the status of an autofill job.
Publish Brand TemplatePublishes a design as a brand template. Preview API. Requires admin or brand-designer role.

Import and Resize​

ToolDescription
Import Design From URLImports a PPTX, PDF, PSD, AI, or similar file as a new Canva design.
Get URL Import JobChecks the status of a URL import job.
Create Resize JobCreates a resized copy of a design. Requires the resize capability (often a paid plan).
Get Resize JobChecks the status of a resize job.

Comments​

ToolDescription
Create Comment ThreadCreates a comment thread on a design. Preview API. Mention users as [user_id:team_id].
Create ReplyReplies to a comment thread on a design. Preview API.
Get Comment ThreadReturns a comment thread on a design. Preview API.
List Comment RepliesLists replies on a comment thread. Preview API.

Merge​

ToolDescription
Create Merge JobMerges pages across designs into a new or existing design. Preview API.
Get Merge JobChecks the status of a merge job. Preview API.

Use cases​

  • Upload a product photo from a chat attachment and create a poster or social tile from it in one step.
  • Autofill a brand template with campaign headlines and an uploaded hero image to produce a localized ad design.
  • Export a finished presentation as PDF and pass the download URL to an email or Google Drive step.
  • Resize a presentation slide to Instagram dimensions after confirming the resize capability is available.
  • Import an existing PowerPoint deck into Canva, then export specific pages as PNG images.

Troubleshooting​

SymptomLikely causeFix
403 permission_denied on brand templates, autofill, resize, or publishThe connected Canva account does not have a plan that includes this feature.Upgrade to Canva Pro, Teams, or Enterprise, or use a connected account on an eligible plan.
Export download URL no longer worksCanva download URLs expire immediately after being returned.Re-run Export Design and fetch the URL immediately. EKB Platform does not persist exported files.
Job still in progress after 45 secondsThe export, upload, autofill, import, resize, or merge job did not complete within the poll window.Use the matching Get Job tool (Get Export Job, Get Asset Upload Job, etc.) with the returned job ID to check the status.
Cannot add a photo to an existing blank canvasCanva Connect does not support placing a photo onto an already-created blank design.Upload the asset first, then pass the asset ID to Create Design so the photo is seeded at creation time.
Autofill data fields do not match the templateThe field names or types in Data JSON do not match the template's actual fields.Run Get Brand Template Dataset first to discover the correct field names and types.
edit_url or view_url no longer worksTemporary URLs from Canva expire after 30 days.Use open_url, which is the stable editor link for the design.
New scopes are not working after an administrator updateThe OAuth connection was not refreshed after the new scopes were added.Reconnect Canva in the agent or workflow to pick up the updated scopes.