Workflows (Beta)

Beta Feature: Workflows are currently in beta. API endpoints and features may change.

A Workflow is a reusable automation sequence generated once and executed multiple times with different inputs. Unlike tasks that require AI processing for every execution, workflows are deterministic YAML-based scripts offering faster, more cost-effective automation.

Workflows vs Tasks

FeatureWorkflowTask
ExecutionDeterministic, rule-basedAI-driven, adaptive
CostLow (execution only)Higher (AI inference per run)
SpeedFast (~seconds)Slower (AI decision making)
FlexibilityFixed steps, parameterizedHandles dynamic scenarios
Best forRepetitive, structured automationComplex, unpredictable tasks

How It Works

1. Generation

Describe a task in natural language. The system records browser interactions and converts them into a YAML workflow with automatically detected input variables.

Cost: $0.01 per step

2. Execution

Run the workflow with different inputs. No AI inference needed after generation.

Cost: LLM tokens (for data extraction) + $0.001 initialization

3. Variables

Workflows support parameterized inputs:

1input_schema:
2 - name: email
3 type: string
4 required: true
5 format: email
6 - name: quantity
7 type: number
8 default: 1

Workflow Lifecycle

1. Create → 2. Generate → 3. Execute → 4. Monitor
↓ ↓ ↓ ↓
Empty Recording Running Results
Shell Actions YAML & Logs

States

Generation Status:

  • pending - Created, not started
  • generating - Recording interactions
  • completed - Ready to execute
  • failed - Generation error

Execution Status:

  • pending - Queued
  • running - Executing
  • completed - Finished successfully
  • failed - Error occurred
  • cancelled - Manually stopped

Use Cases

Form Automation - Registration forms, surveys, data entry with validated inputs

Data Extraction - Product listings, prices, metrics with structured output

Scheduled Jobs - Run workflows on schedules with cron or orchestrators

Multi-user Operations - Same workflow for multiple users with different credentials

Testing & QA - Automated UI testing with reproducible scenarios

Generated YAML Structure

1name: Contact Form Submission
2version: "1.0"
3
4input_schema:
5 - name: name
6 type: string
7 required: true
8 - name: email
9 type: string
10 format: email
11 required: true
12
13steps:
14 - id: step_1
15 type: navigate
16 target: https://example.com/contact
17
18 - id: step_2
19 type: fill
20 target: input[name="name"]
21 value: "{{name}}"
22
23 - id: step_3
24 type: fill
25 target: input[name="email"]
26 value: "{{email}}"
27
28 - id: step_4
29 type: click
30 target: button[type="submit"]
31
32 - id: step_5
33 type: extract_page_content
34 target: .success-message
35
36output:
37 confirmation: "{{extracted_data}}"

Next Steps