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.

Engine Note: The functions documented below are wrappers from 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.

  1. Unzip the TaskArc_Alpha.zip package.
  2. Move the folder to a desired location (e.g., C:\TaskArc).
  3. Run TaskArcIDE.exe.
Note: Do not delete the 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

FunctionSignature / ParametersDescription
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

FunctionDescription
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.

ParameterDescription
x, yTop-left coordinates of the region.
w, hWidth and Height of the region.
Returnsstr - The raw text found in the region.

Database Engine

TaskArc supports PostgreSQL, MySQL, and SQLite without hardcoding credentials in scripts.

FunctionArgumentsReturns
db_fetch()(alias, query, params)list[dict] - Rows as dictionaries.
db_execute()(alias, query, params)int - Rows Affected.
Note: In Alpha, credentials are in plain text in 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 + T to map a grid and generate deduplication logic.
  • Asset Edit: Ctrl + Click on 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

  1. Open the TERMINAL tab at the bottom of the IDE.
  2. 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'.

Tutorial