> ## Documentation Index
> Fetch the complete documentation index at: https://squad.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Canva

> What agents can do in Canva at each access level, and how to connect, limit, and disconnect Canva.

Connect Canva so your agents can work in your Canva account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Canva account has an access level: **Read-only** and **Read + write**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as            | Actions agents can use |
| ------------------------------ | ----------------------------------------------------- | ---------------------- |
| **Read-only**                  | "See your designs, assets, and folders. Cannot edit." | 27 of 49               |
| **Read + write** (recommended) | "Read and create/edit designs, assets, and folders."  | 46 of 49               |

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Canva sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Canva account?" The agent can search the Canva actions for you.</Tip>

Each action shows its name, a one-line description where the Canva action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 27 of the 49 Canva actions at this level:

    * View and create jobs
    * View designs
    * View replies
    * View templates
    * View assets
    * View folders
    * View items
    * View keys
    * View pages
    * View profiles
    * Test properties
    * View users

    All 27 actions at this level:

    | Works on          | Action                                            | What it does                                                                                                                                                                                          | Slug                                                      |
    | ----------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
    | **Assets**        | Retrieve asset metadata by ID                     | You can retrieve the metadata of an asset by specifying its assetId.                                                                                                                                  | `CANVA_RETRIEVE_ASSET_METADATA_BY_ID`                     |
    | **Comments**      | Get designs designid comments threadid            | Retrieves metadata for a comment or suggestion thread on a design.                                                                                                                                    | `CANVA_GET_DESIGNS_DESIGNID_COMMENTS_THREADID`            |
    | **Datasets**      | Retrieve brand template dataset definition        | Canva's brand template IDs will change later this year, including a 6-month integration migration.                                                                                                    | `CANVA_RETRIEVE_BRAND_TEMPLATE_DATASET_DEFINITION`        |
    | **Designs**       | Fetch design metadata and access information      | Gets the metadata for a design.                                                                                                                                                                       | `CANVA_FETCH_DESIGN_METADATA_AND_ACCESS_INFORMATION`      |
    |                   | 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.                                                    | `CANVA_LIST_USER_DESIGNS`                                 |
    | **Exports**       | Get designs designid export formats               | Lists available file formats for exporting a design.                                                                                                                                                  | `CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS`               |
    | **Files**         | Get URL asset uploads jobid                       | Retrieve the status and result of a URL-based asset upload job.                                                                                                                                       | `CANVA_GET_URL_ASSET_UPLOADS_JOBID`                       |
    | **Folders**       | Retrieve folder details by ID                     | Gets the name and other details of a folder using a folder's folderID.                                                                                                                                | `CANVA_RETRIEVE_FOLDER_DETAILS_BY_ID`                     |
    | **Items**         | List folder items by type with sorting            | Lists the items in a folder, including each item's type.                                                                                                                                              | `CANVA_LIST_FOLDER_ITEMS_BY_TYPE_WITH_SORTING`            |
    | **Jobs**          | Create Canva design export job                    | DEPRECATED: Use CANVA\_POST\_EXPORTS instead.                                                                                                                                                         | `CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB`                    |
    |                   | Fetch asset upload job status                     | Polls for asset upload job completion status.                                                                                                                                                         | `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS`                     |
    |                   | Get design export job result                      | Polls for design export job completion status.                                                                                                                                                        | `CANVA_GET_DESIGN_EXPORT_JOB_RESULT`                      |
    |                   | 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.                            | `CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUS`               |
    |                   | Retrieve design import job status                 | Polls for design import job completion status.                                                                                                                                                        | `CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS`                 |
    |                   | Retrieve design resize job status                 | Retrieves the status and results of a design resize job.                                                                                                                                              | `CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS`                 |
    | **Keys**          | 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. | `CANVA_FETCH_CANVA_CONNECT_SIGNING_PUBLIC_KEYS`           |
    |                   | Retrieve app public key set                       | Returns the Json Web Key Set (public keys) of an app.                                                                                                                                                 | `CANVA_RETRIEVE_APP_PUBLIC_KEY_SET`                       |
    | **Pages**         | List design pages with pagination                 | Preview API for Canva: subject to unannounced changes and not for public integrations.                                                                                                                | `CANVA_LIST_DESIGN_PAGES_WITH_PAGINATION`                 |
    | **Profiles**      | Retrieve user profile data                        | Currently, this returns the display name of the user account associated with the provided access token.                                                                                               | `CANVA_RETRIEVE_USER_PROFILE_DATA`                        |
    | **Properties**    | Validate OAuth token properties                   | Check an access token's validity and properties via introspection, requiring authentication.                                                                                                          | `CANVA_VALIDATE_OAUTH_TOKEN_PROPERTIES`                   |
    | **Replies**       | Get design comment replies                        | Retrieves a list of replies for a comment or suggestion thread on a design.                                                                                                                           | `CANVA_GET_DESIGN_COMMENT_REPLIES`                        |
    |                   | Get design comment reply                          | Retrieves a specific reply to a comment or suggestion thread on a design.                                                                                                                             | `CANVA_GET_DESIGN_COMMENT_REPLY`                          |
    | **Templates**     | Access user specific brand templates list         | Lists brand templates available to the user (Canva Enterprise only).                                                                                                                                  | `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST`         |
    |                   | Retrieve Canva enterprise brand template metadata | API use requires Canva Enterprise membership.                                                                                                                                                         | `CANVA_RETRIEVE_CANVA_ENTERPRISE_BRAND_TEMPLATE_METADATA` |
    | **Users**         | Fetch current user details                        | Returns the User ID, Team ID, and display name of the user account associated with the provided access token.                                                                                         | `CANVA_FETCH_CURRENT_USER_DETAILS`                        |
    |                   | Get users me capabilities                         | Lists the API capabilities for the user account associated with the provided access token.                                                                                                            | `CANVA_GET_USERS_ME_CAPABILITIES`                         |
    | **Other actions** | Get URL imports jobid                             | Polls for URL import job completion status.                                                                                                                                                           | `CANVA_GET_URL_IMPORTS_JOBID`                             |
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 46 of the 49 Canva actions at this level: everything in **Read-only**, plus:

    * View and create comments
    * Create designs
    * Create and update folders
    * Send replies
    * View account details
    * Create exports
    * Update items
    * Update tokens

    The 19 actions that this level adds to **Read-only**:

    | Works on            | Action                                          | What it does                                                                                                                       | Slug                                                    |
    | ------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
    | **Account details** | Who am I                                        |                                                                                                                                    | `CANVA_WHO_AM_I`                                        |
    | **Assets**          | Update asset s name and tags by ID              | You can update the name and tags of an asset by specifying its assetId.                                                            | `CANVA_UPDATE_ASSET_S_NAME_AND_TAGS_BY_ID`              |
    | **Comments**        | Create design comment in preview API            | Creates a new comment thread on a Canva design.                                                                                    | `CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_API`            |
    |                     | Post designs designid comments                  | Creates a comment thread on a Canva design.                                                                                        | `CANVA_POST_DESIGNS_DESIGNID_COMMENTS`                  |
    | **Designs**         | Create Canva design with optional asset         | DEPRECATED: Use CANVA\_POST\_DESIGNS instead.                                                                                      | `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET`         |
    |                     | Post designs                                    | Creates a new Canva design with preset type or custom dimensions.                                                                  | `CANVA_POST_DESIGNS`                                    |
    | **Exports**         | Post exports                                    | Starts a new asynchronous job to export a Canva design file.                                                                       | `CANVA_POST_EXPORTS`                                    |
    | **Folders**         | Post folders                                    | Create a folder in Canva.                                                                                                          | `CANVA_POST_FOLDERS`                                    |
    |                     | Update folder details by ID                     | Updates a folder's details using its folderID.                                                                                     | `CANVA_UPDATE_FOLDER_DETAILS_BY_ID`                     |
    | **Items**           | 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.                          | `CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER`                   |
    | **Jobs**            | Create asset upload job                         | Uploads an asset file to the user's Canva content library.                                                                         | `CANVA_CREATE_ASSET_UPLOAD_JOB`                         |
    |                     | Create design import job                        | Imports an external file as a new Canva design.                                                                                    | `CANVA_CREATE_DESIGN_IMPORT_JOB`                        |
    |                     | Create design resize job                        | Creates a resized copy of an existing design (Canva Pro/Enterprise only).                                                          | `CANVA_CREATE_DESIGN_RESIZE_JOB`                        |
    |                     | Create URL asset upload job                     | Create an asynchronous Canva asset import job from a public URL.                                                                   | `CANVA_CREATE_URL_ASSET_UPLOAD_JOB`                     |
    |                     | Initiate Canva design autofill job              | Canva Enterprise users can auto-fill designs using various data types, including experimental chart data.                          | `CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB`              |
    | **Replies**         | 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.                    | `CANVA_CREATE_COMMENT_REPLY_IN_DESIGN`                  |
    |                     | Post designs designid comments threadid replies | Create a reply to a comment or suggestion thread on a Canva design.                                                                | `CANVA_POST_DESIGNS_DESIGNID_COMMENTS_THREADID_REPLIES` |
    | **Tokens**          | Exchange oauth20 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. | `CANVA_EXCHANGE_OAUTH20_ACCESS_OR_REFRESH_TOKEN`        |
    | **Other actions**   | Post URL imports                                | Start an asynchronous job to import an external file from a URL as a new design in Canva.                                          | `CANVA_POST_URL_IMPORTS`                                |
  </Accordion>
</AccordionGroup>

## Connect Canva

Before you start:

* You need a Canva account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Canva">
    Find **Canva** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Canva">
    Click **Connect Canva**. The Canva sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Canva">
    Sign in to Canva and approve the request.
  </Step>
</Steps>

Check that it works: Canva shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Canva account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Canva account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Canva account

Click **+ Account** on the Canva card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Canva side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Canva**.
3. Sign in to Canva and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Canva account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Canva account becomes primary.</Warning>

## Costs

Canva actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Canva, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Canva connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Canva?">
    Each Canva account has an access level: **Read-only** and **Read + write**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Canva account?">
    Click **+ Account** on the Canva card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Canva?">
    Open the account menu (⋯) on the Canva account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
