Robotic Process Automation Studio
Download Β· Getting Started Β· Documentation Β· Libraries Β· Roadmap Β· Contributing
π·πΊ Π ΡΡΡΠΊΠΈΠΉ Β· π©πͺ Deutsch Β· πͺπΈ EspaΓ±ol
RPAForge is a modern, open-source Robotic Process Automation studio. Design automation workflows visually, debug them step by step, and execute them with a production-grade Python engine β no vendor lock-in, no license fees.
from rpaforge import StudioEngine
from rpaforge_libraries.DesktopUI import DesktopUI
engine = StudioEngine()
engine.executor.register_library("DesktopUI", DesktopUI())
builder = engine.create_process("Notepad Automation")
builder.add_task("Open and Type", [
("DesktopUI.Open Application", {"executable": "notepad.exe"}),
("DesktopUI.Wait For Window", {"title": "Notepad", "timeout": "10s"}),
("DesktopUI.Input Text", {"text": "Hello from RPAForge!"}),
("DesktopUI.Close Window", {}),
])
result = engine.run(builder.build())
print(f"Status: {result.status}")Just want to use RPAForge? Grab the latest Windows installer from the Releases page. The installer bundles the Python engine, so no separate Python installation is required β install, launch, and start building automations.
To build from source instead, see the Quick Start below.
| Visual Designer | Drag-and-drop workflow builder powered by React Flow β nodes, edges, sub-diagrams, zoom/pan, and a mini-map |
| AI Diagram Generation | Describe a process in plain language and get a draft diagram β OpenAI-compatible or Anthropic models, validated and shown as an Apply/Discard preview before it ever touches your canvas |
| Integrated Debugger | Breakpoints, step over/into/out, variable inspection, call stacks, conditional stops |
| 14 RPA Libraries | 120+ ready-made activities covering Desktop, Web, Excel, DataFrames, Database, OCR, HTTP, Credentials and more |
| Python Bridge | Asyncio JSON-RPC server β Electron talks to Python over IPC with full type safety |
| Code Generation | Diagram β Python, with topology validation before every run |
| Security First | SQL injection, path traversal, unsafe getattr, and IPC payload validation built-in (v0.3.1) |
| Persistent Storage | IndexedDB autosave for processes, variables, and execution history |
| Multi-Language | UI and library logging in English (en), Russian (ru), German (de), Spanish (es), Chinese (zh) β contribute new languages |
| Cross-Platform | Windows, macOS, Linux β one codebase |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RPAForge Studio (Electron 42 + React 19 + TailwindCSS 4) β
β β
β Designer β Debugger β Console β Recorder β
β React Flow Β· Monaco Editor Β· Zustand Β· Vite 8 β
ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β JSON-RPC over IPC / Stdio
ββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
β Python Bridge Server (asyncio JSON-RPC) β
β β
β StudioEngine Β· ProcessRunner Β· Debugger Β· Recorder β
β CodeGenerator Β· Topology Validator β
ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
β RPA Libraries (14 modules Β· 120+ activities) β
β β
β DesktopUI WebUI Excel Database OCR Credentials β
β File HTTP DateTime String Flow Variables Spy β¦ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
rpaforge/
βββ packages/
β βββ core/ # Python engine β runner, debugger, bridge, codegen
β βββ libraries/ # RPA library modules
β βββ studio/ # Electron + React desktop application
β βββ orchestrator/ # Control Tower (planned)
βββ docs/ # MKDocs documentation
βββ .github/ # CI/CD workflows (ci, release, codeql, docs)
βββ tools/ # Release scripts
| Tool | Version |
|---|---|
| Python | 3.10 β 3.13 |
| Node.js | 20+ |
| pnpm | 9+ (or npm 9+) |
| Git | any |
| VS Build Tools | Windows only, for native modules |
# 1. Clone
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge
# 2. Python packages (development mode)
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries
# 3. Studio UI
cd packages/studio
pnpm install # or: npm ci --include=optional
# 4. Verify
cd ../..
pytest packages/core/tests -v
cd packages/studio && pnpm test && cd ../..cd packages/studio
pnpm dev # Vite dev server + Electron hot-reloadThe installer bundles a frozen Python engine, so end users do not need Python installed β activities work out of the box.
cd packages/studio
pnpm build:dist # freezes the engine + builds the NSIS installerThe installer is written to packages/studio/dist-electron/*.exe. Building one
requires Python + PyInstaller on the build machine; see
Building the Installer for
prerequisites, bundled libraries, and CI details.
πͺ Windows 11
Prerequisites:
- Python 3.10+ (download from python.org)
- Node.js 20+ and pnpm (download from nodejs.org)
- Visual Studio Build Tools (required for native modules)
# Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/
Installation:
# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate
# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries
# Install Studio
cd packages/studio
pnpm install
pnpm devRunning from PowerShell:
# Python tests
pytest packages/core/tests -v
pytest packages/libraries/tests -v
# Studio
cd packages/studio
pnpm dev
pnpm testπ macOS (Intel & Apple Silicon)
Prerequisites:
# Install Xcode Command Line Tools
xcode-select --install
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install required tools
brew install python@3.12 node pnpmInstallation:
# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries
# Install Studio
cd packages/studio
pnpm install
pnpm devNote for Apple Silicon (M1/M2/M3):
# Some dependencies may require native builds, ensure Xcode is fully installed
xcode-select --install
# If issues persist, reset Xcode path
sudo xcode-select --resetπ§ Linux (Ubuntu/Debian/Fedora)
Prerequisites for Ubuntu/Debian:
# Update package lists
sudo apt-get update
# Install system dependencies
sudo apt-get install -y \
python3.12 python3.12-venv python3.12-dev \
nodejs npm \
build-essential \
git
# Install pnpm
npm install -g pnpmPrerequisites for Fedora/RHEL:
# Install system dependencies
sudo dnf install -y \
python3.12 python3.12-devel \
nodejs npm \
gcc g++ make \
git
# Install pnpm
npm install -g pnpmPrerequisites for desktop automation (optional):
# Ubuntu/Debian
sudo apt-get install -y libnss3 libnspr4 libatk-bridge2.0-0 libdrm2 libxkbcommon0 libgbm1
# Fedora/RHEL
sudo dnf install -y nss nspr atk libdrm libxkbcommon libgbmInstallation:
# Clone and setup
git clone https://github.com/chelslava/rpaforge.git
cd rpaforge
# Create virtual environment
python3.12 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements-dev.txt
pre-commit install
pip install -e packages/core
pip install -e packages/libraries
# Install Studio
cd packages/studio
pnpm install
pnpm devOCR support (all platforms)
pip install -e "packages/libraries[ocr]"
# Windows: https://github.com/UB-Mannheim/tesseract/wiki
# Linux: sudo apt-get install tesseract-ocr
# macOS: brew install tesseractWeb automation (Playwright)
pip install -e "packages/libraries[web]"
playwright install # Downloads browser binaries| Library | Activities | Description | Extra deps |
|---|---|---|---|
| DesktopUI | 20+ | Windows UI automation β Win32, WPF, and Java | pywinauto, pillow |
| WebUI | 15+ | Browser automation (Chrome, Firefox, and Safari) | playwright |
| Excel | 8+ | Read/write XLSX spreadsheets | openpyxl |
| DataFrames | 28+ | Tabular data operations β filter, sort, join, aggregate | polars |
| Database | 6+ | SQL queries via SQLAlchemy ORM | sqlalchemy |
| OCR | 5+ | Text recognition β Tesseract + barcodes | pytesseract, pyzbar, pyautogui |
| Credentials | 4+ | Encrypted OS credential store | cryptography, keyring |
| File | 8+ | File and folder operations | β |
| HTTP | 5+ | REST API requests | requests |
| DateTime | 6+ | Date/time utilities | β |
| String | 7+ | String manipulation | β |
| Variables | 4+ | Variable management and scoping | β |
| Flow | 4+ | Control flow β if, while, for | β |
| Spy | 3+ | Live UI element inspector overlay | uiautomation, pynput |
Install only what you need:
pip install -e "packages/libraries[desktop]" # DesktopUI
pip install -e "packages/libraries[web]" # WebUI
pip install -e "packages/libraries[dataframes]" # DataFrames (polars)
pip install -e "packages/libraries[all]" # Everythingmake test # Run all Python tests
make lint # ruff + mypy
make format # ruff format
make docs # Build MKDocs
make docs-serve # Serve docs locally
make studio-dev # Studio hot-reload
cd packages/studio
pnpm test # Vitest
pnpm build # Production buildBackend (Python)
asyncioJSON-RPC bridgeRufffor linting and formattingpytest+pytest-asynciofor testingmypyfor type checking
Frontend (TypeScript)
- React 19 + Vite 8
- React Flow 11 β visual diagram editor
- Zustand 5 β state management
- Monaco Editor β embedded code editor
- TailwindCSS 4 β utility styling
- Electron 42 β desktop packaging
| Package | Description | Version | Status |
|---|---|---|---|
rpaforge-core |
Engine, debugger, JSON-RPC bridge | v0.5.0 | β Stable |
rpaforge-libraries |
15 RPA library modules | v0.5.0 | β Stable |
rpaforge-studio |
Electron + React desktop UI | v0.5.0 | π Alpha |
rpaforge-orchestrator |
Control Tower | β | π Planned |
- β XYFlow 12 Migration: Modernized React Flow canvas with ELK auto-layout and sub-diagrams
- β AI Workflow Generation: Natural language prompt-to-diagram generation (OpenAI, Anthropic, Gemini, Ollama, Groq)
- β
Plugin Architecture & SDK: Standard entry-points discovery (
rpaforge.libraries) and@library/@activitydecorators - β Polars DataFrames: Tabular data manipulation with 28 activities and visual debugger inspector
- β Studio Git Integration: Embedded source control panel for staging, committing, and remote push/pull
- β Bundled PyInstaller Distribution: Standalone Windows installer with embedded Python, Chromium & Tesseract
- β
Headless Robot Runner CLI & Daemon (
rpaforge-runner): Standalone unattended execution for Linux/Docker/Windows with supervisor and health probes - β
Transaction Work Queue Engine: Dispatcher-Performer pattern, priority scheduling, auto-retry, and dead-letter queues (
rpaforge.queues) - β Multi-Strategy Smart Selectors: Fallback chains (CSS/XPath β Text Anchors β OpenCV Computer Vision) with confidence scoring
- β
Pluggable Secret Providers: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and
.envsupport - β
Self-Contained Package Bundler (
.forge): Signed portable automation packages with integrity verification - β Resilient Python Bridge: Process watchdog, automatic crash recovery, in-flight request replay, and binary buffer IPC
- β Smart Studio UX: Canvas Quick-Add spotlight search, auto-connect on edge drop, and IntelliSense variable auto-completion
- Agentic Workflow Nodes: LLM dynamic decision branching, autonomous tool-calling loops, and JSON schema extraction
- Native IDP Library: Multi-modal document parsing for Invoices, Receipts, and IDs with table extraction
- VLM Visual Element Grounding: Natural language visual UI targeting and AI-driven selector self-healing
- Human-in-the-Loop (HITL): Interactive approval forms, Slack/Teams notifications, and workflow suspension
- OpenTelemetry (OTel): Distributed tracing and metrics exported to Jaeger, Prometheus, Datadog
- Robot Sandbox & Security Policies: Permission boundaries for filesystem, network egress, and system calls
- Automated Workflow Testing (
rpaforge-test): Unit testing with activity mocking, assertions, and coverage - Official CI/CD Actions: GitHub Actions and GitLab CI templates for automated linting and execution
- Unified Hybrid Smart Recorder: Cross-application recording across Web, Win32, WPF, and terminal
- Live Execution Rewind & Hot-Reload: Checkpoint rewinding and edit-and-continue debugging
- Visual Workflow Diffing & Merge Tool: Graphical side-by-side branch comparison and merge conflicts resolver
- Custom Activity Builder: Package sub-diagrams into reusable drag-and-drop activities
- Centralized Control Tower Backend: FastAPI + PostgreSQL + Redis with REST/WebSocket APIs
- Fleet Management & Agent Pairing: Instant mTLS registration, live heartbeats, and remote deployment
- Centralized Scheduling & Event Triggers: Timezone-aware cron schedules, webhooks, and email triggers
- Orchestrator Web Dashboard: Real-time fleet monitoring, execution streaming, and queue metrics
- High Availability (HA) Clustering: Multi-node orchestrator with automatic failover
- Enterprise Identity (SSO / RBAC): SAML 2.0, OIDC, LDAP (Okta, Azure AD, Keycloak) with granular permissions
- Full Cross-Platform Parity: Certified Windows, Linux, and macOS runners with Docker/K8s Helm charts
- Enterprise Migration Assistant: Automated converter for UiPath (
.xaml) and Robot Framework workflows - Community & Enterprise Marketplace: Certified connectors, verified plugin registry, and templates hub
- Long-Term Support (LTS): 3-year stability SLA and backward compatibility guarantee
| Resource | Description |
|---|---|
| Getting Started | Installation and system setup |
| Quick Start | Build your first automation |
| Developer Guide | Architecture, patterns, code conventions |
| Contributing | How to contribute code or docs |
| Translation Guide | Add translations for new languages |
| Changelog | Release notes |
| Roadmap | Detailed feature roadmap |
Contributions are welcome β bug reports, feature requests, documentation, and code.
# Fork β clone β branch
git checkout -b feat/my-feature
# Make changes, then
make test && make lint
# Commit (Conventional Commits)
git commit -m "feat(libraries): add PDF extraction keyword"
# Open a PR against mainSee CONTRIBUTING.md for the full workflow, coding standards, and PR checklist.
New to the project? Pick a task from the curated good first issues menu - each is small, self-contained, and priority-reviewed.
- Visual designer powered by React Flow and Electron
- Desktop automation via pywinauto
- Web automation via Playwright
- Inspired by UiPath, Blue Prism, and Automation Anywhere
GitHub Discussions Β· Issue Tracker
Apache License 2.0 β Made with care by the RPAForge Community
