Legacy Orchestrator avatar
Legacy Orchestrator

Pricing

from $50.00 / 1,000 extraction results

Go to Apify Store
Legacy Orchestrator

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

Jason Pellerin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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:

  1. Screenshots the screen and analyzes it with OCR
  2. Detects UI elements by their visual appearance (not DOM selectors)
  3. Plans navigation using your own LLM (via secure webhook)
  4. 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"
}
{
"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

TypeDescriptionStatus
web_portalLegacy web ERPs, dashboards, internal portals✅ Full Support
terminal_sshSSH terminal sessions✅ Full Support
terminal_telnetTelnet/3270 mainframes🔧 Coming Soon
vncVNC 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

  1. Credential Isolation - Stored in Apify secrets, never sent to webhooks
  2. No Code Execution - Only predefined actions (click, type, wait, etc.)
  3. Data Sanitization - Only element labels sent externally, not values
  4. Action Allowlist - Strict validation prevents injection attacks
  5. Audit Logging - Every action recorded for compliance

n8n Community Node Installation

Install the dedicated n8n node for seamless workflow integration:

# In your n8n installation directory
npm install n8n-nodes-legacy-orchestrator

Or install via n8n UI:

  1. Go to SettingsCommunity Nodes
  2. Click Install a community node
  3. Enter: n8n-nodes-legacy-orchestrator
  4. 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

Download the ready-to-use workflows directly:

WorkflowURLPurpose
AI Planninghttps://ef1e9a0f-1267-4cd9-bc9f-029ef9b8b0d2.usrfiles.com/ugd/ef1e9a_953db7c04b5a4e7abd93f1c7a7f3a9fc.jsonPowers intelligent navigation
Demo Proxyhttps://ef1e9a0f-1267-4cd9-bc9f-029ef9b8b0d2.usrfiles.com/ugd/ef1e9a_151b51d40aee4f1690e17bf455d3b4e6.jsonEnables live demo widget (CORS bypass)

Setup Steps:

  1. Go to n8n → Workflows → Import from URL
  2. Paste the AI Planning URL and import
  3. Configure your OpenAI credentials in the "🧠 GPT-4o Planning" node
  4. Activate the workflow
  5. 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:

  1. Go to n8n → Workflows → Import
  2. Upload n8n-planning-workflow.json from the templates/ folder
  3. Configure your OpenAI credentials
  4. 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

ParameterTypeRequiredDescription
systemTypestringweb_portal, terminal_ssh, etc.
connectionUrlstringURL or hostname to connect to
taskstringNatural language task description
planningWebhookstringYour n8n webhook URL
planningWebhookSecretstringHMAC signing secret
outputSchemaJSONExpected output structure
maxStepsnumberMax navigation steps (default: 50)
timeoutnumberTimeout in seconds (default: 300)
stealthLevel1-3Anti-detection level
enableVisionFallbackbooleanEnable self-healing (default: true)
captureScreenshotsbooleanSave 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 changes
await page.click('#submit-btn'); // ❌ Element not found
// Legacy Orchestrator approach
1. Try selector → fails
2. Take screenshot → analyze with OCR
3. Find "Submit" button by visual appearance
4. 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.

Support

License

MIT License - Use freely, attribution appreciated.


Ready to unlock your enterprise dark matter? Run this Actor now →