Skip to content

Desktop & Browser Automation

Flow-Like can automate browser pages and visible desktop applications from a Flow. The current Automation catalog includes direct browser and computer control, accessibility-based element lookup, template matching, reusable selectors, checkpoints, recovery helpers, and optional AI-assisted observation.

The Flow-Like desktop automation strategy: choose a browser, computer, or vision surface, resolve the target deterministically, interact, and verify the result

SurfaceBest forHow it targets elements
BrowserWeb applications, forms, downloads, and page extractionBrowser selectors and page state
ComputerNative desktop applications and system UIAccessibility elements, windows, coordinates, and direct input
VisionInterfaces without stable selectors or accessibility metadataImage templates, regions, and pixel colors
RPAReliable orchestration around UI interactionsRetries, timeouts, checkpoints, assertions, and recovery
SelectorReusable target definitions with multiple fallback strategiesRanked selector sets
FingerprintMatching a target across UI changesStored and compared element fingerprints
LLMObservation, planning, and recovery when deterministic targeting is insufficientConfigured vision-capable models

Prefer the most deterministic surface available. Browser selectors are usually better than screen coordinates for a web page; accessibility elements are usually better than image matching for a native control. Vision and LLM nodes are useful fallbacks, not substitutes for a stable target.

Use Start Automation Session at the beginning of a desktop automation and Stop Automation Session when it finishes. Keeping the session explicit makes resource ownership and cleanup visible in the Flow.

A typical desktop recipe is:

  1. Start an automation session.
  2. Find or focus the target window.
  3. Locate an accessibility element, template, or coordinate.
  4. Perform the interaction.
  5. Assert the expected result or take a checkpoint.
  6. Stop the session on both success and failure paths.

The Browser catalog covers the complete page lifecycle:

CapabilityCurrent nodes
LifecycleOpen Browser, New Page, Close Page, Close Browser
NavigationGo To URL, Go Back, Go Forward, Reload
InteractionClick Element, Double Click Element, Hover Element, Scroll Into View
InputType Text, Press Key, Select Option
WaitingWait For Selector, Wait Delay, Wait For Network Idle
ExtractionGet Text, Get Attribute, Get HTML, Execute JavaScript
CaptureTake Screenshot, Screenshot Element
FilesUploads, download directory configuration, download triggers, and download waiting
StateCookie, local-storage, and session-storage operations
DiagnosticsConsole logs, network requests, DOM snapshots, and accessibility snapshots
  1. Open Browser and create a New Page.
  2. Navigate with Go To URL.
  3. Use Wait For Selector before interacting.
  4. Enter values with Type Text and submit with Click Element.
  5. Wait for either the result selector or network idle.
  6. Capture the final state with Take Screenshot.
  7. Close the browser in the cleanup path.

Use selector-based browser nodes for browser content. Coordinate-based desktop input is more fragile when zoom, layout, or window position changes.

Computer nodes interact with the active desktop session.

Get Accessibility Tree inspects the accessible controls exposed by the current interface. Find Accessibility Element locates a target from that structure.

Accessibility targeting is the preferred starting point for native controls because it can remain stable across window movement and display scaling. Some custom-rendered applications expose little or no useful accessibility metadata; use Vision or a coordinate fallback for those interfaces.

The current Window nodes can:

  • list windows and inspect the active window;
  • find a window by title;
  • focus a window;
  • capture a window;
  • launch an application.

The Display nodes list displays and identify the primary display. Resolve the intended display or window before using absolute coordinates.

The Computer catalog includes:

  • Mouse Move, Natural Mouse Move, Mouse Click, Mouse Double Click, Mouse Drag, and Scroll;
  • Type Text and Key Press for keyboard input;
  • text and image clipboard getters and setters;
  • Wait for deliberate pauses between interactions.

Use Natural Mouse Move when the path itself matters. Use Mouse Click or Click At Position only after resolving the correct coordinates for the current session.

The current catalog separates general computer capture from Vision helpers:

TaskNode
Capture the desktopScreenshot
Capture a rectangular regionScreenshot Region
Save a capture to a fileScreenshot To File
Locate one templateFind Template
Locate every matching templateFind All Templates
Find and click a templateClick Template
Wait for appearance or disappearanceWait For Template / Wait Template Disappear
Inspect the displayGet Screen Size / Get Pixel Color
  1. Capture a current region rather than searching an unnecessarily large display.
  2. Use Wait For Template with a deliberate timeout.
  3. Locate the template and inspect its match before clicking when the action is consequential.
  4. Click with Click Template or use the returned position with a mouse node.
  5. Assert that the expected follow-up template or color exists.
  6. On failure, take a snapshot and enter a recovery path.

Template images should be cropped around a distinctive, stable control. Recreate them when the target application’s theme, display scaling, or visual design changes.

RPA helpers make failures explicit instead of hiding them inside a long chain of UI actions.

ConcernUseful nodes
Bounded executionWith Timeout, Delay, Calculate Elapsed
RetryRetry Loop, Wait For Template, Wait For Color
AssertionsAssert Template Exists, Assert Color At Position
CheckpointsSave Checkpoint, Parse Checkpoint, Take Snapshot
Error pathsTry Catch, Error Recovery, Diagnose Failure
Audit trailLog Action

For an important interaction:

  1. Bound the operation with a timeout.
  2. Wait for a deterministic readiness signal.
  3. Perform the action.
  4. Assert the resulting state.
  5. Retry only failures that are safe to repeat.
  6. Capture diagnostic evidence before recovery or exit.

Avoid retrying a destructive or externally visible action unless the target operation is idempotent or you can first verify whether it already succeeded.

Selectors let a Flow keep several ways to identify the same target. Build a selector, combine alternatives into a selector set, validate them, rank the candidates, and retrieve the best current match.

Fingerprints store descriptive target data that can be compared or updated later. They are useful when a target changes slightly between versions but retains enough stable characteristics to identify it.

Use these layers to make fallbacks deliberate:

  1. stable browser or accessibility selector;
  2. alternate selector or stored fingerprint;
  3. template match;
  4. coordinate fallback;
  5. optional LLM-assisted resolution.

LLM automation nodes cover three groups:

  • Vision — observe or classify a screen, find or describe an element, extract structured information, resolve candidates, and rank matches;
  • Planning — plan actions or suggest the next step;
  • Healing — diagnose a failure and propose a repaired selector or template.

Use a configured model only when deterministic methods do not provide enough signal. Treat its output as a proposal: validate the selected target and add a bounded fallback before performing consequential actions.

Permission prompts and capabilities vary by operating system and execution environment. Depending on the nodes used, the runner may need access to:

  • screen or window capture;
  • accessibility APIs;
  • mouse and keyboard control;
  • launching or focusing applications;
  • files selected for upload or download.

Grant only the permissions required for the automation. Run a small capture-and-input test on the target machine before building a longer Flow, and test again after operating-system, application, theme, or display changes.

  • Start with a stable target, not a fixed delay.
  • Resolve the intended window, page, and display before interacting.
  • Prefer selectors or accessibility metadata over coordinates.
  • Keep retries bounded and safe to repeat.
  • Assert the post-condition after important actions.
  • Capture diagnostics without exposing secrets.
  • Provide cleanup paths that close pages, browsers, and automation sessions.
  • Test at the same display scaling and permissions used in production.