View as Markdown
Canva icon

Canva ACTION

Upload Asset

Uploads an asset to Canva. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Canva account once, then configure and run Upload Asset from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "canva-upload-asset",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    canva: { authProvisionId: "apn_xxxxxxx" },
    name: "Asset Name",
    filePath: "File Path or URL",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Upload Asset inputs
Property Type Description
name Asset Name string
The asset's name
Required
filePath File Path or URL string
The file to process. Provide either a file URL or a path to a file in the /tmp directory (for example, /tmp/myFile.txt)
Required
waitForCompletion Wait for Completion boolean
Set to true to poll the API in 3-second intervals until the job is completed
Optional
syncDir SyncDir dir
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
canva-upload-asset
Version
0.1.3
App
Canva
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes