Canva
Brand templates, social graphics.
Verdict
Common use cases
- Draft social media graphics during campaign planning
- Iterate on presentation decks with team feedback
- Upload and organize brand assets in folders
- Comment on design proofs without switching apps
- Pull brand templates into new projects
Integration
- Vendor
- Canva
- Category
- developer-tools
- Auth
- OAUTH2
- Tools
- 32
- Composio slug
canva
Tools
- Access user specific brand templates list
This year, brand template ids will change; integrations storing them must update within 6 months. also, api use requires canva enterprise membership.
- Create canva design with optional asset
Create a new canva design using a preset or custom dimensions, and add an asset with `asset id` from a user's project using relevant apis.
- 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
This api is in preview and may change without notice; integrations using it won't pass review. it allows creating comments on a design, with a limit of 1000 comments per design.
- Create user or sub folder
This api creates a folder in a canva user's projects at the top level or within another folder, returning the new folder's id and additional details upon success.
- Delete asset by iddestructive
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
Summarize asset upload outcome by repeatedly calling the endpoint until a 'success' or 'failed' status is received after using the create asset upload job api.
- 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 export job result
Get the outcome of a canva design export job; if done, receive download links for the design’s pages. for details, visit the create design export job api documentation.
- 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.
- Initiates canva design export job
Canva's new job feature exports designs in multiple formats using a design id, with provided download links. the export status can be tracked via an api. exports with 'pro' quality may fail if the design contains unpaid premium elements.
- 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.
- Remove folder and move contents to trashdestructive
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 a specific design comment
This preview api is subject to unannounced changes and can't be used in public integrations. it retrieves a comment, details of which are on canva help center.
- 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
Gets the status and results of design import jobs created using the [create design import job api](https://www.canva.dev/docs/connect/api-reference/design-imports/create-design-import-job/).
- 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 tokensdestructive
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.
Setup
Setup guide
- 11. Open your Switchy workspace settings and navigate to the Integrations tab. 2. Find Canva in the MCP directory and click Connect. 3. You'll be redirected to Canva's OAuth consent screen — log in with your Canva account. 4. Grant the requested scopes: design creation, asset management, folder access, and comment permissions. 5. Canva will redirect you back to Switchy with a confirmation message. 6. Open any Space and type '@Canva create a new Instagram post design' to test the connection. 7. If the MCP responds with a design link or confirmation, you're ready to go. 8. To use brand templates, ensure your Canva account is on an Enterprise plan — the MCP will return an error if you lack the required tier. 9. Access tokens expire after four hours; Switchy handles refresh automatically, but if you see auth errors, reconnect from the Integrations tab.
What teammates see: by default, memories from Canva are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Create Instagram Post
@Canva create a new design for an Instagram post with dimensions 1080x1080. Use a clean, minimal layout.Open in a Space →
Upload Team Logo
@Canva upload the logo file from our shared drive as a new asset. Place it in the 'Brand Assets' folder.Open in a Space →
List Brand Templates
@Canva show me the list of brand templates available in our account. I need to start a new campaign deck.Open in a Space →
Comment on Draft
@Canva add a comment to design ID abc123: 'Can we swap the headline font to match our style guide?'Open in a Space →
Check Upload Status
@Canva check the upload status for job ID xyz789. Let me know when it's ready to use.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Canva list all brand templates available in our workspace and show me which ones were updated in the last 30 days
Here are your brand templates: • Social Media Kit (updated 12 days ago) – Instagram posts, stories, reels • Quarterly Report Template (updated 8 days ago) – Presentation slides with brand colors • Email Header Set (updated 45 days ago) – Newsletter headers • Product Launch Assets (updated 2 days ago) – Landing page graphics, ads Note: Brand template IDs change annually. If you're storing these IDs in another system, you'll need to refresh them within the next 6 months to avoid broken references.
This example demonstrates read access to brand templates, which requires a Canva Enterprise membership. The MCP surfaces the annual ID rotation policy — critical for teams building automation around these templates. Users should plan for periodic re-syncing of stored template references.
@Canva create a new Instagram post design using our 'Social Media Kit' template and add the product photo I uploaded yesterday (asset ID: ABCxyz789)
Design created successfully: • Design ID: `dg_abc123def456` • Template: Social Media Kit (Instagram Post preset) • Asset added: Product photo (ABCxyz789) placed in main content area • Editable link: canva.com/design/dg_abc123def456/edit The design is now in your Canva projects. Team members with access can open it to adjust text, swap images, or export final assets.
This write operation combines two tools: creating a design from a brand template and inserting an existing asset. The MCP returns a direct edit link, making it easy to hand off to a designer. Requires OAuth scope for both design creation and asset access — confirm your integration has `design:write` and `asset:read` permissions.
@Canva review all comments on design dg_abc123def456 and draft a summary of the feedback themes, then post a reply to the most recent comment acknowledging the team's input
**Feedback summary** (8 comments total): • 3 comments request darker brand blue in header • 2 comments suggest shortening headline copy • 2 comments approve current layout • 1 comment asks for higher-res logo **Reply posted** to Sarah's comment (most recent): "Thanks for the feedback, team. We're updating the header color and headline length based on your input. New version coming shortly." Note: Canva limits designs to 1,000 comments and 100 replies per comment. This design is at 8 comments, well within limits.
This synthesis example shows the MCP reading comment threads and using AI reasoning to identify patterns, then writing back to the design. The comment/reply APIs are in preview — Canva may change them without notice, and integrations using preview endpoints won't pass Canva's official review process. Use for internal workflows, not customer-facing features.
Use-case deep-dives
When Canva MCP makes sense for distributed content creation
A 6-person marketing team spread across three time zones needs to produce social graphics, one-pagers, and event collateral without a full-time designer. The Canva MCP is the right call here if you're already on Canva Enterprise and want agents to pull approved brand templates, upload new assets to shared folders, and spin up designs from a Slack thread or standup doc. The folder creation and asset upload tools let an agent organize incoming campaign materials without manual sorting. The threshold: if your team isn't on Enterprise, the brand template API won't work, and you're better off with a simpler screenshot-and-upload flow. If you are, this MCP turns Switchy into a design-request router that actually respects your brand guidelines.
Using Canva's comment APIs for async design review
A 3-person creative agency runs client reviews in Canva but loses track of feedback threads when juggling 8 active projects. The Canva MCP's comment and reply tools let an agent surface unresolved threads, summarize client notes, and post status updates directly in the design file. This works when your bottleneck is context-switching between Slack, email, and Canva's UI. The catch: the comment API is in preview, so it won't pass Canva's integration review if you're building a public tool, and the 1000-comment-per-design limit can hit fast on iterative projects. For internal agency use in Switchy, it's a time-saver. For client-facing automation, wait until the API graduates to stable.
When Canva MCP doesn't justify the Enterprise cost
A 10-person nonprofit runs quarterly fundraisers and needs event posters, social cards, and program booklets. The Canva MCP could automate design creation from a spreadsheet of event details, but the Enterprise membership requirement makes it a non-starter unless you're already paying for it. If you're on Canva Free or Pro, the brand template and folder APIs won't authenticate, and you lose the main automation value. A better play: use a generic image-generation MCP or a Figma integration if you have a designer who can template files there. The Canva MCP is a fit only if your org already committed to Enterprise for other reasons and you want to squeeze more value from that spend.
Frequently asked
What can the Canva MCP do in Switchy?
It lets your team create designs, manage brand templates, upload assets, and handle comments programmatically. The MCP exposes 32 tools covering folder creation, asset deletion, and OAuth token exchange. You can spin up designs from presets or custom dimensions, then add assets from your Canva projects. It's useful for automating repetitive design workflows without opening the Canva UI.
Do I need a Canva Enterprise plan to use this MCP?
Yes, for brand template access. The MCP's brand template tool explicitly requires Canva Enterprise membership. Other tools like creating designs or managing folders work on lower tiers, but if your team relies on brand kits, you'll hit a paywall. OAuth setup itself doesn't require Enterprise—just standard Canva OAuth2 credentials.
Can the Canva MCP publish designs or export them as PDFs?
No export or publish tools are listed in the 32 available. You can create designs, add assets, and comment, but final output—downloading PNGs, PDFs, or pushing to social—isn't exposed. For that, you'd still open Canva or use their separate Export API endpoints outside this MCP.
How does this compare to calling Canva's REST API directly?
The MCP wraps Canva's API into Switchy's tool format, so your team doesn't write HTTP clients or manage token refresh logic. You lose some flexibility—preview endpoints like comment replies may break without notice—but gain speed for common tasks. If you need stable, production-grade integrations, Canva's official SDKs are safer.
Who on the team should connect the Canva MCP?
Whoever owns your Canva Enterprise account or has OAuth admin rights. That person authenticates once; the MCP then acts on their behalf for all 32 tools. If brand templates matter, make sure they have access to the templates you want to automate. Non-admin users can't grant the necessary scopes.