Run Python, Node.js, PowerShell, and 7 More Languages in One Workflow

Run Python, Node.js, PowerShell, and 7 More Languages in One Workflow

Automation pipelines that stay in one language are rare. The real world looks more like this: a PowerShell script checks system health, a Python script processes the data, and a Node.js script pushes results to an API. Making those three scripts talk to each other usually means writing wrapper code, managing temp files, parsing stdout, and debugging inter-process communication across language boundaries.

NORA eliminates that glue code entirely. Each node runs in its own shell. Outputs pass between nodes through NORA’s routing layer. The scripts never need to know about each other.

10 Supported Languages on One Canvas

Every node on the NORA canvas can run a different language:

Language Typical Use
Python Data processing, ML pipelines, API calls
Node.js Webhooks, JSON transformation, async operations
PowerShell Windows system administration, Active Directory, registry
Batch Legacy Windows scripts, simple file operations
Bash/Shell Unix-style scripting via WSL or Git Bash
Ruby Configuration management, text processing
PHP Web-related automation, database operations
Perl Log parsing, regex-heavy text manipulation
VBScript COM automation, legacy Windows integrations
AutoHotkey GUI automation, keyboard/mouse scripting

All ten run natively on the same canvas. No plugins, no containers, no language-specific adapters.

How Cross-Language Routing Works

Each node runs independently in its own shell process. When a node finishes:

  1. NORA captures the exit code and stdout
  2. Condition nodes evaluate routing rules (exit status, output content, regex matches, numeric thresholds)
  3. The next node in the chain starts in its own shell with its own language

There’s no shared runtime, no memory space conflicts, no version collisions. A Python 3.11 node and a Python 3.9 node can run in the same workflow because each one uses whatever interpreter is on the system PATH (or a per-node shell override).

Shell Auto-Detection and Per-Node Override

NORA auto-detects the correct shell from command patterns. A command starting with python runs in the Python interpreter. A .ps1 file runs in PowerShell. A .sh script runs in Bash.

When auto-detection isn’t enough — or when you need a specific interpreter version — per-node shell override lets you set the exact shell path for any individual node. Run one node with python3.11 and another with python3.9 in the same workflow.

Practical Example: Disk Monitoring Pipeline

Here’s a real workflow that crosses three language boundaries:

Node 1 — PowerShell: Check disk space

Get-Volume | Where-Object {$_.SizeRemaining / $_.Size -lt 0.1} |
  Select-Object DriveLetter, @{N='FreeGB';E={[math]::Round($_.SizeRemaining/1GB,2)}} |
  ConvertTo-Json

Condition Node — Evaluate output
Checks whether output contains drive letter data (substring match). If empty, no drives are low — workflow ends. If data exists, route to processing.

Node 2 — Python: Process and format

import json, sys
data = json.loads(sys.stdin.read())
for vol in data:
    print(f"WARNING: Drive {vol['DriveLetter']}: has {vol['FreeGB']}GB remaining")

Node 3 — Node.js: Send webhook

const https = require('https');
const data = JSON.stringify({ text: process.stdin.read() });
// POST to Slack, Teams, or any webhook endpoint

Three languages, zero glue code. Each script is self-contained. NORA handles the data flow and error routing between them.

Exit Code Routing Across Languages

Every language has its own conventions for exit codes, but they all produce an integer. NORA’s condition nodes evaluate exit codes uniformly:

  • Exit code 0 → success route
  • Exit code non-zero → error/failure route
  • Specific exit codes → specific routes (e.g., exit 2 → “needs review”)

This works identically whether the node ran Python, PowerShell, Batch, or any other supported language. The condition node doesn’t care what language produced the exit code.

No Inter-Process Communication Code

The traditional approach to mixing languages requires explicit IPC: temp files, named pipes, sockets, environment variables, or subprocess calls with stdout parsing. Every connection point is custom code that needs error handling and testing.

NORA replaces all of that with visual edges on the canvas. Connect a Python node to a PowerShell node by dragging a line. The routing, data passing, and error handling are built into the platform. The scripts stay clean and focused on their actual job.

Built-In Monaco Editor

Every script node includes a Monaco code editor — the same editing engine used by VS Code. Syntax highlighting, bracket matching, and auto-indentation work for all ten supported languages. Edit scripts directly in the workflow without switching to an external editor.

Getting Started

Download NORA at software.reibuys.com/nora. Install on Windows 10 or later. A paid license key is required. Drag script nodes onto the canvas, pick your languages, connect them, and run.

One-time purchase — no subscription, no per-execution fees. 30-day money-back guarantee.

Get NORA at software.reibuys.com/nora

Leave a Comment