Files
2025-12-26 13:38:04 +01:00
..
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00
2025-12-26 13:38:04 +01:00

Canva Connector Side-Panel App (Apps SDK)

This scaffold runs inside the Canva editor (side panel iframe) and talks to the editor via the Canva Apps SDK. Use it to add elements, call your backend, and keep users inside Canva while editing.

Whats here

  • app.config.json — declares entry point and capabilities (design, asset, fetch).
  • src/app.tsx — minimal panel UI using @canva/app-ui-kit with two actions:
    • Insert headline: drops a text element into the current page via @canva/design.
    • Ping backend: calls your service via @canva/fetch (replace the URL).
  • package.json — wired for canva-app CLI scripts (dev/build) and Apps SDK deps.

Prereqs

  • Canva Developer account and an app created in the Developer Portal.
  • Canva CLI installed globally: npm install -g @canva/app-cli (or use npx canva-app).
  • Node 18+.

Run locally (panel inside Canva)

  1. Install deps: cd canva-app && npm install (or pnpm install).
  2. Start dev server: npm run dev (spins up the app and gives you an Ngrok/localhost URL).
  3. In Canva, open your dev app and set the App URL to the dev tunnel URL that the CLI prints.
  4. Open a design in Canva → open your app from the Apps sidebar → click Insert headline and Ping backend.

Build for submission

  • npm run build produces the production bundle via @canva/app-scripts.
  • Point your apps production URL in the Developer Portal to the built host you deploy.

Notes / Next steps

  • Replace https://your-backend.example.com/health in src/app.tsx with your Go backend endpoint and add any auth you require.
  • Use other SDKs as needed: @canva/asset for uploads, @canva/platform for intents, @canva/user for identity, @canva/fetch for signed backend calls.
  • Follow Canvas design guidelines (panel width, spacing, accessibility) before submitting to the Marketplace.