Build complex browser workflows visually

A visual block-based editor with built-in scheduling, proxy rotation, and a REST API to run everything. Fully open-source.

How It Works

From drag-and-drop to API call

Stack action blocks in a visual canvas, wire in control flow and variables, then trigger runs over HTTP or on a schedule.

01

Design visually

Drag action blocks onto the canvas -- click, type, scroll, navigate, extract, screenshot. Each block is a configurable step in your workflow.

02

Add logic & variables

Use if/else branches, while loops, foreach iteration, and {$variables} to build dynamic flows. Drop in JavaScript blocks for custom logic.

03

Run via API or schedule

POST to /api/tasks/:id/api with variables, or set a cron schedule. Get structured JSON results, screenshots, and video captures back.

Capabilities

Everything ships in one binary

Visual editor, task scheduler, proxy manager, video capture, stealth evasions, and a full REST API -- no plugins required. Self-host on your own infrastructure and keep your data local.

Action Blocks

Click, type, scroll, hover, press, select, navigate, wait, screenshot, and more. Plus control-flow blocks: if/else, while, foreach, repeat.

Three Execution Modes

Agent mode for headless automation, Scrape mode for lightweight extraction, and Headful mode with a live VNC browser view for debugging.

Built-in Scheduling

Set tasks to run every X minutes, daily at a specific time, weekly, monthly, or with raw cron expressions. No external scheduler needed.

Proxy Rotation

Import HTTP and SOCKS5 proxies, set a default, and enable round-robin or random rotation per task. Credentials supported.

Stealth & Anti-Detection

Natural typing, cursor glide, idle movements, dead clicks, overscroll, fatigue simulation, and 13-point browser fingerprint evasion.

Captures & Recording

Automatic screenshots and .webm video recording for every run. Browse captures in the dashboard with full playback.

Variables & Templating

Define runtime variables and interpolate them anywhere with {$varName}. Nested access, reserved tokens like {$now}, and per-block output piping.

JavaScript Blocks

Run arbitrary JS in the browser context for custom extraction, page manipulation, or data transformation between steps.

REST API

Create, list, update, and execute tasks. Fetch execution history, manage schedules, and clear captures -- all via authenticated HTTP endpoints.

Use Cases

Workflows that ship to production

Build once in the visual editor, schedule or trigger via API. Every run produces structured output, captures, and execution logs.

Read the docs

Data Extraction

Navigate to pages, interact with dynamic content, and extract structured data using CSS selectors or JavaScript. Output as JSON or push directly to Baserow.

QA & Regression Testing

Record multi-step user flows visually, schedule them to run on cron, and review video captures when assertions fail.

Lead Enrichment

Chain multiple sites in a single workflow using variables. Collect public signals, merge results, and export structured records.

Price & Change Monitoring

Schedule tasks to run daily or hourly. Compare extracted values across runs and pipe results to external systems via the API.

API

Full REST API for every operation

Authenticate with a Bearer token or x-api-key header. Create tasks, trigger runs with variables, poll execution status, manage schedules, and fetch captures -- all programmatically.

Execute

POST /api/tasks/:id/api with runtime variables to trigger any saved workflow.

Manage

CRUD tasks, list executions, create or delete cron schedules.

Collect

Fetch execution history, structured JSON output, screenshots, and video recordings.

Request
curl -X POST http://localhost:11345/api/tasks/task_17051234/api \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "variables": {
      "query": "nodejs tutorials",
      "maxResults": 10
    }
  }'
Response
{
  "final_url": "https://example.com/search?q=nodejs+tutorials",
  "logs": ["Navigation complete", "Data extracted"],
  "data": [
    { "title": "Node.js Guide", "url": "..." },
    { "title": "Async Patterns", "url": "..." }
  ],
  "screenshot_url": "/captures/run_abc_agent_17051234.png",
  "downloads": []
}

Open source, forever

Self-host on your infrastructure. Audit the code, contribute features, or fork it. Node.js backend, React frontend, Playwright under the hood.