Integrations / Canva
Canva
Design platform: list and open designs, create new blank designs.
3 actions
OAuth 2
2 read1 write
Calls api.canva.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "canva" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
design:meta:read | See the titles and links of your designs |
design:content:write | Create new designs |
Actions
Create designwritecanva.create_designCreate a new blank Canva design from a preset type and return its id and edit link.
Needs scope: design:content:write
| Input | Type | Description | |
|---|---|---|---|
preset | string | Required | |
title | string | Optional | 1 to 255 characters |
await setu.execute({
userId: "user_1",
action: "canva.create_design",
input: {
"preset": "<preset>"
},
});Get designreadcanva.get_designGet one Canva design's title, page count and temporary edit and view links.
Needs scope: design:meta:read
| Input | Type | Description | |
|---|---|---|---|
design_id | string | Required |
await setu.execute({
userId: "user_1",
action: "canva.get_design",
input: {
"design_id": "<design_id>"
},
});List designsreadcanva.list_designsList or search the connected user's Canva designs, newest or most relevant first, with paging.
Needs scope: design:meta:read
| Input | Type | Description | |
|---|---|---|---|
query | string | Optional | Search text, max 255 characters |
ownership | string | Optional | |
sort_by | string | Optional | |
limit | integer | Optional | 1 to 100, default 25 |
continuation | string | Optional | Token from a previous page |
await setu.execute({
userId: "user_1",
action: "canva.list_designs",
input: {},
});