The Canva Apps SDK, Connect APIs, and MCP are now unified in the Canva Developers SDK. Learn more⁠(opens in a new tab or window).
Canva Developers SDK
The Canva Apps SDK, Connect APIs, and MCP are now unified in the Canva Developers SDK. Learn more⁠(opens in a new tab or window).

autofill-design

Populate a design's data fields with text, images, videos, or chart data.

Use autofill-design to fill the data fields of a Brand Template or an existing design with structured values, producing a new design or updating the source in place. Check the available fields first with get-brand-template-dataset or get-design-dataset.

Autofill is available to users on Canva Pro, Business, and Enterprise plans.

Example prompt

"Fill in the event flyer template with 'Spring Launch', our new hero photo, and this ticket sales table."

Pass exactly one of brand_template_id or design_id, plus a data object whose keys match the source's field names and whose values match each field's type. Optional title and update_in_place are described in the tool's schema.

Example response

IDs, URLs, and tokens below are placeholders; field names and structure are exactly as returned.

This tool wraps results in an asynchronous job object. The Canva MCP server polls the job for you for up to about a minute before responding, so status is normally success or failed by the time you receive it.

{
"job": {
"id": "job_EXAMPLE",
"status": "success",
"result": {
"type": "create_design",
"design": {
"id": "DAF_EXAMPLE",
"title": "Spring Launch Flyer",
"url": "https://www.canva.com/d/EXAMPLE",
"urls": {
"edit_url": "https://www.canva.com/d/EXAMPLE_EDIT",
"view_url": "https://www.canva.com/d/EXAMPLE_VIEW"
},
"created_at": 1704110400,
"updated_at": 1704110400,
"page_count": 1
}
}
}
}
JSON

On success, job.result.design holds the populated design, and result.type is create_design or update_design. Give the user the edit_url. If status is failed, job.error contains a code and message instead.

update_in_place replaces the existing design's content and can't be undone, so only set it when the user explicitly asks to refill that design.

Learn more