Run a workflow
Pass values for the workflow’s input parameters. The call returns immediately with arun_id — the workflow runs asynchronously in the background.
Run parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflow_id | string | Yes | The workflow_permanent_id returned when creating the workflow |
parameters | object | No | Values for the workflow’s input parameters. Keys must match the key field in the workflow’s parameter definitions |
title | string | No | Display name for this specific run |
proxy_location | string or object | No | Override the workflow’s default proxy location |
webhook_url | string | No | URL to receive a POST request when the workflow completes |
browser_session_id | string | No | Reuse a persistent browser session (prefix pbs_) |
browser_profile_id | string | No | Reuse a browser profile with saved cookies and storage (prefix bp_) |
Get results
Workflows run asynchronously, so you need to check back for results. You have two options: poll the API, or receive a webhook when the workflow completes.Option 1: Polling
Pollget_run until the status reaches a terminal state.
Option 2: Webhooks
Pass awebhook_url when running the workflow. Skyvern sends a POST request to your URL when the workflow reaches a terminal state.
Response fields
| Field | Type | Description |
|---|---|---|
run_id | string | Unique identifier for this run (format: wr_*) |
run_type | string | Always "workflow_run" for workflow runs |
status | string | Current status: created, queued, running, completed, failed, terminated, timed_out, canceled |
output | object | Output from each block, keyed by {label}_output |
screenshot_urls | array | Final screenshots from the last blocks |
recording_url | string | Video recording of the browser session |
failure_reason | string | null | Error description if the run failed |
downloaded_files | array | Files downloaded during the run |
app_url | string | null | Link to view this run in the Skyvern UI |
created_at | datetime | When the run started |
modified_at | datetime | When the run was last updated |
started_at | datetime | null | When execution started |
finished_at | datetime | null | When execution finished |
Schedule a workflow
Schedules let you run any workflow automatically on a recurring basis. Define a cron expression and timezone, and Skyvern triggers the workflow at each interval.Create a schedule
| Field | Type | Required | Description |
|---|---|---|---|
cron_expression | string | Yes | 5-field cron expression (minimum 5-minute interval) |
timezone | string | Yes | IANA timezone identifier (e.g., America/New_York) |
name | string | No | Human-readable name for the schedule |
description | string | No | Description of what this schedule does |
parameters | object | No | Workflow parameters to pass on each run |
enabled | boolean | No | Whether the schedule is active. Defaults to true |

