Integrations

Canva

Connect Canva to find, create and export designs, upload images and videos, fill brand templates with data, resize designs, and organize folders.

OAuth authorizationAI, Voice & MediaCanva API docsCanva MCP server overview

You create a public app in the Canva Developer Portal, turn on its Canva REST APIs, tick the scopes and add PopMCP's redirect URL, then enter the app's Client ID and a generated client secret in PopMCP and sign in to Canva to approve access.

Setup time
5 min
Auth
OAuth authorization
API base URL
https://api.canva.com/rest/v1
Rate limits
Per user of your app and per operation: 10 to 180 requests a minute (most reads 100, creating a design 20). Exports also have a limit of 75 per 5 minutes and 500 a day per user, 75 per 5 minutes per design, and 750 per 5 minutes and 5,000 a day per app.

Before you begin

  • A Canva account on any plan. Sign in to the Developer Portal with the account you want to connect: the app you create works for your own account straight away, with no review by Canva.
  • Multi-factor authentication turned on for that Canva account (Your account, Account and security, Multi-factor authentication). Canva requires it before the REST APIs can be used, and an account that signs in with Google or Apple needs a Canva password first.
  • PopMCP's redirect URL from the connect form: https://app.popmcp.com/api/providers/canva/callback
  • For resizing, autofill and brand templates, a Canva Pro, Teams or Enterprise plan (free accounts get a small trial of resize and autofill). Design analytics needs Canva Enterprise. Everything else works on Canva Free.

Get your credentials

Open Your apps

Go to canva.com/developers/apps and sign in with the Canva account you want to connect. On Your apps, click Create an app.

Open this screen →

canva.com/developers/apps
Northwind Studio
Developer Portal / Your apps

Your apps

Apps you have created or have access to.

Create an app

You have no apps yet

Create one to get a Client ID and client secret.

Canva asks you to set up multi-factor authentication first if your account does not have it.

Create a public app

Enter an App name of 18 characters or fewer, such as PopMCP: Canva shows it when asking for access. Under Who can use your app? choose Public (Private is only for teams on Canva Enterprise, and the choice cannot be changed later). Accept the Developer Terms and click Create app.

Open this screen →

canva.com/developers/apps
Northwind Studio
Developer Portal / Your apps

Your apps

Create an app
App name
PopMCP
18 characters or fewer
PublicWho can use your app?
PrivateCanva Enterprise teams only
I agree to the Canva Developer Terms
Create appCancel

A public app works for your own account at once. Canva reviews it only if you release it to every Canva user.

Turn on the Canva REST APIs

In the app's menu open Outside Canva and click Start integrating, which creates the app's sign-in details and opens Configuration. Under Integration methods, make sure Canva REST APIs is on. You can leave Canva MCP off.

Open this screen →

canva.com/developers/apps
Northwind Studio
Your apps / PopMCP / Outside Canva / Configuration

Configuration

Outside Canva

Integration methods
Canva REST APIsWhat PopMCP uses
Canva MCP

Start integrating appears the first time you open Outside Canva. Until you click it, Configuration and Redirect URLs are not shown.

Tick the scopes

Still on Configuration, under Scopes tick design:content Read and Write, design:meta Read, asset Read and Write, folder Read and Write, brandtemplate:meta Read, brandtemplate:content Read and Write, comment Read and Write, and profile Read. Canva refuses a sign-in that asks for a scope the app does not have, so tick every one.

Open this screen →

canva.com/developers/apps
Northwind Studio
Your apps / PopMCP / Outside Canva / Configuration

Configuration

Outside Canva

Scopes
design:content: Read
design:content: Write
design:meta: Read
asset: Read
asset: Write
folder: Read
folder: Write
brandtemplate:meta: Read
brandtemplate:content: Read
brandtemplate:content: Write
comment: Read
comment: Write
profile: Read

collaboration:event and folder:permission are for webhooks; PopMCP does not need them.

Add PopMCP's redirect URL

Open Outside Canva, Redirect URLs and enter https://app.popmcp.com/api/providers/canva/callback in URL 1, exactly as PopMCP shows it.

Open this screen →

canva.com/developers/apps
Northwind Studio
Your apps / PopMCP / Outside Canva / Redirect URLs

Redirect URLs

Outside Canva

Redirect URLs
URL 1
https://app.popmcp.com/api/providers/canva/callback

The Authorization URL generator on this page is not needed: PopMCP builds the sign-in link itself.

Copy the Client ID and generate a secret

Back on Configuration, under Credentials, copy the Client ID. Click Generate secret and copy the secret straight away: Canva shows it once, and generating another replaces it.

Open this screen →

canva.com/developers/apps
Northwind Studio
Your apps / PopMCP / Outside Canva / Configuration

Configuration

Outside Canva

Credentials
Client ID
OC-AZ1b2C3d4E5f
Client secret
Client secret
cnvca****Q7xY
Generate secret

The full secret is shown only once, right after you generate it.

Enter both in PopMCP and sign in

Paste the Client ID into Client ID and the secret into Client secret, then click Sign in with Canva. Sign in with the same Canva account and click Allow on Canva's access page.

Connect in PopMCP

Open your workspace, choose Canva in the marketplace, and fill in the connect dialog:

FieldWhat to enter
Client IDtextOnly needed to use your own app. In the Canva Developer Portal (canva.com/developers/apps) choose Create an app, pick Public, accept the terms and create it (Canva asks for multi-factor authentication on your account first). Open Outside Canva and click Start integrating, check Canva REST APIs is on, and under Scopes tick design:content (Read and Write), design:meta (Read), asset (Read and Write), folder (Read and Write), brandtemplate:meta (Read), brandtemplate:content (Read and Write), comment (Read and Write) and profile (Read). Add the redirect URL shown here under Outside Canva, Redirect URLs. Then copy the Client ID from Credentials and click Generate secret.
Client secretsecretClick Generate secret under Outside Canva, Configuration, Credentials (Canva shows it once). Stored encrypted and used only on our server.Encrypted with AES-256-GCM on save and never shown again.
Redirect URL
https://app.popmcp.com/api/providers/canva/callback

In the Canva Developer Portal open your app, go to Outside Canva, Redirect URLs and paste this into URL 1. It must match exactly, or Canva refuses the sign-in.

PopMCP verifies the credential against Canva immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Permissions PopMCP requests

These are the scopes sent to Canva at authorization time.

ScopeWhy PopMCP asks for it
design:meta:readLists and searches designs and reads each design's title, owner, page count and edit and view links. Without it canva_list_designs and canva_get_design answer missing_scope.
design:content:readExports designs (PDF, PNG, JPG, GIF, PowerPoint, MP4, HTML, CSV), lists export formats, and reads pages and autofill data fields.
asset:readReads uploaded images and videos and the status of an upload.
folder:readLists what is in a folder, including the top level of Projects and Uploads.
brandtemplate:meta:readLists and searches the brand templates you can use.
brandtemplate:content:readReads a brand template's data fields, which autofill needs.
profile:readReads your display name and the features your Canva plan includes, which PopMCP shows on the connection.
design:content:writeCreates, copies, imports, resizes, merges and autofills designs, and generates designs with Canva AI.
asset:writeUploads images and videos, renames and tags them, moves them to Trash, and creates images with Canva AI.
folder:writeCreates, renames and deletes folders and moves designs, folders and images between them.
comment:readReads comment threads and their replies (a Canva preview feature).
comment:writeStarts comment threads and replies on designs (a Canva preview feature).
brandtemplate:content:writePublishes a design as a brand template (a Canva preview feature).

Verify it worked

PopMCP shows Canva as Connected under your Canva name, and canva_list_designs returns your most recent designs with their edit links.

Troubleshooting

Canva shows an error page instead of asking for access

Why: PopMCP's callback is not in Redirect URLs on the app, differs by a character, or the app is missing a scope PopMCP asks for.

Fix: Under **Outside Canva**, **Redirect URLs**, set **URL 1** to `https://app.popmcp.com/api/providers/canva/callback`. Under **Configuration**, **Scopes**, tick every scope listed in the steps. Then connect again.

"Canva did not accept the app's Client ID and Client secret"

Why: The Client ID or secret was mistyped, or a newer secret was generated after you copied this one.

Fix: Under **Outside Canva**, **Configuration**, **Credentials**, click **Generate secret** and enter the new secret and the **Client ID** in PopMCP again.

"Canva signed in but refused to show the account"

Why: Canva REST APIs is turned off for the app, or a scope was left unticked.

Fix: Under **Configuration**, turn on **Canva REST APIs** in **Integration methods**, tick every scope, and connect again.

The Developer Portal will not let you create an app

Why: Your Canva account does not have multi-factor authentication turned on.

Fix: In Canva open **Your account**, **Account and security** and turn on **Multi-factor authentication** with an authenticator app (set a Canva password first if you sign in with Google or Apple). Then return to **Your apps**.

A tool answers missing_scope

Why: The app does not have the scope that operation needs.

Fix: Tick the scope under **Configuration**, **Scopes**, then reconnect Canva in PopMCP so the new sign-in includes it.

Resize, autofill or brand template tools answer permission_denied

Why: Those features need Canva Pro, Teams or Enterprise, and a free account's trial uses are spent.

Fix: Use an account on a paid Canva plan. canva_get_user_capabilities lists the features the connected account has.

429 too_many_requests

Why: Canva limits each user per operation (for example 20 new designs a minute) and exports to 75 every 5 minutes and 500 a day.

Fix: Wait about a minute and try again. Export several pages in one call instead of one call per page.

"Canva no longer accepts this connection's sign-in"

Why: Access was removed in Canva, the app's secret was replaced, or the app was deleted.

Fix: Reconnect Canva to sign in again.

Reference

On this page