selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Open Flow logo

Self-host Open Flow

Visual workflow automation platform for AI agents

BetaOpen SourceApache-2.0
Updated5 days ago
LanguageTypescript
Setup difficultyModerate
ThemeDark mode
Stars
280
Port
3000 (HTTP server (Workbench, Control API, MCP))
Docker
ghcr.io/oomol-lab/open-flow
Install with Docker
Open Flow Workbench in dark mode showing the same workflowCustomer onboarding workflow in Open Flow Workbench with explicit customer data, JavaScript, approval, and a subflowCode Task property panel showing JavaScript, a customer input source, and a typed message outputOnboarding test run paused for human approval in the Open Flow Workbench

What is Open Flow?

This open-source workflow automation platform is designed for AI-assisted building. AI agents (via the oo CLI) create and edit workflows that connect to over 1,600 apps and 20,000+ tools through OpenConnector. Users inspect and refine the visual workflow in the Workbench, which shows typed inputs, JavaScript Code Tasks, LLM Tasks, Agent Tasks, branching, subflows, and human Approval/Wait nodes. Workflows can be triggered manually, on a schedule, via webhook, or from provider events. The self-hosted Server (Docker image on GHCR) runs the Workbench, Control API, MCP endpoint, and isolated TypeScript execution runtime with SQLite persistence. Deployments support versioned publications with rollback, run history, and team/agent permission management. The project is in beta (Apache-2.0) and also offers a managed OOMOL Hosted option.

Should you self-host Open Flow?

Open Flow scores 46/100 on selfhost.directory (how scoring works) and ranks #21 of 32 in Workflow Automation. It has 280 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is n8n (92/100, 208 868 stars). It scores higher overall, so compare the two before you pick. See Open Flow vs n8n side by side.

Features

  • AI agent integration (oo CLI)
  • Branching and reusable subflows
  • Human approval nodes
  • Isolated TypeScript/JavaScript execution
  • LLM Tasks and Agent Tasks
  • MCP (Model Context Protocol) Support
  • Run history and execution inspection
  • Self-hosted with Docker/Fly.io
  • Team and agent permission management
  • Variables managementStored as plaintext in SQLite
  • Versioned publications with rollback
  • Visual Workflow Builder
  • Webhook and scheduled triggers

Open Flow README

How to install Open Flow

Install Open Flow with Docker

Docker, OpenSSL
Environment variables
OPEN_FLOW_TOKEN, OPEN_FLOW_CONNECTOR_ORIGIN, OPEN_FLOW_CONNECTOR_TOKEN, OPEN_FLOW_CONNECTOR_CONSOLE_ORIGIN, OPEN_FLOW_LLM_ORIGIN, OPEN_FLOW_LLM_TOKEN, OPEN_FLOW_INTEGRATION_PUBLIC_ORIGIN, OPEN_FLOW_INTEGRATION_CALLBACK_KEY, OPEN_FLOW_PUBLIC_ORIGIN, and more

export OPEN_FLOW_TOKEN="$(openssl rand -hex 32)" docker pull ghcr.io/oomol-lab/open-flow:v0.1.0-beta.1

docker run -d
--name open-flow
--stop-timeout 45
-p 3000:3000
-v open-flow-data:/data/open-flow
-e OPEN_FLOW_TOKEN="$OPEN_FLOW_TOKEN"
ghcr.io/oomol-lab/open-flow:v0.1.0-beta.1

Use explicit release tag during beta; latest tag reserved for stable releases

How to configure Open Flow

  • OPEN_FLOW_CALLBACK_REQUESTS_PER_MINUTE120Per-minute request limit for each Webhook/Integration endpoint or Wait capability

    Per-minute request limit for each Webhook/Integration endpoint or Wait capability

  • OPEN_FLOW_CONNECTOR_CONSOLE_ORIGINPublic Connector Console origin reachable by users' browsers

    Public Connector Console origin reachable by users' browsers

  • OPEN_FLOW_CONNECTOR_ORIGINConnector runtime origin reachable by Server

    Connector runtime origin reachable by Server

  • OPEN_FLOW_CONNECTOR_TOKENRestricted token for Connector runtime API calls

    Restricted token for Connector runtime API calls

  • OPEN_FLOW_DATA_DIR/data/open-flowSQLite persistence directory

    SQLite persistence directory

  • OPEN_FLOW_HOST0.0.0.0HTTP listening address

    HTTP listening address

  • OPEN_FLOW_INTEGRATION_CALLBACK_KEYKey of at least 32 UTF-8 bytes for deriving Integration callback secrets

    Key of at least 32 UTF-8 bytes for deriving Integration callback secrets

  • OPEN_FLOW_INTEGRATION_PUBLIC_ORIGINPublic Integration callback origin reachable by Providers

    Public Integration callback origin reachable by Providers

  • OPEN_FLOW_LLM_ORIGINRoot origin of an OpenAI-compatible LLM service

    Root origin of an OpenAI-compatible LLM service

  • OPEN_FLOW_LLM_TOKENBearer token for the explicitly configured LLM service

    Bearer token for the explicitly configured LLM service

  • OPEN_FLOW_LOG_LEVELinfoPino log level

    Pino log level

  • OPEN_FLOW_MAX_CONCURRENT_RUNS4Deployment-wide concurrent execution limit

    Deployment-wide concurrent execution limit

  • OPEN_FLOW_MAX_PENDING_RUNS1000Deployment-wide limit on nonterminal Runs

    Deployment-wide limit on nonterminal Runs

  • OPEN_FLOW_OPERATOR_LOGIN_ATTEMPTS_PER_MINUTE10Deployment-wide Operator login attempts per minute

    Deployment-wide Operator login attempts per minute

  • OPEN_FLOW_PORT3000HTTP listening port

    HTTP listening port

  • OPEN_FLOW_PUBLIC_ORIGINPublic Server origin reachable by Wait notification consumers

    Public Server origin reachable by Wait notification consumers

  • OPEN_FLOW_RUN_EVENT_RETENTION_DAYS30Detailed event retention for terminal Runs, in days

    Detailed event retention for terminal Runs, in days

  • OPEN_FLOW_RUN_TIMEOUT_MS1800000Maximum milliseconds from Run execution start to terminal state

    Maximum milliseconds from Run execution start to terminal state

  • OPEN_FLOW_SESSION_COOKIE_SECUREfalseSet to true behind TLS ingress

    Set to true behind TLS ingress

    values: true, false

  • OPEN_FLOW_TOKENOptional environment-managed Operator credential (min 32 bytes)

    Optional environment-managed Operator credential (min 32 bytes)

FAQ

How does Open Flow manage AI agent permissions?

Assign app connections to members and agents, then limit the tools available to each role. Review tool calls and revoke access. Workflows and agent tool calls can require human approval for critical operations.

Can I self-host Open Flow with Docker?

Yes, you can run the Open Flow server with Docker on your own infrastructure or deploy the same image on Fly.io, with responsibility for TLS, storage, backups, upgrades, secrets, and connector configuration.

Which apps and services can Open Flow connect to?

Open Flow uses OpenConnector to connect to 1,600+ apps and services with 20,000+ ready-to-use tools for reading email, updating CRM records, organizing documents, and sending notifications.

How do I build an automated workflow with AI?

Connect your AI agent to an Open Flow deployment through the oo CLI, describe the task, and the agent creates and edits workflow steps. Use the Workbench to review logic, configure app connections, and test before publishing.

What is Open Flow?

Open Flow is an open-source AI workflow automation platform where AI agents build workflows connecting apps and services, while users inspect logic and execution results in a visual Workbench.

More in AI Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…