KB section 06. Covers AdsPower’s RPA Plus — the visual, node-based process builder that replaces the old linear RPA. This is the reference for building, sharing, and running automated browser workflows across the profile farm.
Sources: RPA Plus User Guide (https://rpa-plus-doc-en.adspower.com/) — all Get Started, User Guide, RPA Features, and Use Cases pages. Verified 2026-08-15.
1. RPA vs RPA Plus
RPA Plus keeps the execution ability of the old RPA but extends it into a full automation lifecycle:
If/else, For Loop Elements/Times/Data, While Loop, Exit Loop
Variables
None
System, global (process), and in-process variables — 8 types (String, Number, Boolean, Array, Object, Text, File, Folder)
Data handling
None
Get Data (URL, element, clipboard, email, Excel, txt), Data Processing (regex extract, JSON, field extract, random extract)
Error handling
Per-process skip/stop
Per-block Interrupt / Skip / Execute other actions
Sharing
Sharing code
Sharing code + Marketplace + import/export JSON
Sub-processes
None
Apply Created Process (call another process, pass/export variables)
Headless
No
Headless mode toggle per process
Migration
—
Old RPA processes can be migrated to RPA Plus (import/export converts old JSON)
Limits
—
Up to 3,000 processes total, 500 per group
Bottom line: RPA Plus = old RPA’s bulk execution (up to 100 threads, 5,000 profiles per task) + a real visual programming environment with variables, loops, conditionals, data processing, and third-party tool integrations.
2. Core Concepts
Concept
Detail
Process
A named, node-based automation workflow. Default name RPA_{timestamp}. Created via “Create process”, edited on a canvas, saved with Ctrl+S.
Task
A process bound to one or more execution profiles. Created from the Process page (“Create task” icon) or from the Task page.
AdsPower’s template gallery. Save a template → redirected to Process Details; can save + create a task in one step.
Sharing code
A code that exports/imports a process template (e.g. Dsd9rkHdri9Ox). Enter it under Processes → Get process to import.
Process groups
Organize processes into groups (create/delete/filter/move). Max 500 processes per group.
Process Details
Two parts: Process Settings (edit global variable default values, global settings) and Execution Log (task status for this process).
Process page actions (16 items)
Create process · Filter by group · Search (name + notes) · Move between groups · Get process (sharing code) · Share (generate code) · Delete · Group management · “Created by me” (non-marketplace) · “Acquired” (marketplace imports) · Process details · Edit · Create task · Duplicate · Pin/Unpin · Export.
3. Process Editor (Create & Edit Process)
The editing page has five sections (1, 4, 5 collapsible):
Section 1 — Left Side Bar
Edit process name, notes, group.
Click ”+” or drag blocks onto the canvas.
Section 2 — Upper Left Function Zone
Feature
Detail
Search
Find an operation; the block is highlighted (orange).
Undo/Redo
Up to 100 steps.
Auto-align
Dagre algorithm; 3 default Dagre layouts + top-to-bottom sequential; tap to cycle.
Group
Put several actions in one block. Long-press the hand icon to move operations in. One-click grouping auto-groups 3+ consecutive single-entry/single-exit operations (excludes start, if, loop, and error-handling blocks).
Import/Export
Converts old RPA JSON → RPA Plus; import by file or JSON.
Settings
See §9 (error handling, headless, timeout, etc.).
Save
Save button (returns to Process page) or Ctrl+S/Cmd+S (stays in editor).
Section 3 — Canvas
Operation blocks (6 node shapes based on in/out ports), connection lines, minimap (lower-right).
Block features: Debug/Stop debug (start from this block; note: variables from preceding nodes are NOT accessible when debugging mid-flow — except global variables), Delete (or del key), Copy (Ctrl/Cmd+C+V), Error handling, Drag into group, Enable/Disable (grey = skipped), Ungroup.
Block colors: Blue = selected/active (edit panel beside it, one at a time); Orange = searched; Red = needs input or is filled incorrectly.
Double-click a connection line to delete it. Ctrl/Cmd+click to multi-select.
Section 4 — Debug Log
Debug from a specific step or from the start; choose a profile to debug from the Profiles list (remembered as default for next debug). Logs shown under the process or via the log icon.
Limits
Up to 3,000 processes stored; up to 500 processes per group.
4. Operation Categories (RPA Features)
4.1 Web Actions (16 actions)
New Tab · Close Tab · Close Other Tabs · Switch Tabs (by title/URL conditions) · Access Website (URL) · Refresh Webpage · Go Back · Screenshot (name, folder, full-page vs visible, .png/.jpeg) · Hover (selector / stored element object / element order) · Drop-down (selector + selected value, e.g. #pet-select → parrot) · Focus · Click (selector or stored object; left/right/middle click; one/double click; optional mouse X/Y offset + release delay) · Input (single-line; multi-line = per-profile values, in-order/at-random/random-number; up to 50 lines × 500 chars; clear-content option; input interval for human-like typing) · Scroll (position top/middle/bottom or by pixel; smooth/auto; speed config) · Input File (local file / random file from folder / from URL; upload timeout) · Execute JavaScript (inject variables, save return value to a variable).
4.2 Keyboard Actions
Keys: Backspace, Tab, Enter, Space, Esc, Delete, Up/Down Arrow, etc. (equivalent to pressing the key).
Fixed value (e.g. 3s) or random interval (e.g. 2000–3000 ms) between actions.
Element appears
Selector + element order + visible check + timeout waiting (proceed after timeout) + Save to (true/false variable).
Request to finish
Wait for a specific network request (by response URL) to finish; timeout waiting. See Listener Request use case.
4.4 Get Data
Operation
Detail
URL
Extract from current URL: Full URL / Domain / Parameter (e.g. k → nike), save to variable.
Clipboard Content
Read clipboard text into a variable.
Element
Selector or stored element object; element order (fixed/random); Extraction type: Text, Object, iFrame, Html, Attribute (e.g. data-src), Child Element. Save to variable.
Focused Element
Store the currently focused element as a variable.
Save to Txt
Write variables to a .txt file (found under RPA → Task Log → Log Details → View Log).
Save to Excel
Write variables to an Excel file (variables as column headers).
Download File
Download from URL to a local folder.
Import Data from Excel
Read Excel rows into variables. First column header must be serial_number (maps rows to profiles by serial no.). Other columns become variables.
Import Data from txt
Read a .txt file into a variable as an array (one element per line).
Email
Fetch the most recent email matching rules (IMAP only, POP3 not supported). Params: email, password/app password, IMAP server (e.g. imap.gmail.com), port, and optional OAuth2 (Client Id / Client Secret / Refresh Token — Outlook & Hotmail).
4.5 Data Processing
Operation
Detail
Manage Variables
Add Variable (String, Number, Boolean, Array, Object, Text, File, Folder) and Export Variable (for sub-processes; ⚠️ when the flow reaches this node the current process terminates).
Extract from txt
Regex extraction from saved text (e.g. extract 6-digit number from this is new case: 897602). “Extract only the first match” → string; unchecked → array of strings.
Convert to JSON
Parse saved text into JSON, save to variable.
Extract Field
From array/object variables: extract by key (e.g. title) or array index (e.g. 0). Text must be converted to JSON first.
Random Extraction
Like field extraction but random — no key specified.
4.6 Profile Information
Update Profile Remark: Add (append) or Replace the profile remark when the task finishes.
Update Profile Tag: Add or Replace profile tags when the task finishes.
4.7 Process Management (7 operations)
Operation
Detail
Group
Put several blocks into one group.
New Browser
Launch another profile mid-process (Profile A opens Profile B, acts, returns). Params: Profile No. (or variable), On Error (Skip/Stop), As task completes (Keep browser / Close browser).
Statement if
Compare a variable against a result: exists/not-exists, less-than/≤/=/≠/≥/greater-than, contains/not-contains, one-of/not-one-of. True → block A, false → block B (or continue).
For Loop Elements
Loop over all elements matching a selector (e.g. .img.s-image); extraction type; save loop element object + index (0-based) to variables.
For Loop Times
Repeat N times; save loop index.
For Loop Data
Iterate an array/object variable (e.g. Excel data); save each item + index.
While Loop
Loop until the if-condition is false. ⚠️ Must have an exit condition or it loops forever.
Exit Loop
Break out of the loop (required to avoid infinite loops).
Apply Created Process
Call another process as a sub-process. Area 1: pass parent variables in (defaults to sub-process global variables). Area 2: capture exported variables (see Export Variable). Only the sub-process’s main content is reused; error handling/task-completion follow the main process.
Quit Browser
Close the profile after the process finishes.
4.8 Third-Party Tools
Tool
Detail
2Captcha
Solve normal CAPTCHA, reCAPTCHA V2/V3, hCaptcha, Cloudflare Turnstile. Params: API key, captcha type, Save to (boolean pass/fail). Note: hCaptcha/Turnstile may fail on version updates.
Google Sheet
Read/write/clear spreadsheet data. Params: Spreadsheet ID, worksheet name, scope (A1 notation Sheet1!A1:B2 or R1C1). Public share = read-only; for writes share with AdsPower service account adspower-572@valued-lyceum-403803.iam.gserviceaccount.com or upload your own Google Cloud service-account JSON key (enable Sheets API → create credentials → service account → JSON key).
Open AI
GPT-4o mini / GPT-4o (text) and DALL-E-3 (image). Params: API key, output type, model, prompt, image size (default 1024×1024), output format (URL recommended for Input File), image quality, Save to (text, max ~3000 tokens).
5. Variables
Three categories (per Term Explanation):
Category
Detail
System variables
Profile/task info: task ID, profile notes, etc. Designated separately as “system variables”.
Global variables
Declared at the start of the process; usable throughout; editable on the Process page (Process Details → Process Settings) without opening the editor. 8 types: String, Number, Boolean, Array, Object, Text, File, Folder. Name/type locked on the settings page; default value + notes editable.
In-process variables
Created by operations like Get Data-URL, Get Data-Element, For Loop Elements, etc.
Naming pitfall: do not name a variable password — it collides with a system variable (documented in the Import Data from Excel use case).
Sub-process parameter passing (see use case “Passing Parameters via Another Process”):
Sub-process: Start Process node declares a parameter (e.g. main_url); use Export Variable to expose results.
Main process: Manage Variables → Add Variable (e.g. url), then Apply Created Process → the sub-process’s global variables are listed automatically → pass url in. The call returns an object of exported variables → Extract Field to pull values out.
6. Control Flow
Statement if: variable vs result comparisons (exists, numeric compare, contains, one-of). if → block A, else → block B.
For Loop Elements: iterate DOM elements by selector (index starts at 0).
For Loop Times: repeat N times.
For Loop Data: iterate array/object data (e.g. Excel rows).
While Loop: repeat while condition true — same condition options as Statement if. ⚠️ Ensure a false path exists.
Exit Loop: break out; required to prevent infinite loops.
Path expressions over XML/HTML; can target attributes, text, position
//p[@class='two-class']
Text
Directly fill in the element’s text content
three
Locating elements (Get Started): open DevTools (Ctrl+Shift+I) → Ctrl+F search box → enter selector → check “1 of 1” count → paste into the RPA Selector field. Web code changes over time — prefer robust selectors and re-verify.
8. Process Sharing & Marketplace
Share: Process page → Share icon → generates a sharing code (old RPA allowed configuring usage count + expiry; RPA Plus keeps code-based sharing).
Get process: enter someone’s sharing code to import their template.
Marketplace: browse/save templates; saving redirects to Process Details; can save + create a task simultaneously.
Import/Export: export a process (JSON/file) and import it; old-RPA JSON is auto-converted to RPA Plus format.
Duplicate: copy a process in your list.
9. Process Settings (per-process)
Setting
Options
Error
Interrupt (stop on error) / Skip (continue) / Execute other actions (new — run a fallback action on error). Per-block override available.
After task completes
Clear tab / Save tab (reopen next time) / Quit Browser (close profile) / Keep browser open.
Headless mode
Run the process with no GUI (required for server/VPS automation).
Password filling
Whether saved login credentials are auto-filled.
Save password popup
Whether to show the save-password prompt.
Clear cache when quit browser
Auto-clear cache on profile close.
Timeout
Max process runtime; auto-ends the process if exceeded. 0 = disabled.
Delayed Execution
Delay before the process starts (task shows as running during the delay).
Create Task: select execution profiles by clicking, by group (all profiles in the group), or by filter. Up to 5,000 profiles per task.
Task threads: up to 100 concurrent process executions (set in task management).
Cross-device: task data is viewable/manageable across devices (same account), but execution and scheduled-task enabling only work on the current device.
Edit Task: add/remove profiles (≥1 kept), view running status + logs, Stop task stops all running profiles under the task.
Task types: Common task (run immediately) / Scheduled task (periodic or single execution; can be turned on/off, edited, deleted).
Task Log: list by task with running status; Execution Details shows overall data + log details; red exclamation mark = error in that step. Saved txt/Excel/screenshot outputs are found under Log Details → View Log.
11. Headless Mode in RPA
Per-process Headless mode toggle: the process runs without a GUI.
Complements the client-level headless mode (AdsPower Global.exe --headless=true --api-key=XXXX --api-port=50325 — see 01-local-api.md §4): on this Windows VPS, AdsPower runs headless-capable with the Local API on :50325 (app) / :50725 (CLI runtime).
Use headless RPA for scheduled bulk runs that shouldn’t pop windows on the VPS desktop.
12. Use Cases (official templates)
Use case
Share code
Pattern
Import Data from Excel (form filling)
Dsd9rkHdri9Ox
Excel headers = variables (avoid password name); change excelPath default in Process Settings; run.
Import Data from Txt + Random Extraction
d6KUIRTgC5gH8
txt → array variable → Random Extraction → Input variable (e.g. random Amazon search term per run).
For Loop Data (visit URLs from Excel)
VvhVKLG9hdCRN
Excel → array of objects → For Loop Data → Extract Field (key URL) → Access Website.
Get Data-Element (iFrame type) → stored object → Child Element → Click.
Listener Request (capture API responses)
Swj60koqJ0moV
Start listener → interact to trigger request → Wait request to finish → Execute JS to read data → stop listener (else data is overwritten).
Email OAuth2 credentials (Outlook/Hotmail)
gP6QDt81B6YNL
Azure app registration → Client Id/Secret → run flow to get refresh token (redirect http://localhost:<port>/api/rpav2/callback).
Passing Parameters via Another Process
Main Udn3FRvmRuocg, sub tG5qqqQ9Pzyeb
Sub-process Start node param → Export Variable; main: Add Variable → Apply Created Process → Extract Field from returned object.
First RPA process (tab → AdsPower site → scroll → screenshot)
zjS3XE6K4P7gq
Basic smoke-test process.
13. Reddit-Workflow Notes (this setup)
RPA Plus is GUI-built and GUI-triggered — there is still no public API to create/trigger processes programmatically. Hermes drives in-page work via the MCP server; RPA Plus is the human-configured bulk runner (up to 100 threads × 5,000 profiles).
For Reddit bulk engagement: build a process (navigate → wait element → click upvote → input comment → screenshot → quit browser), set headless mode + timeout, then create a scheduled task over the Reddit profile group.
Use Import Data from Excel with a serial_number column to map per-profile inputs (e.g. per-account comment text or target post URLs).
Use random intervals in Waits and Input interval for human-like typing; combine with 2Captcha for captcha handling.
Process variables let Hermes pre-fill defaults (Process Details → Process Settings) without editing the canvas — a useful handoff point between AI-authored process definitions and human-triggered runs.