WooCommerce Canva ConnectorWooCommerce Canva Connector
Buy Now
View Demo
  • Getting Started

    • Canva Connect
    • Features
    • Installation
  • Configuration & Setup

    • Canva Developer Portal
    • Canva Connect Settings
    • Redirect URIs & HTTPS
    • Build the Canva App
    • Design with Canva
    • Using the Canva App
    • Save to Store
    • How to Guide
    • How to — Part 1
    • How to — Part 2
    • How to — Part 3
  • Reference & Support

    • How It Works
    • Troubleshooting
    • FAQ
Buy Now
View Demo
  • Getting Started

    • Canva Connect
    • Features
    • Installation
  • Configuration & Setup

    • Canva Developer Portal
    • Canva Connect Settings
    • Redirect URIs & HTTPS
    • Build the Canva App
    • Design with Canva
    • Using the Canva App
    • Save to Store
    • How to Guide
    • How to — Part 1
    • How to — Part 2
    • How to — Part 3
  • Reference & Support

    • How It Works
    • Troubleshooting
    • FAQ
  • Getting Started

    • Introduction
    • Features
    • Installation
  • Configuration & Setup

    • Canva Developer Portal Setup
    • Configuration: Canva Connect Settings
    • Configuration: Redirect URIs & HTTPS
    • Build the Canva App
    • Design with Canva
    • Using the Canva App
    • Save to Store
    • How to Guide

      • Overview of the Setup Flow
      • Installation & Basic Setup
      • Canva Developer Portal & Configuration
      • Using Canva with WooCommerce
  • Reference & Support

    • How It Works
    • Troubleshooting
    • FAQ

Canva Developer Portal Setup

Connecting WooCommerce to Canva requires two separate items in the Canva Developer Portal. They are not interchangeable, and the integration only works when both exist:

ItemPurposeWhat you copy out
AppThe React sidebar that runs inside the Canva editorApp ID (starts with AAG…)
IntegrationThe Connect API client used by your WordPress serverClient ID (starts with OC-…) and Client Secret

Keep all three values to hand, they go into Canva Connect Settings in the next step.


Step 1: Create an App

The App is the frontend half: the panel your team sees in the Canva editor.

  1. Log in to the Canva Developer Portal.
  2. Go to Your apps and click Create an App.
  3. Give it a name your team will recognise, for example Webkul WooCommerce.
  4. Copy the generated App ID. It looks like AAHOGOJacpE.

💡 Leave the App's Authentication tab empty. You do not need to add an authentication provider. The app authenticates to your store with the RS256 JWT that Canva issues through getDesignToken(), not with OAuth.

The App ID is not cosmetic. Your store compares it against the aud claim of every incoming token, which is what stops a different Canva app from reading or overwriting your products.


Step 2: Create an Integration

The Integration is the backend half: the OAuth2 client your WordPress server uses to create and read designs through the Canva Connect API.

  1. In the Developer Portal, open the Your integrations tab.
  2. Click Create an integration.
  3. Under Configuration, note the Client ID, it looks like OC-AZ_6NBnoLhwl.
  4. Generate a Client Secret and copy it immediately.

⚠ The Client Secret is shown once. If you navigate away without copying it, generate a new one and update WordPress to match.


Step 3: Enable the Required Scopes

Still inside your Integration, open the Scopes tab and enable all five scopes the plugin requests:

design:content:read
design:content:write
design:meta:read
asset:read
asset:write
ScopeWhy the plugin needs it
design:content:readRead the design when reopening an existing one
design:content:writeCreate the design and place the uploaded asset on it
design:meta:readResolve the design's edit_url to redirect the admin into the editor
asset:readConfirm an asset upload job has completed
asset:writeUpload the existing product image into Canva

A missing scope surfaces as a failure on the very first design attempt, so enable all five before testing.

💡 The plugin does not request offline_access. The Canva Connect API issues refresh tokens without it, which is what lets the plugin skip the consent screen on later designs.


Step 4: Set the Redirect URI and Return Navigation URL

Both fields live in your Integration settings, and both values are printed for you on the WordPress settings page.

  1. In WordPress, open Webkul WC Addons > Canva Connect.
  2. Under Important URLs to paste in your Canva Developer Portal, copy the two values.
  3. Paste them into the matching fields on the Canva Integration.
Canva fieldValue
Redirect URIhttps://your-domain.com/wp-json/canva/v1/callback
Return Navigation URLhttps://your-domain.com/wp-json/canva/v1/return

Redirect URI and Return URL printed on the Canva Connect settings page

Copy these directly from your own settings page rather than typing them out. They automatically account for your site's domain, permalink structure, and REST prefix.

Full detail on both fields, and on the HTTPS requirement, is in Redirect URIs & HTTPS.


Step 5: Upload the App Bundle

The App created in Step 1 has no code in it yet. Building the React bundle and uploading it is covered in Build the Canva App, do that after saving your credentials in WordPress, because the build needs your store URL.


Checklist

Before moving on, confirm you have:

  • [x] An App, and its App ID (AAG…)
  • [x] An Integration, and its Client ID (OC-…) and Client Secret
  • [x] All five scopes enabled on the Integration
Next
Configuration: Canva Connect Settings