Legacy Orchestrator
Pricing
from $50.00 / 1,000 extraction results
Legacy Orchestrator
Self-healing scraper for legacy systems. Uses AI + computer vision to navigate ERPs, terminals, and portals without brittle selectors. Bring your own LLM via webhook—credentials never leave the sandbox. Web portals, SSH, mainframes. HIPAA/SOC2 ready.
Pricing
from $50.00 / 1,000 extraction results
Rating
0.0
(0)
Developer

Jason Pellerin
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Legacy System Orchestrator - Self-Healing Enterprise Integration
Extract data from legacy ERPs, terminals, and desktop apps without writing brittle CSS selectors. This Actor uses AI-powered visual navigation that automatically fixes itself when UIs change.
The Problem: "Enterprise Dark Matter"
91% of enterprise AI models face degradation because vital data is trapped in legacy systems designed for humans, not machines:
- Old web portals with session-based auth and no API
- Terminal emulators (SSH, Telnet, 3270 mainframes)
- Desktop applications accessible only via RDP/VNC
- Proprietary ERPs like SAP, Oracle, Dynamics
Traditional scrapers using XPath/CSS selectors break constantly when these UIs change.
The Solution: Self-Healing Visual Navigation
This Actor uses computer vision + LLM reasoning to navigate legacy systems like a human would:
- Screenshots the screen and analyzes it with OCR
- Detects UI elements by their visual appearance (not DOM selectors)
- Plans navigation using your own LLM (via secure webhook)
- Executes actions with vision fallback when selectors fail
┌─────────────────────────────────────────────────────────────┐│ Traditional Scraper vs. Legacy Orchestrator │├─────────────────────────────────────────────────────────────┤│ #login-btn "Blue Login button" ││ .submit-form > button:first-child "Submit near form" ││ //*[@id="nav"]/li[3]/a "Reports menu item" ││ ││ ❌ Breaks when UI changes ✅ Self-heals │└─────────────────────────────────────────────────────────────┘
Quick Start
1. Basic Usage (Built-in Heuristics)
{"systemType": "web_portal","connectionUrl": "https://legacy-erp.company.com","task": "Navigate to supplier portal and extract pending invoice numbers"}
2. With Your Own LLM (Recommended)
{"systemType": "web_portal","connectionUrl": "https://legacy-erp.company.com","task": "Log in, go to Reports, download Q4 sales data","planningWebhook": "https://your-n8n.com/webhook/legacy-planner","planningWebhookSecret": "your-secret-key"}
Supported System Types
| Type | Description | Status |
|---|---|---|
web_portal | Legacy web ERPs, dashboards, internal portals | ✅ Full Support |
terminal_ssh | SSH terminal sessions | ✅ Full Support |
terminal_telnet | Telnet/3270 mainframes | 🔧 Coming Soon |
vnc | VNC desktop automation | 🔧 Coming Soon |
Security Model
Your credentials NEVER leave this Actor.
┌──────────────────────────────────────────────────────────────┐│ SECURITY BOUNDARY │├──────────────────────────────────────────────────────────────┤│ ││ Apify Actor (Sandboxed) External Planning ││ ┌─────────────────────┐ ┌─────────────────┐ ││ │ • Credentials │──────────▶│ • Screen hash │ ││ │ • Raw screenshots │ NEVER │ • Element list │ ││ │ • Extracted data │ SENT │ • Task progress │ ││ └─────────────────────┘ └─────────────────┘ ││ │ │ ││ ▼ ▼ ││ ┌─────────────────────┐ ┌─────────────────┐ ││ │ Target System │ │ Your LLM (n8n) │ ││ │ (Connected securely)│ │ (Only sees │ ││ │ │ │ sanitized data)│ ││ └─────────────────────┘ └─────────────────┘ ││ │└──────────────────────────────────────────────────────────────┘
Security Guarantees
- Credential Isolation - Stored in Apify secrets, never sent to webhooks
- No Code Execution - Only predefined actions (click, type, wait, etc.)
- Data Sanitization - Only element labels sent externally, not values
- Action Allowlist - Strict validation prevents injection attacks
- Audit Logging - Every action recorded for compliance
n8n Community Node Installation
Install the dedicated n8n node for seamless workflow integration:
# In your n8n installation directorynpm install n8n-nodes-legacy-orchestrator
Or install via n8n UI:
- Go to Settings → Community Nodes
- Click Install a community node
- Enter:
n8n-nodes-legacy-orchestrator - Click Install
Features:
- Pre-built operations: Execute Task, Get Run Status, Get Screenshots
- System type selector: Web Portal, SSH, Telnet, VNC
- Built-in credential management for Apify API token
- Automatic webhook configuration for AI planning
- Progress polling with configurable timeout
Example Node Configuration:
{"operation": "executeTask","systemType": "web_portal","connectionUrl": "https://legacy-erp.company.com","task": "Extract all pending invoices from the dashboard","maxSteps": 30,"timeout": 300}
Setting Up the n8n Planning Webhook
Option 1: One-Click Import (Recommended)
Download the ready-to-use workflows directly:
| Workflow | URL | Purpose |
|---|---|---|
| AI Planning | https://ef1e9a0f-1267-4cd9-bc9f-029ef9b8b0d2.usrfiles.com/ugd/ef1e9a_953db7c04b5a4e7abd93f1c7a7f3a9fc.json | Powers intelligent navigation |
| Demo Proxy | https://ef1e9a0f-1267-4cd9-bc9f-029ef9b8b0d2.usrfiles.com/ugd/ef1e9a_151b51d40aee4f1690e17bf455d3b4e6.json | Enables live demo widget (CORS bypass) |
Setup Steps:
- Go to n8n → Workflows → Import from URL
- Paste the AI Planning URL and import
- Configure your OpenAI credentials in the "🧠 GPT-4o Planning" node
- Activate the workflow
- Copy your webhook URL (ends with
/legacy-planner)
Option 2: Manual Import
Import the included workflow template (n8n-planning-workflow.json) into your n8n instance:
- Go to n8n → Workflows → Import
- Upload
n8n-planning-workflow.jsonfrom thetemplates/folder - Configure your OpenAI credentials
- Activate and copy webhook URL
What the Workflow Does
The n8n planning workflow:
- 📥 Receives sanitized screen state (no credentials or PII)
- 🔧 Formats context for GPT-4o analysis
- 🧠 Uses AI to determine next navigation actions
- ✅ Validates and secures responses
- 📤 Returns action commands to the Actor
Security: Your credentials and raw screenshots NEVER leave the Apify Actor.
Input Schema
| Parameter | Type | Required | Description |
|---|---|---|---|
systemType | string | ✅ | web_portal, terminal_ssh, etc. |
connectionUrl | string | ✅ | URL or hostname to connect to |
task | string | ✅ | Natural language task description |
planningWebhook | string | Your n8n webhook URL | |
planningWebhookSecret | string | HMAC signing secret | |
outputSchema | JSON | Expected output structure | |
maxSteps | number | Max navigation steps (default: 50) | |
timeout | number | Timeout in seconds (default: 300) | |
stealthLevel | 1-3 | Anti-detection level | |
enableVisionFallback | boolean | Enable self-healing (default: true) | |
captureScreenshots | boolean | Save screenshots for debugging |
Output Format
{"sessionId": "abc-123-def","systemType": "web_portal","status": "success","extractedData": {"invoices": [{"number": "INV-001", "amount": 1500.00, "vendor": "Acme Corp"}]},"stepsExecuted": 12,"totalTimeMs": 45000,"actionHistory": [{"step": 0, "action": "click", "target": "Login", "success": true},{"step": 1, "action": "type", "target": "username", "success": true}],"errors": []}
Use Cases
Supply Chain Automation
{"task": "Check inventory levels across 3 vendor portals and alert if below threshold","systemType": "web_portal"}
Financial Data Extraction
{"task": "Download all invoices from legacy accounting system for Q4 reconciliation","systemType": "web_portal"}
Mainframe Integration
{"task": "Query AS/400 system for customer account status","systemType": "terminal_ssh","connectionPort": 23}
Healthcare System Access
{"task": "Extract appointment schedule from Epic portal","systemType": "web_portal","stealthLevel": 3}
How Self-Healing Works
When a traditional selector fails:
// Traditional approach - BREAKS when UI changesawait page.click('#submit-btn'); // ❌ Element not found// Legacy Orchestrator approach1. Try selector → fails2. Take screenshot → analyze with OCR3. Find "Submit" button by visual appearance4. Click at detected coordinates → SUCCESS
The vision engine detects:
- Button labels and positions
- Input field locations
- Menu structures
- Table layouts
- Error messages
Cost Optimization
- Built-in Heuristics: Free, works for simple navigation
- LLM Planning: $0.01-0.05 per step (GPT-4 API costs)
- Recommended: Use heuristics for routine tasks, LLM for complex navigation
Limitations
- VNC support requires additional setup (coming soon)
- 3270 mainframe support is experimental
- Vision accuracy depends on screen resolution
- Some heavily obfuscated UIs may require custom configuration
About the Author
Built by Jason Pellerin AI Solutionist - specializing in AI automation for legal, healthcare, and enterprise clients in Colorado.
- Website: jasonpellerin.com
- LinkedIn: /in/jasonpellerin
Support
- Issues: Open a GitHub issue
- Email: jason@jasonpellerin.com
- Discord: Join the Apify community
License
MIT License - Use freely, attribution appreciated.
Ready to unlock your enterprise dark matter? Run this Actor now →


