Canva offers a drag-and-drop design suite for creating social media graphics, presentations, and marketing materials with prebuilt templates and a vast element library
Canva offers a drag-and-drop design suite for creating social media graphics, presentations, and marketing materials with prebuilt templates and a vast element library On Nagent, Canva is exposed as a fully-configurable images & design integration that any agent can call — 48 actions, and OAuth authentication. No code is required to wire Canva into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Canva to automate the kinds of tasks images & design teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Canva into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Canva, with input parameters and output schema. Drop these into any step of an agent built in Helix.
CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LISTLists brand templates available to the user (Canva Enterprise only). This endpoint retrieves all brand templates the user has access to. Brand templates are pre-designed layouts with variable data fields that can be populated programmatically using the autofill API. Returns template metadata including IDs, names, and dataset schemas.
Input parameters
Lets you search the brand templates available to the user using a search term or terms.
Filter the list of brand templates based on the brand templates' dataset definitions. Brand templates with dataset definitions are mainly used with the Autofill APIs. This can be one of the following: - `any`: (Default) Brand templates with and without dataset definitions. - `non_empty`: Brand templates with one or more data fields defined.
Sort the list of brand templates. This can be one of the following: - `relevance`: (Default) Sort results using a relevance algorithm. - `modified_descending`: Sort results by the date last modified in descending order. - `modified_ascending`: Sort results by the date last modified in ascending order. - `title_descending`: Sort results by title in descending order. - `title_ascending`: Sort results by title in ascending order.
Filter the list of brand templates based on the user"s ownership of the brand templates. This can be one of the following: - `any`: (Default) Brand templates owned by and shared with the user. - `owned`: Brand templates owned by the user. - `shared`: Brand templates shared with the user.
If the success response contains a continuation token, the user has access to more brand templates you can list. You can use this token as a query parameter and retrieve more templates from the list, for example `/v1/brand-templates?continuation={continuation}`. To retrieve all the brand templates available to the user, you might need to make multiple requests. IMPORTANT: This token is an opaque value returned by the API. You must use it exactly as returned from a previous API response. Do not manually construct or modify continuation tokens.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_ASSET_UPLOAD_JOBUploads an asset file to the user's Canva content library. This endpoint initiates an asynchronous upload job for images, videos, audio files, PDFs, or fonts. Returns a job ID to track the upload progress. Once complete, the asset can be used in designs, referenced by its asset ID, and managed through other asset endpoints. IMPORTANT: This is an async operation. Use CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS to poll the job status until it reaches 'success' or 'failed' status.
Input parameters
File to upload. Size limits: Images 50MB, Videos 100MB, Audio 10MB. Supported: JPEG/PNG/GIF/WebP/SVG, MP4/MOV/AVI, MP3/WAV, PDF, TTF/OTF fonts. No duplicate detection - uploading same file creates new asset.
Display name for the asset (max 50 chars). Used for searching in Canva. Longer names are truncated. Special chars allowed. Cannot be changed via API after upload.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_CANVA_DESIGN_EXPORT_JOBDEPRECATED: Use CANVA_POST_EXPORTS instead. Exports a Canva design to various file formats. This endpoint initiates an asynchronous export job for designs. Supports image formats (PNG, JPG, GIF), documents (PDF, PPTX), and video (MP4). Each format has specific configuration options like dimensions, quality, and page selection. IMPORTANT: This is an async operation. Use GET_DESIGN_EXPORT_JOB_RESULT to poll the job status until completion and retrieve the download URLs for the exported files.
Input parameters
Export format configuration. Set 'type' to one of: 'png', 'jpg', 'pdf', 'gif', 'mp4', 'pptx'.
The design ID to export
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSETDEPRECATED: Use CANVA_POST_DESIGNS instead. Creates a new Canva design with specified dimensions or from an asset. This endpoint creates a design using either a preset type (doc, presentation, whiteboard), custom dimensions, or by importing an image asset. Returns the design ID, URLs for editing and viewing, owner info, and metadata. The design can be immediately accessed and edited.
Input parameters
Design title (1-255 chars). Appears in Canva UI and design lists.
Image asset ID to create design from. Optional if design_type provided. IMPORTANT: Only image assets are supported - video and PDF assets will be rejected by the API with error 'asset_id must belong to an image asset'. Asset IDs are opaque strings with no guaranteed format. To verify an asset is an image before using it here, call CANVA_RETRIEVE_ASSET_METADATA_BY_ID and check that the 'type' field equals 'image'. To upload a new image asset, use CANVA_CREATE_URL_ASSET_UPLOAD_JOB or CANVA_CREATE_ASSET_UPLOAD_JOB.
Design dimensions configuration. Optional if asset_id provided. Must be a dictionary with 'type' field. Two options: 1. Preset: {'type': 'preset', 'name': 'doc'\\ | 'whiteboard'\\ | 'presentation'} 2. Custom: {'type': 'custom', 'width': 1080, 'height': 1920} Type must be either 'preset' or 'custom'. For preset, name must be one of: doc, whiteboard, presentation. For custom, width and height must be between 40-8000 pixels.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_COMMENT_REPLY_IN_DESIGNThis preview API allows replying to comments within a design on Canva, with a limit of 100 replies per comment. Users should note potential unannounced changes, and that preview APIs are not eligible for public integrations.
Input parameters
The reply comment message. This is the reply comment body shown in the Canva UI. You can also mention users in your message by specifying their User ID and Team ID using the format `\[user_id:team_id\]`.
The `id` of the comment thread to reply to. This parameter is used in the URL path, not in the request body.
The object the comment is attached to.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_APICreates a new comment thread on a Canva design. This preview API allows adding text comments to designs for collaboration and feedback. Returns the created comment with ID, author info, and timestamp. Comments can be replied to using the comment reply endpoint.
Input parameters
Comment text (max 4096 chars). Mention users with \[user_id:team_id\]. No markdown support. Comments appear unpinned - users must view 'All pages' to see them.
Design ID to attach comment to
User ID to assign this comment to. If provided, you must also mention this user in the message text using format \[user_id:team_id\].
Required target reference specifying where comment should be attached
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_DESIGN_IMPORT_JOBImports an external file as a new Canva design. This endpoint converts documents (PDF, Word, PowerPoint, Excel) and design files (PSD, AI) into editable Canva designs. The import runs asynchronously and returns a job ID to track progress and retrieve the created design. IMPORTANT: This is an async operation. Use CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS to poll the job status until it reaches 'success' or 'failed' to get the final design ID.
Input parameters
Document or design file to import (max 100MB). Formats: PDF, Word, PowerPoint, Excel, Photoshop, Illustrator, Keynote, Pages, Numbers, OpenDocument. PowerPoint loses animations, Excel loses formulas, AI/PSD may lose layers. Password-protected files fail.
Title for the imported design (max 50 chars). Shows in Canva UI and design lists. Longer titles are truncated. Special characters allowed.
Optional MIME type override. If omitted, the file's mimetype is used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_DESIGN_RESIZE_JOBCreates a resized copy of an existing design (Canva Pro/Enterprise only). This endpoint creates a new design with different dimensions from an existing one. The resize operation runs asynchronously and preserves content where possible. Returns a job ID to track progress and retrieve the new design once complete. IMPORTANT: This is an async operation. Use CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS to poll the job status until completion to get the resized design ID and access URLs.
Input parameters
The source design ID
Target design type configuration
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_CREATE_URL_ASSET_UPLOAD_JOBTool to create an asynchronous Canva asset import job from a public URL. Use when you need to import an asset into Canva directly from a publicly accessible URL without S3 choreography.
Input parameters
Publicly accessible HTTPS URL of the file to import. Must use HTTPS protocol (e.g., https://example.com/image.png).
Asset name (1-255 characters).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_DELETE_ASSET_BY_IDYou can delete an asset by specifying its `assetId`. This operation mirrors the behavior in the Canva UI. Deleting an item moves it to the trash. Deleting an asset doesn't remove it from designs that already use it.
Input parameters
The ID of the asset.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_EXCHANGE_OAUTH20_ACCESS_OR_REFRESH_TOKENThe OAuth 2.0 endpoint issues time-limited (4-hour) access tokens of up to 4KB for user authorization via codes or refresh tokens. It requires client ID/secret for authentication.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_FETCH_ASSET_UPLOAD_JOB_STATUSPolls for asset upload job completion status. Use this after CANVA_CREATE_ASSET_UPLOAD_JOB to check the upload progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final asset ID and metadata. IMPORTANT: This tool is ONLY for direct file upload jobs (CANVA_CREATE_ASSET_UPLOAD_JOB). Do NOT use this for URL import jobs created by CANVA_CREATE_URL_ASSET_UPLOAD_JOB - those use a different API endpoint. Use CANVA_GET_URL_ASSET_UPLOADS_JOBID to poll URL import job status.
Input parameters
The asset upload job ID returned by CANVA_CREATE_ASSET_UPLOAD_JOB or CANVA_POST_ASSET_UPLOADS. This is the 'id' field from the job object in the response. IMPORTANT: This tool does NOT work for job IDs from CANVA_CREATE_URL_ASSET_UPLOAD_JOB (URL import jobs use a different endpoint - use CANVA_GET_URL_ASSET_UPLOADS_JOBID instead).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_FETCH_CANVA_CONNECT_SIGNING_PUBLIC_KEYSThe API for verifying Canva webhooks, 'connect/keys,' is in preview, meaning unstable, not for public integrations, and provides a rotating JWK for signature verification to prevent replay attacks. Cache keys for efficiency.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_FETCH_CURRENT_USER_DETAILSReturns the User ID, Team ID, and display name of the user account associated with the provided access token.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_FETCH_DESIGN_METADATA_AND_ACCESS_INFORMATIONGets the metadata for a design. This includes owner information, URLs for editing and viewing, and thumbnail information.
Input parameters
The design ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_DESIGN_COMMENT_REPLIESRetrieves a list of replies for a comment or suggestion thread on a design. Use when you need to view all replies in a specific thread.
Input parameters
The number of replies to return. Default is 50. Minimum value: 1, Maximum value: 100.
The design ID.
The ID of the thread.
Token for pagination to retrieve more items from the list. If the response contains a continuation token, use it to retrieve more replies.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_DESIGN_COMMENT_REPLYRetrieves a specific reply to a comment or suggestion thread on a design. Use when you need to view details of a particular reply.
Input parameters
The identifier for the specific reply.
The design identifier.
The identifier for the comment thread.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_DESIGN_EXPORT_JOB_RESULTPolls for design export job completion status. Use this after CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB to check the export progress. Call this endpoint repeatedly until the job is complete to receive download links for the exported design pages. Download URLs expire after 30 days.
Input parameters
The export job ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_DESIGNS_DESIGNID_COMMENTS_THREADIDRetrieves metadata for a comment or suggestion thread on a design. Use when you need to get details about a specific thread including content, author, timestamps, and status.
Input parameters
The design identifier.
The thread identifier.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATSLists available file formats for exporting a design. Use this to check which export formats (PDF, JPG, PNG, SVG, PPTX, GIF, MP4) are supported for a specific design.
Input parameters
The design ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_URL_ASSET_UPLOADS_JOBIDTool to retrieve the status and result of a URL-based asset upload job. Use this after creating a URL asset upload job to check progress and retrieve the uploaded asset ID when successful.
Input parameters
The asset upload job identifier.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_URL_IMPORTS_JOBIDPolls for URL import job completion status. Use this after creating a URL import job to check the import progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final imported design ID and metadata.
Input parameters
The URL import job ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_GET_USERS_ME_CAPABILITIESLists the API capabilities for the user account associated with the provided access token. Use when you need to check what features are available based on the user's Canva plan.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOBUpcoming brand template ID updates require migration within 6 months. Canva Enterprise users can auto-fill designs using various data types, including experimental chart data. Monitor jobs with specific API.
Input parameters
Data object containing the data fields and values to autofill. Keys are field names from the brand template. Values must be one of: TextDataField (type='text'), ImageDataField (type='image'), or ChartDataField (type='chart').
Title to use for the autofilled design. Must be less than 256 characters. If no design title is provided, the autofilled design will have the same title as the brand template.
ID of the input brand template.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_LIST_DESIGN_PAGES_WITH_PAGINATIONPreview API for Canva: subject to unannounced changes and not for public integrations. Lists metadata for design pages with optional `offset` and `limit`; not applicable to all design types.
Input parameters
The number of pages to return, starting at the page index specified using the `offset` parameter. Default is `50` pages. Minimum: 1, Maximum: 200.
The page index to start the range of pages to return. Default is `1`. Pages are indexed using one-based numbering, so the first page in a design has the index value `1`. Minimum: 1, Maximum: 500.
The design ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_LIST_FOLDER_ITEMS_BY_TYPE_WITH_SORTINGLists the items in a folder, including each item's `type`. Folders can contain: - Other folders. - Designs, such as Instagram posts, Presentations, and Documents (\[Canva Docs\](https://www.canva.com/create/documents/)). - Image assets.
Input parameters
Sort the list of folder items. This can be one of the following: - `created_ascending`: Sort results by creation date, in ascending order. - `created_descending`: Sort results by creation date, in descending order. - `modified_ascending`: Sort results by the last modified date, in ascending order. - `modified_descending`: (Default) Sort results by the last modified date, in descending order. - `title_ascending`: Sort results by title, in ascending order. The title is either the `name` field for a folder or asset, or the `title` field for a design. - `title_descending`: Sort results by title, in descending order. The title is either the `name` field for a folder or asset, or the `title` field for a design.
The folder ID. Must be a non-empty string. Use 'root' to list items in the root folder.
Filter the folder items to only return specified types. The available types are: `design`, `folder`, and `image`. To filter for more than one item type, provide a comma- delimited list.
If the success response contains a continuation token, the folder contains more items you can list. You can use this token as a query parameter and retrieve more items from the list, for example `/v1/folders/{folderId}/items?continuation={continuation}`. To retrieve all the items in a folder, you might need to make multiple requests.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_LIST_USER_DESIGNSProvides a summary of Canva user designs, includes search filtering, and allows showing both self-created and shared designs with sorting options.
Input parameters
Lets you search the user"s designs, and designs shared with the user, using a search term or terms.
Sort the list of designs. This can be one of the following: - `relevance`: (Default) Sort results using a relevance algorithm. - `modified_descending`: Sort results by the date last modified in descending order. - `modified_ascending`: Sort results by the date last modified in ascending order. - `title_descending`: Sort results by title in descending order. - `title_ascending`: Sort results by title in ascending order.
Filter the list of designs based on the user"s ownership of the designs. This can be one of the following: - `owned`: Designs owned by the user. - `shared`: Designs shared with the user. - `any`: Designs owned by and shared with the user.
If the success response contains a continuation token, the list contains more designs you can list. You can use this token as a query parameter and retrieve more designs from the list, for example `/v1/designs?continuation={continuation}`. To retrieve all of a user"s designs, you might need to make multiple requests. Pass a valid token or omit this parameter entirely. Empty strings are not accepted by the API.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDERTransfers an item to a different folder by specifying both the destination folder's ID and the item's ID. If the item is in various folders, an error occurs; manual relocation via Canva UI is required.
Input parameters
The ID of the item you want to move. Item IDs are alphanumeric strings, 1-50 characters. Design IDs have format like 'DAFVztcvd9z', folder IDs like 'FAF2lZtloor', and asset IDs like 'Msd59349ff'. Obtain item IDs from the List designs, List folder items, or other Canva API endpoints. Note: Video assets are not supported for moving.
The ID of the folder you want to move the item to (the destination folder). Folder IDs are alphanumeric strings (e.g., 'FAF2lZtloor'), 1-50 characters. Use the special ID 'root' to move the item to the top level of a Canva user's projects, or 'uploads' for the Uploads folder. Obtain folder IDs from the List folder items or Create folder API endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_DESIGNSCreates a new Canva design with preset type or custom dimensions. Use when creating new designs for docs, presentations, whiteboards, or with specific pixel dimensions. Optionally insert an image asset into the design. Returns design ID, edit/view URLs, and metadata.
Input parameters
Design name (1-255 characters). Appears in Canva UI and design lists.
Image asset ID to insert into the design. Currently supports image assets only. Must be a valid asset ID from a previously uploaded asset.
Design type configuration. Can be a preset name string ('doc', 'whiteboard', 'presentation') which will be auto-converted to the required format, or a nested object for preset (e.g., {'type': 'preset', 'name': 'presentation'}) or custom dimensions (e.g., {'type': 'custom', 'width': 1080, 'height': 1920})
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_DESIGNS_DESIGNID_COMMENTSCreates a comment thread on a Canva design. Use when you need to add feedback or collaboration comments to a specific design. Rate limited to 100 requests per minute per user.
Input parameters
The design ID where the comment will be created. Must match pattern ^\[a-zA-Z0-9_-\]{1,50}$
Optional user ID for assignment. If specified, the assignee must be mentioned in the message using \[user_id:team_id\] format.
The comment message in plaintext shown in Canva UI. Must be between 1 and 2048 characters. User mentions use format \[user_id:team_id\].
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_DESIGNS_DESIGNID_COMMENTS_THREADID_REPLIESTool to create a reply to a comment or suggestion thread on a Canva design. Use when you need to respond to existing comments or suggestions. Maximum 100 replies per thread allowed.
Input parameters
The design identifier. Must match pattern ^\[a-zA-Z0-9_-\]{1,50}$
The identifier of the thread to reply to. Must match pattern ^\[a-zA-Z0-9_-\]{1,50}$
The reply text content. Must be between 1 and 2048 characters. Users can be mentioned using the format \[user_id:team_id\].
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_EXPORTSStarts a new asynchronous job to export a Canva design file. Use when exporting designs to various formats (PDF, JPG, PNG, GIF, PPTX, MP4). Returns a job ID that can be used to poll for completion status and download URLs. IMPORTANT: Format compatibility varies by design type. Before exporting, use the CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS action to check which formats are supported for the specific design. Attempting to export in an unsupported format will result in a 400 error (e.g., 'png export not supported for this design type').
Input parameters
Export format configuration. Specify the format type and format-specific options. Exported files remain available for download for 24 hours. IMPORTANT: Not all formats are supported for all design types. Use GET /v1/designs/{designId}/export-formats to check which formats are supported for a specific design before exporting. If you request an unsupported format, the API will return a 400 error.
The identifier of the design to export (e.g., 'DAGz4y3LDFI')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_FOLDERSTool to create a folder in Canva. Use when you need to organize designs, assets, or create nested folder structures in a user's projects or uploads folder.
Input parameters
The display name for the new folder. Must be 1-255 characters. Duplicate names are allowed.
The ID of the destination location. Use 'root' for top-level projects, 'uploads' for the uploads folder, or a specific folder ID to nest within another folder. Cannot be empty.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_POST_URL_IMPORTSTool to start an asynchronous job to import an external file from a URL as a new design in Canva. Use when you need to import a design from a publicly accessible URL. This is an async operation; poll the job status using the job ID until it reaches 'success' or 'failed'.
Input parameters
The URL of the file to import. This URL must be accessible from the internet and be publicly available (1-2048 characters).
Name assigned to the imported design (1-255 characters).
File type identifier (e.g., 'application/pdf', 'image/png'). Auto-detected if omitted or empty (1-100 characters when provided).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_REMOVE_FOLDER_AND_MOVE_CONTENTS_TO_TRASHDeletes a folder by moving the user's content to Trash and reassigning other users' content to their top-level projects.
Input parameters
The folder ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_APP_PUBLIC_KEY_SETReturns the Json Web Key Set (public keys) of an app. These keys are used to verify JWTs sent to app backends.
Input parameters
The app id
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_ASSET_METADATA_BY_IDYou can retrieve the metadata of an asset by specifying its `assetId`.
Input parameters
The ID of the asset.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_BRAND_TEMPLATE_DATASET_DEFINITIONCanva's brand template IDs will change later this year, including a 6-month integration migration. API access requires Enterprise membership, providing autofill for images, text, and charts, although chart data could change during preview.
Input parameters
The brand template ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_CANVA_ENTERPRISE_BRAND_TEMPLATE_METADATAUpcoming update will change brand template IDs; integrations must migrate within 6 months. API use requires Canva Enterprise membership.
Input parameters
The brand template ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUSAPI users with Canva Enterprise membership can retrieve design autofill job results, potentially requiring multiple requests until a `success` or `failed` status is received.
Input parameters
The design autofill job ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUSPolls for design import job completion status. Use this after CANVA_CREATE_DESIGN_IMPORT_JOB to check the import progress. Repeatedly call this endpoint until a 'success' or 'failed' status is received to get the final imported design ID and metadata.
Input parameters
The design import job ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUSRetrieves the status and results of a design resize job. Polls for design resize job completion status. Use this after CANVA_CREATE_DESIGN_RESIZE_JOB to check the resize progress. Keep polling until status is 'success' or 'failed'. Successful jobs include the new design ID and temporary access URLs.
Input parameters
The resize job ID returned from create resize job endpoint
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_FOLDER_DETAILS_BY_IDGets the name and other details of a folder using a folder's `folderID`.
Input parameters
The folder ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_RETRIEVE_USER_PROFILE_DATACurrently, this returns the display name of the user account associated with the provided access token. More user information is expected to be included in the future.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_REVOKE_OAUTH_TOKENSRevoke a refresh token to end its lineage and user consent, requiring re-authentication. Authenticate using either basic access with Base64-encoded credentials or body parameters with client ID and secret.
Input parameters
The token to revoke.
Your integration"s unique ID, for authenticating the request. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.
Your integration"s client secret, for authenticating the request. Begins with `cnvca`. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_UPDATE_ASSET_S_NAME_AND_TAGS_BY_IDYou can update the name and tags of an asset by specifying its `assetId`. Updating the tags replaces all existing tags of the asset.
Input parameters
The name of the asset. This is shown in the Canva UI. When this field is undefined, nothing is updated. Maximum length 50 characters.
The replacement tags for the asset. When this field is undefined, nothing is updated. Maximum length 50 tags. Each tag has a maximum length of 50 characters.
The ID of the asset.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_UPDATE_FOLDER_DETAILS_BY_IDUpdates a folder's details using its `folderID`. Currently, you can only update a folder's name.
Input parameters
The folder name, as shown in the Canva UI.
The folder ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CANVA_VALIDATE_OAUTH_TOKEN_PROPERTIESCheck an access token's validity and properties via introspection, requiring authentication. Use Basic access (Base64 encoded `client_id:client_secret`) or body parameters for credentialing.
Input parameters
The token to introspect.
Your integration"s unique ID, for authenticating the request. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.
Your integration"s client secret, for authenticating the request. Begins with `cnvca`. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 41 agents privately built on Nagent that already use Canva.
Build on Nagent
Connect Canva to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Canva, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, Canva is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Canva is connected, you configure its 48 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Canva steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Canva event fires, the agent kicks off automatically.
Every Canva action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Canva ships with 48 pre-built images & design actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Canva together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Canva-based workflows tailored to your business.