runWorkflow
Execute a workflow by its permanent ID. Skyvern opens a cloud browser and runs each block in sequence.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
body.workflow_id | string | Yes | — | The workflow’s permanent ID (wpid_...). |
body.parameters | Record<string, unknown> | No | undefined | Input parameters defined in the workflow. Keys must match parameter names. |
body.browser_session_id | string | No | undefined | Run inside an existing browser session. |
body.browser_profile_id | string | No | undefined | Load a browser profile (cookies, storage) into the session. |
body.proxy_location | ProxyLocation | No | undefined | Route the browser through a geographic proxy. |
body.webhook_url | string | No | undefined | URL to receive a POST when the run finishes. |
body.title | string | No | undefined | Display name for this run in the dashboard. |
body.totp_identifier | string | No | undefined | Identifier for TOTP verification. |
body.totp_url | string | No | undefined | URL to receive TOTP codes. |
body.user_agent | string | No | undefined | Custom User-Agent header for the browser. |
body.extra_http_headers | Record<string, string> | No | undefined | Additional HTTP headers injected into every browser request. |
body.browser_address | string | No | undefined | Connect to a browser at this CDP address. |
template | boolean | No | undefined | Run a template workflow. |
waitForCompletion | boolean | No | false | Block until the workflow finishes. |
timeout | number | No | 1800 | Max wait time in seconds when waitForCompletion is true. |
Returns WorkflowRunResponse
| Field | Type | Description |
|---|---|---|
run_id | string | Unique identifier. Starts with wr_ for workflow runs. |
status | string | "created", "queued", "running", "completed", "failed", "terminated", "timed_out", or "canceled". |
output | Record<string, unknown> | null | Extracted data from the workflow’s output block. |
downloaded_files | FileInfo[] | undefined | Files downloaded during the run. |
recording_url | string | undefined | URL to the session recording. |
failure_reason | string | undefined | Error description if the run failed. |
app_url | string | undefined | Link to view this run in the Cloud UI. |
step_count | number | undefined | Total AI steps taken across all blocks. |
run_with | string | undefined | Whether the run used "code" or "agent". |
ai_fallback | boolean | undefined | Whether AI fallback was configured. |
script_run | ScriptRunResponse | undefined | Code execution result. Contains ai_fallback_triggered if code was used. |
Examples
Pass parameters to a workflow:createWorkflow
Create a new workflow from a JSON or YAML definition.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
body.json_definition | object | No | Workflow definition as a JSON object. |
body.yaml_definition | string | No | Workflow definition as a YAML string. |
folder_id | string | No | Folder to organize the workflow in. |
body.json_definition or body.yaml_definition.
Returns Workflow
| Field | Type | Description |
|---|---|---|
workflow_id | string | Unique ID for this version. |
workflow_permanent_id | string | Stable ID across all versions. Use this to run workflows. |
version | number | Version number. |
title | string | Workflow title. |
workflow_definition | WorkflowDefinition | The full definition including blocks and parameters. |
status | string | undefined | Workflow status. |
created_at | string | When the workflow was created. |
getWorkflows
List all workflows. Supports filtering and pagination.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | number | No | undefined | Page number for pagination. |
page_size | number | No | undefined | Number of results per page. |
only_saved_tasks | boolean | No | undefined | Only return saved tasks. |
only_workflows | boolean | No | undefined | Only return workflows (not saved tasks). |
only_templates | boolean | No | undefined | Only return templates. |
title | string | No | undefined | Filter by exact title. |
search_key | string | No | undefined | Search by title. |
folder_id | string | No | undefined | Filter by folder. |
status | WorkflowStatus | WorkflowStatus[] | No | undefined | Filter by status. |
Returns Workflow[]
getWorkflow
Get a specific workflow by its permanent ID.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowPermanentId | string | Yes | The workflow’s permanent ID. |
version | number | No | Specific version to retrieve. Defaults to latest. |
template | boolean | No | Whether to fetch a template workflow. |
Returns Workflow
getWorkflowVersions
List all versions of a workflow.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowPermanentId | string | Yes | The workflow’s permanent ID. |
template | boolean | No | Whether to fetch template versions. |
Returns Workflow[]
updateWorkflow
Update an existing workflow’s definition.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | The workflow’s permanent ID (wpid_...). |
json_definition | object | No | Updated workflow definition as JSON. |
yaml_definition | string | No | Updated workflow definition as YAML. |
Returns Workflow
Creates a new version of the workflow.
deleteWorkflow
Delete a workflow.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | The workflow version ID to delete. |

