TaskArc RPA Documentation
A developer-first environment for pure Python automation.
TaskArc IDE is designed for professionals who require the flexibility of Python 3.11 with the speed of low-code visual tooling. By utilizing a dual-process architecture, TaskArc provides high-reliability automation even in unstable enterprise environments.
bot.py. The underlying implementation (cv_engine, win_ocr) is compiled and optimized for Windows.
Installation
TaskArc is fully portable. No installation of Python or libraries is required on the host machine.
- Unzip the
TaskArc_Alpha.zippackage. - Move the folder to a desired location (e.g.,
C:\TaskArc). - Run
TaskArcIDE.exe.
runtime folder. This contains the embedded Python environment required for the bots to execute.
Project Architecture
Every TaskArc project follows a strict hierarchy to ensure compatibility with the IDE's automated tools (Snipper, Table Wizard, DB Manager).
/MyAutomationProject
├── /Architecture
│ ├── db_config.json # Encrypted SQL Aliases / Credentials
│ └── requirements.txt # Custom Pip Dependencies
├── /Assets # Visual Anchors (PNGs)
├── bot.py # Library Core (Read-Only)
├── main.py # Your Entry Point
└── changelog.json # IDE-Generated Technical History
Visual Anchors vs. UI Elements
Knowing when to use each method is key to building maintainable bots.
| Method | Pros | Cons | Use Case |
|---|---|---|---|
| UI Elements | Fastest, 100% Accuracy, works in background. | Can fail on custom/legacy apps (Java/Citrix). | Standard Windows Apps, Web Forms. |
| Visual Anchors | Works on anything visible (Citrix, RDP, Games). | Slower, sensitive to resolution changes. | Legacy Apps, Remote Desktops. |
Quick Start: "Hello Notepad"
Follow these steps to build your first automation.
1. Setup
Open TaskArc and go to File > New Project. Name it HelloBot.
2. Write Logic
The IDE pre-imports everything from bot. Copy this code into main.py:
from bot import *
import subprocess
# 1. Launch Notepad
subprocess.Popen("notepad.exe")
wait(2) # Wait for UI to load
# 2. Type Text
type("Hello from TaskArc!")
type(Key.ENTER)
# 3. Save File (Ctrl + S)
type("s", Key.CTRL)
3. Execute
Press F5 or click RUN BOT. The IDE will minimize, and Notepad will open and type automatically.
Dynamic Tutorial Hub
Select a specific feature to launch an interactive, multi-step guide.
Smart-Assets
The standard "Snip & Click" workflow for rapid development.
Enterprise Tables
Generate logic for Salesforce, SAP, and Infinite-Scrolling grids.
Native OCR
Extracting data from static regions and legacy screen-scrapes.
The `bot` Standard Library
These functions are natively optimized for the TaskArc Supervisor process.
Interaction API
| Function | Signature / Parameters | Description |
|---|---|---|
| click() | (target, offset, confidence, timeout) | Clicks an image path, coord, or UI element. target can be "assets/btn.png", (x, y), or UI Element. |
| type() | (*args) | Sends text/hotkeys. Features auto-retry on interruption. Accepts "text", Key.ENTER, or hotkeys like ("s", Key.CTRL). |
| right_click() | (target, timeout) | Performs a right-click on the specified target. |
| paste() | (text) | Uses clipboard for instantaneous text insertion. |
Finders & Synchronization
| Function | Description |
|---|---|
| exists(target) | Immediate boolean check. Does not block execution. |
| wait_for(target) | Blocks execution until target appears (max 10s default). Raises TimeoutError on failure. |
| get_text(target) | Extracts the .Name or .Value property from a UI element. |
OCR Engine
Safeguarded wrapper around the OS-level OCR API.
read_text(x, y, w, h)
Captures the defined screen region and extracts text using Windows Media OCR.
| Parameter | Description |
|---|---|
| x, y | Top-left coordinates of the region. |
| w, h | Width and Height of the region. |
| Returns | str - The raw text found in the region. |
Database Engine
TaskArc supports PostgreSQL, MySQL, and SQLite without hardcoding credentials in scripts.
| Function | Arguments | Returns |
|---|---|---|
| db_fetch() | (alias, query, params) | list[dict] - Rows as dictionaries. |
| db_execute() | (alias, query, params) | int - Rows Affected. |
db_config.json. Always use the Database Manager to define Aliases before running scripts.
Custom IDE Actions
Special command-triggers available during code editing.
- copy(): Type this into the editor to launch the Auto-Code Copy wizard for robust Ctrl+C logic.
- Table Wizard: Use
Ctrl + Tto map a grid and generate deduplication logic. - Asset Edit:
Ctrl + Clickon any asset path to redefine the image or adjust its offset.
Managing Custom Libraries
TaskArc uses a persistent Python environment. Libraries installed here survive application restarts.
How to Install Packages
- Open the TERMINAL tab at the bottom of the IDE.
- Run the pip module command:
python -m pip install pandas requests
Note: Using python -m pip is required to avoid conflicts within the portable environment.
Watcher Protocols
The Watcher system allows for asynchronous obstacle management via a secondary process.
Implementation requires a watcher.py file containing a scan loop:
# watcher.py example
from bot import *
while True:
if exists("assets/update_popup.png"):
request_interrupt() # Suspend Main Bot thread
click("assets/close_btn.png")
restore_focus() # Return focus to original context
request_resume() # Unlock Main Bot thread
wait(1)
LLM Readiness
To use an AI Assistant to write TaskArc bots, provide the following context prompt:
You are a TaskArc RPA expert. Libraries: click(target, confidence=0.9), type(text), wait_for(target, timeout=10), exists(target), read_text(x,y,w,h). For keyboard: Key.ENTER, Key.TAB, Key.CTRL. Assume 'from bot import *' is present. Use relative paths: 'Assets/TaskName/image.png'.