> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Canva Toolkit

> Connect Canva to EKB Platform agents and workflows to create, export, resize, and manage designs, assets, folders, and brand templates.

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.
</Warning>

## Setup

<Steps>
  <Step title="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.
  </Step>

  <Step title="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.
  </Step>

  <Step title="Reconnect after scope changes">
    If your administrator adds new OAuth scopes, reconnect Canva so the updated scopes take effect.
  </Step>
</Steps>

## Available tools

### Account

| Tool                 | Description                                                                                                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Get Me**           | Returns the authenticated user's Canva user ID and team ID. Run this first when you need to mention a user in a comment. |
| **Get Profile**      | Returns the authenticated user's display name.                                                                           |
| **Get Capabilities** | Returns what the authenticated user can do, optionally for a specific design (for example, whether resize is allowed).   |

### Designs

| Tool                             | Description                                                                                                                                                             |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Create Design**                | Creates 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 URL** | Uploads a photo and creates a new design seeded with that asset in one step.                                                                                            |
| **Get Design**                   | Returns metadata for a design, including its title and stable open URL.                                                                                                 |
| **List Designs**                 | Lists designs the connected account can access, with optional title search and continuation.                                                                            |
| **Get Export Formats**           | Lists export formats available for a design (pdf, png, jpg, gif, pptx, mp4).                                                                                            |
| **Export Design**                | Exports a design and polls for the result. Returns download URLs that expire — fetch them immediately.                                                                  |
| **Get Export Job**               | Checks the status of an export job. Use when Export Design times out after 45 seconds.                                                                                  |
| **Get Design Pages**             | Lists page metadata and thumbnails for a design. Preview API.                                                                                                           |
| **Get Design Dataset**           | Returns autofillable fields on a design. Preview API.                                                                                                                   |

### Assets

| Tool                      | Description                                                                                                                    |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Upload Asset From URL** | Uploads 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 Job**  | Checks the status of an asset upload job. Use when Upload Asset From URL times out.                                            |
| **Get Asset**             | Returns metadata for a Canva asset including name and tags.                                                                    |
| **Update Asset**          | Updates an asset's name and/or tags.                                                                                           |
| **Delete Asset**          | Deletes an asset from the user's Projects.                                                                                     |

### Folders

| Tool                  | Description                                                                                 |
| --------------------- | ------------------------------------------------------------------------------------------- |
| **Create Folder**     | Creates a folder in Projects. Parent can be `root`, `uploads`, or another folder ID.        |
| **Get Folder**        | Returns metadata for a folder. Use `root` for Projects or `uploads` for the Uploads folder. |
| **Update Folder**     | Renames a folder.                                                                           |
| **Delete Folder**     | Deletes a folder.                                                                           |
| **List Folder Items** | Lists items in a folder (designs, folders, images, brand templates).                        |
| **Move Folder Item**  | Moves a design, asset, or folder into another folder.                                       |

### Brand Templates

| Tool                           | Description                                                                                          |
| ------------------------------ | ---------------------------------------------------------------------------------------------------- |
| **List Brand Templates**       | Lists brand templates the connected account can access. Requires a plan with brand templates.        |
| **Get Brand Template**         | Returns metadata for a brand template.                                                               |
| **Get Brand Template Dataset** | Lists autofillable fields on a brand template. Call this before Create Autofill Job.                 |
| **Create Autofill Job**        | Fills a brand template's data fields and creates a new design. Requires a plan with brand templates. |
| **Get Autofill Job**           | Checks the status of an autofill job.                                                                |
| **Publish Brand Template**     | Publishes a design as a brand template. Preview API. Requires admin or brand-designer role.          |

### Import and Resize

| Tool                       | Description                                                                             |
| -------------------------- | --------------------------------------------------------------------------------------- |
| **Import Design From URL** | Imports a PPTX, PDF, PSD, AI, or similar file as a new Canva design.                    |
| **Get URL Import Job**     | Checks the status of a URL import job.                                                  |
| **Create Resize Job**      | Creates a resized copy of a design. Requires the resize capability (often a paid plan). |
| **Get Resize Job**         | Checks the status of a resize job.                                                      |

### Comments

| Tool                      | Description                                                                              |
| ------------------------- | ---------------------------------------------------------------------------------------- |
| **Create Comment Thread** | Creates a comment thread on a design. Preview API. Mention users as `[user_id:team_id]`. |
| **Create Reply**          | Replies to a comment thread on a design. Preview API.                                    |
| **Get Comment Thread**    | Returns a comment thread on a design. Preview API.                                       |
| **List Comment Replies**  | Lists replies on a comment thread. Preview API.                                          |

### Merge

| Tool                 | Description                                                             |
| -------------------- | ----------------------------------------------------------------------- |
| **Create Merge Job** | Merges pages across designs into a new or existing design. Preview API. |
| **Get Merge Job**    | Checks 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

| Symptom                                                                  | Likely cause                                                                                        | Fix                                                                                                                      |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `403 permission_denied` on brand templates, autofill, resize, or publish | The 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 works                                      | Canva 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 seconds                                   | The 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 canvas                           | Canva 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 template                           | The 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 works                                 | Temporary 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 update                 | The OAuth connection was not refreshed after the new scopes were added.                             | Reconnect Canva in the agent or workflow to pick up the updated scopes.                                                  |
