Skip to content

Automate web application

Description

The Automate Web Application activity enables automation of tasks within a web browser by simulating human-like interactions. It allows workflows to open a URL, interact with input fields, click buttons, extract text, wait for events, run custom scripts, and more—all within a defined sequence of actions.

This activity is ideal for browser automation, UI-based scraping, or integrating with third-party apps that lack APIs.

Use case:
In a price-monitoring workflow, use this activity to navigate to an eCommerce site, input a product name, extract its price, and take a screenshot. The result can be logged, analyzed, or emailed via a downstream activity.

Input

  • Data – Optional

Output

Output TypeFormatDescription
DataJSONResult of executed browser actions, including screenshots and logs

Configuration Fields

Field NameDescription
Start URLThe initial URL to launch in the browser for automation (e.g., https://example.com/login).
BrowserWeb browser to use. Options: Chrome, Firefox.
Key ColumnMaps a unique identifier from the input data to each execution cycle. Helps track outputs row-wise.
ArgsOptional input arguments from previous activity to dynamically control actions (e.g., user credentials, search terms).
ActionsA sequenced list of browser-based tasks to perform. See details in the next section.

Action Types & Selector Syntax

Each action supports configuration of its selector and parameters.

Selector Basics

Most actions use a selector to identify the target HTML element. Selectors must follow CSS Selector conventions.

To get the selector of an element on a webpage, right-click the element in your browser, choose “Inspect”, then in the Developer Tools panel, right-click the highlighted HTML and choose “Copy → Copy selector”. This gives a unique CSS selector you can use in automation.

Selector TypeExampleDescription
ID#usernameMatches element with ID username.
Class.login-buttonMatches any element with class login-button.
TaginputMatches all <input> elements.
Attributeinput[name='email']Matches input element with name="email".
Hierarchydiv.form-group > input[type=text]Matches child input inside div.form-group.
Multipleul > li:nth-child(2)Matches the second list item.

Supported Actions

Action TypeDescription
ClickSimulates a click on an element (selector required).
Input TextEnters text into an input field (selector and text required).
WaitWaits for a fixed number of milliseconds (duration field required).
ScriptExecutes a custom JavaScript snippet in the browser context.
Select FieldSelects a field (typically for focus or validation).
Extract TextExtracts visible text from a target element (selector required).
FillSimilar to Input Text but used for full form population (selector, value).
Dynamic TextInserts dynamic text based on input data or variables.
Drag And DropDrags one element and drops it on another (sourceSelector, targetSelector).
DropdownOpens a dropdown element (selector) and selects an option.
Find SelectorLocates the presence of an element in the DOM (selector).
FocusMoves browser focus to a specific element.
ScreenshotCaptures a screenshot at the current step of the browser window or page section.
HoverSimulates a mouse hover over an element.
SelectOptionSelects an option in a dropdown by value or visible label (selector, value).
TapSimulates a mobile tap action.
Wait for SelectorWaits until a selector becomes visible or present in the DOM.
Wait for NavigationPauses until a page reload or navigation completes.

Sample Input

Not applicable


Sample Configuration

FieldValue
startUrlhttps://www.google.com/
browserChrome
keyColumnSearchKeyword
args{ "searchTerm": "Infoveave" }
actionsSee example below

Actions Example:

Action TypeSelector ValueValue
Input Textinput[name='q']Infoveave
Wait for selectorinput[name='q']None
Keyboard Pressinput[name='q']Enter
Wait for navigationNoneNone
Clickdiv#search h3:nth-of-type(1)None
Wait for navigationNoneNone
ScreenshotNone5
KeyValue
www.google.com
  • Step 0:
    • Completed On: 2025-07-14T12:58:21.1426421+00:00
    • Argument: Infoveave
    • Step Number: 0
    • Action: Input Text
    • Selector: input[name='q']
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 1:
    • Completed On: 2025-07-14T12:58:21.1642283+00:00
    • Argument: (empty)
    • Step Number: 1
    • Action: Wait for Selector
    • Selector: input[name='q']
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 2:
    • Completed On: 2025-07-14T12:58:21.1840000+00:00
    • Argument: Enter
    • Step Number: 2
    • Action: Keyboard Press
    • Selector: input[name='q']
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 3:
    • Completed On: 2025-07-14T12:58:21.2040000+00:00
    • Argument: (none)
    • Step Number: 3
    • Action: Wait for Navigation
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 4:
    • Completed On: 2025-07-14T12:58:21.2240000+00:00
    • Argument: (none)
    • Step Number: 4
    • Action: Click
    • Selector: div#search h3:nth-of-type(1)
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 5:
    • Completed On: 2025-07-14T12:58:21.2440000+00:00
    • Step Number: 5
    • Action: Wait for Navigation
    • Success: true
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547
  • Step 6:
    • Completed On: 2025-07-14T12:58:21.2640000+00:00
    • Argument: 5
    • Step Number: 6
    • Action: Screenshot
    • Success: true
    • Screenshot Path: /automation-snapshots/screenshot-6.png
    • Ref ID: 887607b4-f1be-4d3c-ad1b-159e4a686547