Browser automation agents for vertical AI companies

Build and run browser automations using Simplex's agents that handle branching logic and edge cases across 100+ step workflows.

A team from world-class institutions

MIT Logo
Y Combinator Logo
Waymo Logo
Tesla Logo
Use Cases

Engineered from the ground up to work with legacy systems.

Reliably automate every legacy portal your customers use.

Prior Authorization Portals

Fill out complex, branching-logic prior authorization forms on medical provider portals like Availity, Aetna, or Cigna.

Billing Portals

Download lists of invoices and fill out multi-step forms in Coupa, NetSuite, and more.

ERPs

Scrape data tables across legacy ERP systems without API access.

Government Portals

Navigate complex government registry systems to file reports, scrape license information, or retrieve compliance documents.

TMS/WMS Software

Sync shipment data and inventory levels between modern logistics platforms and legacy WMS.

Home Services Portals

Automate service scheduling, dispatching, and customer management across home services platforms.

... and more
Features
Branching logicCode executionDeterministic scrapingCAPTCHA solvingStealth browsersStructured outputsVariable schemasWorkflow IDE
Branching logicCode executionDeterministic scrapingCAPTCHA solvingStealth browsersStructured outputsVariable schemasWorkflow IDE

Features that handle edge cases for robust workflows.

Code execution with branching logic

Simplex's agent writes deterministic code that represents your workflow.

With code as workflows, you can:

  • Handle complex workflows with conditional paths based on page state and variable content.
  • Put occasional popups in try/catch blocks for robust checking.
  • Run for/while loops to repeat long-running, multi-step actions like scraping from lists.
Variables
typerequired
pharmacystring
flow.py
type="pharmacy"
1v = load("variables.json")
2
3await click("#login")
4
5if v["type"] == "pharmacy":
6 await select("Specialty Pharmacy")
7
8if v["type"] == "prescriber":
9 await select("Medical Clinic")
10
11await click("Next")
running

Structured Outputs

Define type-safe schemas to extract data in a predictable format and track granular success or failure states.

schema.json
{
"auth_number": "string",
"status": enum[
"approved" | "pending" | "denied"
],
"valid_days": number,
"downloaded": boolean
}
Extracted
auth_number
PA-2024-88471string
status
approvedenum
valid_days
90number
downloaded
trueboolean

Flexible variable definitions

Define input variables with optional fields and test workflow branches with sample data before deployment.

Test Data
patient_inforequired
{...}object
procedure_coderequired
99213string
submit_authoptional
default: Falseboolean

Build browser automations that accomplish real work for your customers.