Overview

The Conditions block allows your automation to make decisions and take different paths based on specific conditions. Think of it as adding “if-then” logic to your workflow.

Key Uses

Creating Branching Logic

Make your automation take different paths:

  • If user is logged in → proceed to dashboard
  • If user is not logged in → go to login page

Handling Different Scenarios

Adapt to various situations:

  • If item is in stock → add to cart
  • If item is out of stock → join waitlist

Making Dynamic Decisions

Respond to real-time conditions:

  • If price is below $50 → purchase now
  • If price is above $50 → save for later

Validating States

Check conditions before proceeding:

  • If form is complete → submit
  • If errors exist → show message

Configuration

☐ Description (Optional)

A brief note explaining the purpose of the condition. This is not an AI prompt.

Good Example: "Check if the user is logged in before proceeding."

First Dropdown: Condition Type

This defines what the condition is checking.

CategoryDropdown OptionsDescriptionAdditional Inputs Required
ValuesValueCompare a variable or computed value against another valueValue input box
CodeExecute custom JavaScript code that returns true/falseCode input box + Execution Context selection
Data ExistsCheck if a specific variable exists in memoryInput box for variable name (e.g., variables@variableName)
ElementElement TextCheck the text content of a specific elementCSS Selector or XPath
Element ExistsCheck if an element is present in the DOMCSS Selector or XPath
Element Not ExistsCheck if an element is absent from the DOMCSS Selector or XPath
Element VisibleCheck if an element is visible on the pageCSS Selector or XPath
Element Visible in ScreenCheck if an element is currently visible in the viewportCSS Selector or XPath
Element Hidden in ScreenCheck if an element is outside the current viewportCSS Selector or XPath
Element Attribute ValueCheck the value of a specific attribute on an elementCSS Selector or XPath + Attribute Name

Select the appropriate condition type based on whether you’re checking values (like variables or computations) or elements on the webpage.

Second Dropdown: Condition Operator

Defines how the selected value/element is evaluated.

CategoryDropdown OptionsDescriptionAdditional Inputs Required
BasicEqualsCheck if values are exactly the same (case insensitive)Comparison value
Equals (case sensitive)Check if values are exactly the same, including letter casingComparison value
Not EqualsCheck if values are differentComparison value
NumberGreater thanCheck if value is larger than comparisonNumeric value
Greater than or equalCheck if value is larger than or equal to comparisonNumeric value
Less thanCheck if value is smaller than comparisonNumeric value
Less than or equalCheck if value is smaller than or equal to comparisonNumeric value
TextContainsCheck if text includes the comparison valueText value
Contains (case insensitive)Check if text includes the comparison value, ignoring caseText value
Not containsCheck if text does not include the comparison valueText value
Not contains (case insensitive)Check if text does not include the comparison value, ignoring caseText value
Starts withCheck if text begins with the comparison valueText value
Ends withCheck if text ends with the comparison valueText value
Match with RegExCheck if text matches a regular expression patternRegEx pattern
BooleanIs truthyCheck if value evaluates to trueNone
Is falseyCheck if value evaluates to falseNone

Choose the operator that best matches your comparison needs. Basic operators work for simple equality, Number for numerical comparisons, Text for string operations, and Boolean for true/false checks.

Third Dropdown: Comparison Value

Defines what the first value/element is being compared to.

CategoryDropdown OptionsDescriptionAdditional Inputs Required
ValueValueCompare against a manually entered valueManual value input
ElementElement TextCompare against the text content of a specific elementCSS Selector or XPath
Element Attribute ValueCompare against a specific attribute value of an elementCSS Selector or XPath + Attribute Name

Select whether you want to compare against a static value you provide or against dynamic content from the webpage (like element text or attributes).

Special Cases

Code Execution

A JavaScript code editor where you can write custom conditions. Choose context:

  • Background: API calls, background operations
  • Active Tab: DOM manipulation, browser interactions
// Example: Check if price is within budget
const price = document.querySelector('.price').innerText;
const numericPrice = parseFloat(price.replace('$', ''));
return numericPrice <= 100.00;

// Example: Check login status
return localStorage.getItem('isLoggedIn') === 'true';
Must return boolean (true/false)

Data Exists

Checks if a variable exists in memory.

variables@variableName    // Case-sensitive

Returns true if the variable is found.

Element Attributes

Checks element attribute values using:

  • CSS Selector or XPath
  • Attribute name (e.g., href, class, id, data-*)
    Attribute names are case-sensitive

Usage Examples

Basic Conditions

1. Check if User is Logged In

First DropdownElement Exists#profile-icon

Second DropdownIs truthy

Checks if profile icon exists in the DOM

2. Check Product Stock Status

FirstElement Text#stock-status

SecondEquals

Third“In Stock”

3. Multiple Conditions Example

Condition 1:

Element Text#stock-statusEquals“In Stock”

+ AND
Condition 2:

Element Text.priceLess than50.00

Multiple Conditions

AND Logic

  • Add conditions using “AND”
  • All conditions must be true
  • Useful for complex validations

OR Logic

  • Add conditions using “OR”
  • Any condition can be true
  • Useful for alternative paths

Notes

  • Paths are evaluated in order—first matching path is followed
  • Multiple conditions with AND require all conditions to be true
  • Multiple conditions with OR require any condition to be true
  • Conditions can be nested for complex logic
  • Consider using descriptive names for clarity
  • Test complex conditions thoroughly
  • Verify selectors and attributes before use