Skip to main content

Configuration

Control task behavior with global and per-action options.

Global Config

Pass a config object in your request to set defaults for all actions:

{
"actions": [...],
"config": {
"actionTimeout": 5000,
"continueOnError": true
}
}
OptionTypeDefaultDescription
actionTimeoutnumber10000Default timeout in ms for actions that wait for elements
continueOnErrorbooleantrueIf true, continue executing remaining actions when one fails

Task Timeout

The top-level timeout controls how long the server waits for the entire task to complete:

{
"actions": [...],
"timeout": 60000
}

This is clamped to your plan's maximum:

PlanMax Timeout
Free1 minute
Basic2 minutes
Standard5 minutes
Pro15 minutes

If not specified, defaults to 30000 ms (30 seconds).

Per-Action Options

Override global settings for individual actions using the options object:

{
"click": "#slow-loading-btn",
"options": {
"timeout": 15000,
"continueOnError": true
}
}

Common Options

OptionTypeDefaultDescription
timeoutnumberactionTimeoutOverride timeout for this action
continueOnErrorbooleanOverride error handling for this action
waitForbooleantrueWait for element to appear
showClickbooleantrueShow red pulsing ring when interacting
iframestring | string[]Target element inside iframe(s)

Targeting a Specific Worker

By default, the server auto-selects an available worker. To target a specific one:

{
"actions": [...],
"workerId": "-Om8GAObZSvE8trPMPZF"
}

Iframe Support

Target elements inside iframes using the iframe option:

{
"click": ".inner-button",
"options": { "iframe": "#content-frame" }
}

For nested iframes, pass an array of selectors:

{
"click": ".deep-button",
"options": { "iframe": ["#outer-frame", "#inner-frame"] }
}

Example: Mixed Error Handling

{
"actions": [
{ "openNewTab": "https://example.com" },
{ "click": ".optional-popup-close", "options": { "continueOnError": true, "timeout": 2000 } },
{ "fill": ["input[name=search]", "laptop"] },
{ "click": "#search-btn" },
{ "waitForElement": ".results", "options": { "timeout": 15000 } },
{ "screenshot": "viewport" }
],
"config": {
"continueOnError": false,
"actionTimeout": 10000
},
"timeout": 60000
}

In this example, the popup close is optional (continueOnError: true on that action), but all other actions will stop on failure (continueOnError: false globally).