AdsPower RPA Plus — Comprehensive Reference

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:

DimensionOld RPARPA Plus
Process modelLinear list of operationsNode-based canvas (blocks + connection lines, Dagre auto-layout)
Control flowNone (fixed sequence)If/else, For Loop Elements/Times/Data, While Loop, Exit Loop
VariablesNoneSystem, global (process), and in-process variables — 8 types (String, Number, Boolean, Array, Object, Text, File, Folder)
Data handlingNoneGet Data (URL, element, clipboard, email, Excel, txt), Data Processing (regex extract, JSON, field extract, random extract)
Error handlingPer-process skip/stopPer-block Interrupt / Skip / Execute other actions
SharingSharing codeSharing code + Marketplace + import/export JSON
Sub-processesNoneApply Created Process (call another process, pass/export variables)
HeadlessNoHeadless mode toggle per process
MigrationOld RPA processes can be migrated to RPA Plus (import/export converts old JSON)
LimitsUp 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

ConceptDetail
ProcessA named, node-based automation workflow. Default name RPA_{timestamp}. Created via “Create process”, edited on a canvas, saved with Ctrl+S.
TaskA process bound to one or more execution profiles. Created from the Process page (“Create task” icon) or from the Task page.
Task LogPer-task execution records: running status, per-profile results, log details, and saved output files (txt/Excel/screenshots).
MarketplaceAdsPower’s template gallery. Save a template → redirected to Process Details; can save + create a task in one step.
Sharing codeA code that exports/imports a process template (e.g. Dsd9rkHdri9Ox). Enter it under Processes → Get process to import.
Process groupsOrganize processes into groups (create/delete/filter/move). Max 500 processes per group.
Process DetailsTwo 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

FeatureDetail
SearchFind an operation; the block is highlighted (orange).
Undo/RedoUp to 100 steps.
Auto-alignDagre algorithm; 3 default Dagre layouts + top-to-bottom sequential; tap to cycle.
GroupPut 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/ExportConverts old RPA JSON → RPA Plus; import by file or JSON.
SettingsSee §9 (error handling, headless, timeout, etc.).
SaveSave 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-selectparrot) · 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).
  • Keys combination: press multiple keys simultaneously (e.g. Ctrl+A).

4.3 Waits

Wait typeDetail
TimeFixed value (e.g. 3s) or random interval (e.g. 2000–3000 ms) between actions.
Element appearsSelector + element order + visible check + timeout waiting (proceed after timeout) + Save to (true/false variable).
Request to finishWait for a specific network request (by response URL) to finish; timeout waiting. See Listener Request use case.

4.4 Get Data

OperationDetail
URLExtract from current URL: Full URL / Domain / Parameter (e.g. knike), save to variable.
Clipboard ContentRead clipboard text into a variable.
ElementSelector 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 ElementStore the currently focused element as a variable.
Save to TxtWrite variables to a .txt file (found under RPA → Task Log → Log Details → View Log).
Save to ExcelWrite variables to an Excel file (variables as column headers).
Download FileDownload from URL to a local folder.
Import Data from ExcelRead 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 txtRead a .txt file into a variable as an array (one element per line).
EmailFetch 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

OperationDetail
Manage VariablesAdd 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 txtRegex 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 JSONParse saved text into JSON, save to variable.
Extract FieldFrom array/object variables: extract by key (e.g. title) or array index (e.g. 0). Text must be converted to JSON first.
Random ExtractionLike 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)

OperationDetail
GroupPut several blocks into one group.
New BrowserLaunch 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 ifCompare 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 ElementsLoop over all elements matching a selector (e.g. .img.s-image); extraction type; save loop element object + index (0-based) to variables.
For Loop TimesRepeat N times; save loop index.
For Loop DataIterate an array/object variable (e.g. Excel data); save each item + index.
While LoopLoop until the if-condition is false. ⚠️ Must have an exit condition or it loops forever.
Exit LoopBreak out of the loop (required to avoid infinite loops).
Apply Created ProcessCall 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 BrowserClose the profile after the process finishes.

4.8 Third-Party Tools

ToolDetail
2CaptchaSolve 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 SheetRead/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 AIGPT-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):

CategoryDetail
System variablesProfile/task info: task ID, profile notes, etc. Designated separately as “system variables”.
Global variablesDeclared 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 variablesCreated 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”):

  1. Sub-process: Start Process node declares a parameter (e.g. main_url); use Export Variable to expose results.
  2. 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.

7. Selectors

Three selector types (Term Explanation):

TypeDescriptionExample
CSS selectorStandard CSS syntax to select elements.one-class, #email_input, input[type="password"], .button_search
XPathPath expressions over XML/HTML; can target attributes, text, position//p[@class='two-class']
TextDirectly fill in the element’s text contentthree

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)

SettingOptions
ErrorInterrupt (stop on error) / Skip (continue) / Execute other actions (new — run a fallback action on error). Per-block override available.
After task completesClear tab / Save tab (reopen next time) / Quit Browser (close profile) / Keep browser open.
Headless modeRun the process with no GUI (required for server/VPS automation).
Password fillingWhether saved login credentials are auto-filled.
Save password popupWhether to show the save-password prompt.
Clear cache when quit browserAuto-clear cache on profile close.
TimeoutMax process runtime; auto-ends the process if exceeded. 0 = disabled.
Delayed ExecutionDelay before the process starts (task shows as running during the delay).
Launch ArgsChromium command-line switches (https://peter.sh/experiments/chromium-command-line-switches/).

10. Tasks & Scheduling

  • 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 caseShare codePattern
Import Data from Excel (form filling)Dsd9rkHdri9OxExcel headers = variables (avoid password name); change excelPath default in Process Settings; run.
Import Data from Txt + Random Extractiond6KUIRTgC5gH8txt → array variable → Random Extraction → Input variable (e.g. random Amazon search term per run).
For Loop Data (visit URLs from Excel)VvhVKLG9hdCRNExcel → array of objects → For Loop Data → Extract Field (key URL) → Access Website.
For Loop Elements (download product images)(in docs)Selector .img.s-image → extract src attribute → Download File per iteration.
For Loop Times (browse N products)(in docs)Repeat N times: click result → scroll → back.
Click element inside iframefKjRxgKtjpJiMGet Data-Element (iFrame type) → stored object → Child Element → Click.
Listener Request (capture API responses)Swj60koqJ0moVStart 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)gP6QDt81B6YNLAzure app registration → Client Id/Secret → run flow to get refresh token (redirect http://localhost:<port>/api/rpav2/callback).
Passing Parameters via Another ProcessMain Udn3FRvmRuocg, sub tG5qqqQ9PzyebSub-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)zjS3XE6K4P7gqBasic 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.

14. Source Map

KB fileSource material
06 (this file)rpa-plus-doc-en.adspower.com: RPA-VS-RPA-Plus, GS6NXd, quLqLP, 7TZZCF, InrKyo, Process, Task, Task-Log, Marketplace, Jx4uEv, 7hoYpl, bTDsAP, Q0W3Ah, Data-Processing, Ce4rvy, kBktIg, ThirdParty-Tools, DvLyHH, Import-Data-from-Txt-Random-Extraction, For-Loop-Data, xp4Fd0, 1SWENH, amabOX, Listener-Request, Steps-to-create-Email-OAuth2-Credentials, Example-Passing-Parameters-via-Another-Process