Summary
Adds a new Canva piece for the Activepieces platform, integrating with the Canva Connect API.
Actions
Write Actions (5)
- Upload Asset — Upload images/videos to the user’s Canva content library
- Create Design — Create designs using preset types (doc, presentation, Instagram post, etc.) or custom dimensions
- Import Design — Import external files (PDF, PPTX, AI, PSD, SVG) as editable Canva designs
- Export Design — Export designs as PDF, JPG, PNG, GIF, PPTX, or MP4 with configurable quality/dimensions
- Move Folder Item — Move items between folders in the user’s projects
Search Actions (1)
- Find Design — Search designs with filters for ownership, sorting, and pagination
Read Actions (2)
- Get a Folder — Retrieve folder metadata by ID
- Get an Image — Retrieve image asset metadata by ID
Authentication
OAuth2 via Canva Connect API with scopes: design:content:read, design:content:write, design:meta:read, asset:read, asset:write, folder:read, folder:write.
Implementation Details
- Uses
httpClient from @activepieces/pieces-common for all API calls
- Async job polling for import/export operations (Canva uses async job pattern)
- Includes a custom API call action for advanced users
- Follows existing piece architecture (project.json, tsconfig, .babelrc, .eslintrc)
Resolves #8135
/claim #8135