Skip to content
/ Loomwork Public template

Loomwork RPA - weaving together automations (loom + workflow)

License

Notifications You must be signed in to change notification settings

mackeh/Loomwork

Repository files navigation

Loomwork 🧶

Self-hosted workflow orchestration and RPA platform. Build automation visually, record browser interactions, clean data with local LLMs, and connect everything with pre-built integrations.

Dashboard

✨ Highlights

  • Visual Workflow Editor — DAG-based canvas with drag-and-drop nodes, port connections, and live inspection.
  • Browser Recording — Record clicks, typing, and navigation with "Smart Selectors" that self-heal.
  • Local LLM Integration — Use Ollama for data normalization, extraction, and decision-making within workflows.
  • Resilient Execution — Retries, exponential backoff, error handlers, and human-in-the-loop pauses.
  • Secure Secrets — Centralized, encrypted storage for API keys and credentials.
  • Enterprise Security — Optional SSO, role-based access control (RBAC), and audit logging.
  • Data-Driven — Process CSV, JSON, Excel, and XML files as input sources.
  • Collaboration — Edit locking, comments, and audit trails.

📸 Overview

✨ Advanced Workflow Features

![Polished Editor (Light)](assets/screenshots/polished_editor_light.png)
<!-- slide -->
![Polished Editor (Dark)](assets/screenshots/polished_editor_dark.png)
  • Premium Visual Experience — Modern Glassmorphism UI with Inter typography, polished node aesthetics, and helpful icons.
  • Workflow Debugger — Pause, resume, and step through execution with live side-by-side context inspection.
  • Real-time Validation — Instant feedback on disconnected nodes and missing required configurations.
  • Canvas Superpowers — Multi-step Undo/Redo, persistent MiniMap, and Grid Snapping for pixel-perfect layouts.
  • Interactive Tutorial — Built-in guided tour to help you build your first automation in minutes.

Secrets Management

Securely store credentials and use them in workflows via {{secrets.API_KEY}}. Secrets

Data Sources

Upload and process datasets directly within your automation. Data Sources

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Ollama (for LLM features)
  • Chrome/Chromium (installed via Playwright)

Installation

  1. Clone the repository

    git clone https://github.com/mackeh/Loomwork.git
    cd Loomwork
  2. Install dependencies

    npm install
    npx playwright install chromium
  3. Start the server

    npm start

    Open http://localhost:3000 in your browser.

Optional: Enable SSO + RBAC

Set SESSION_SECRET to enable authentication middleware. Then add one provider:

export SESSION_SECRET="replace-with-a-long-random-secret"
export BASE_URL="http://localhost:3000"

# Microsoft Entra ID
export ENTRAID_CLIENT_ID="..."
export ENTRAID_CLIENT_SECRET="..."
export ENTRAID_TENANT_ID="..."

# OR Google
export GOOGLE_CLIENT_ID="..."
export GOOGLE_CLIENT_SECRET="..."

With auth enabled, API access follows RBAC roles (admin, developer, viewer).

💡 Usage Guide

Creating a Workflow

  1. Go to Workflows > New Workflow.
  2. Drag nodes from the sidebar (e.g., Web Scraper, LLM Transform, Slack Notify).
  3. Connect the ports to define the flow.
  4. Click Run to execute immediately or set up a Trigger (Cron, Webhook).

Using Secrets

  1. Go to Settings > Secrets.
  2. Add a new secret (e.g., OPENAI_API_KEY).
  3. In any node configuration, use {{secrets.OPENAI_API_KEY}} to inject the value securely.

You can also manage secrets over API:

curl -X POST http://localhost:3000/api/secrets \
  -H "Content-Type: application/json" \
  -d '{"key":"API_KEY","value":"sk-...","description":"Primary provider key"}'

Browser Recording

  1. Click Record in the workflow editor.
  2. Enter the URL to start from.
  3. Interact with the browser window. Loomwork captures your actions using robust multi-strategy selectors.
  4. Stop recording to generate the workflow steps automatically.

🛠️ Architecture

Loomwork is built with a modular driver-based architecture:

  • Frontend: Hono (SSR) + htmx + Pico CSS
  • Backend: Node.js + WebSocket + Better-SQLite3
  • Automation: Playwright (Web) + Nut.js (Desktop)
  • AI: Ollama (Local LLM)

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.

📄 License

MIT. See LICENSE.


If Loomwork helps you, consider supporting the development on Buy Me a Coffee.

About

Loomwork RPA - weaving together automations (loom + workflow)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •  

Languages