Skip to main content
Optexity uses a declarative model for browser automation. Define what actions to perform, and Optexity handles the how using AI-assisted element location.

Overview

Automation
├── url                  # Starting point
├── browser_channel      # "chromium" or "chrome"
├── expected_downloads   # Number of files to download
├── parameters           # Input, secure, and generated variables
└── nodes[]              # Sequence of actions
    ├── action_node
    ├── for_loop_node
    └── if_else_node

Complete Example

{
  "url": "https://example.com/login",
  "browser_channel": "chromium",
  "expected_downloads": 0,
  "parameters": {
    "input_parameters": {
      "email": ["user@example.com"]
    },
    "secure_parameters": {},
    "generated_parameters": {}
  },
  "nodes": [
    {
      "type": "action_node",
      "interaction_action": {
        "input_text": {
          "command": "get_by_label(\"Email\")",
          "input_text": "{email[0]}"
        }
      }
    }
  ]
}

Properties

PropertyTypeDescription
urlstrStarting URL—use the URL closest to your target to reduce navigation steps
browser_channel"chromium" | "chrome"Browser to use (default: "chromium")
expected_downloadsintNumber of expected downloads (automation waits for completion)
parametersParametersInput, secure, and generated variables
nodeslist[action_node | for_loop_node | if_else_node]Ordered list of actions

Parameters

Three types of parameters control data flow:
TypePurposeExample
input_parametersValues provided before executionUsername, search queries
secure_parametersSensitive data from secure storagePasswords, API keys
generated_parametersValues extracted during executionOrder IDs, confirmation numbers
{
  "parameters": {
    "input_parameters": {
      "username": ["admin@example.com"]
    },
    "secure_parameters": {
      "password": [{
        "onepassword": {
          "vault_name": "vault",
          "item_name": "login",
          "field_name": "password"
        }
      }]
    },
    "generated_parameters": {
      "order_ids": []
    }
  }
}
See Parameters for detailed usage.

Node Types

NodePurposeDocumentation
action_nodeSingle atomic actionAction Node
for_loop_nodeIterate over valuesFor Loop Node
if_else_nodeConditional executionIf Else Node

Browser Channel

ChannelUse When
"chromium"Default, works for most sites
"chrome"Site requires Chrome specifically, or automation is unreliable with Chromium
{
  "browser_channel": "chrome"
}

Expected Downloads

Set this to wait for file downloads to complete:
{
  "expected_downloads": 3
}
The automation waits until all expected files are downloaded before completing.