Build automation with your AI agent. See exactly what will run.
Open Flow is an open-source workflow platform for people who want the speed of AI-assisted building and the clarity of a visual workflow. Ask Codex, Claude Code, or another agent to build a Flow, open it in the Workbench, and keep refining the same workflow together.
Combine JavaScript, connected apps, AI, branching, and human approval in one canvas. Inspect the inputs, follow the execution, and decide which version goes live. Run on OOMOL Hosted or on your own infrastructure.
Explore the interactive demo · Use OOMOL Hosted · Self-host with Docker
Important
Open Flow is in beta. The product and its versioned contracts are still evolving.
Describe the work you need done:
“Read new support emails, classify each request, draft a reply, and ask me to approve it before sending.”
Through oo flow, a terminal agent can discover integrations,
create and edit nodes, check a draft, run it, inspect results, and publish when you ask. Its changes
appear in the same Workbench you use to review the graph and edit the code. There is no separate
AI-generated project to translate or keep in sync.
The Server also exposes MCP authoring and run tools for compatible clients. Both interfaces work against the selected deployment's saved Flows, revisions, and runs.
Use an agent for the repetitive wiring. Keep the decisions that matter visible.
A workflow should still make sense after the conversation that created it is gone.
- JavaScript for precise work. Transform data, format messages, or write custom logic in Code Tasks with named, typed inputs and outputs.
- Explicit input sources. See where a value comes from in the property panel. Control connections determine what executes next; input mappings determine what data a step receives.
- Branches and reusable subflows. Route work with conditions and give repeated logic a clear interface of its own.
- Notes alongside the work. Explain a decision directly on the canvas so the next person can understand the intent.
Use LLM Tasks to classify, extract, or summarize. Use Agent Tasks when a job needs several tool calls. Surround them with ordinary code, conditions, and approvals where you need predictable behavior.
An Agent Task has a configured model, declared tools, and execution limits. Its tool configuration specifies the actions, accounts, and approval policy available to the model. You can require human approval for a tool call, or place an Approval node in the workflow before the next step proceeds.
Approval and Wait nodes persist their waiting state. Work can resume after a decision without replaying the steps already completed in that run.
Test a draft from a chosen trigger and follow its execution in the Workbench. Inspect node results, logs, errors, and pending approvals instead of reconstructing a run from the final message alone. Run history keeps the execution tied to the revision that produced it.
Publishing creates a versioned snapshot for Live automation. Continue editing the draft while the published version runs, inspect earlier Publications, and roll back when needed.
Start work manually, on a schedule, through a webhook, or from supported provider events and polling sources. The same deployment owns the workflow, its Live version, and its execution state.
Open Flow uses a Connector runtime such as OpenConnector to discover and execute actions for services including Gmail, Slack, GitHub, and Notion. Account credentials stay with the Connector; workflows refer to Connection identities.
OOMOL Hosted provides managed OAuth apps for supported integrations. With a self-hosted stack, you choose the Connector deployment and manage the required provider configuration and account authorizations. Workflow logic and account access remain separate concerns.
See Open Flow with OpenConnector and the oo CLI for a complete setup, including authorizing an account and building a first Flow.
| Option | What you manage | Get started |
|---|---|---|
| OOMOL Hosted | Your workflows and connected accounts; OOMOL operates the deployment. | Open OOMOL |
| Docker | Your deployment, storage, backups, upgrades, and integrations. | Commands below |
| Fly.io | Your app, persistent volume, secrets, backups, and upgrades on Fly's infrastructure. | Deployment guide |
For a local self-hosted instance, install Docker and OpenSSL, then run:
git clone https://github.com/oomol-lab/open-flow.git
cd open-flow
export OPEN_FLOW_TOKEN="$(openssl rand -hex 32)"
docker build --file apps/server/Dockerfile --tag open-flow-server:dev .
docker run --rm \
--publish 3000:3000 \
--env OPEN_FLOW_TOKEN="$OPEN_FLOW_TOKEN" \
--volume open-flow-data:/data/open-flow \
open-flow-server:devOpen http://127.0.0.1:3000 and sign in with OPEN_FLOW_TOKEN. Flows and run
history are stored in the Docker volume. The operator token also authenticates CLI and API access.
Prefer a prebuilt image? Follow the GHCR image guide and select
an explicit release tag during beta. The latest tag is reserved for stable releases.
Connector actions and LLM Tasks need their corresponding services configured. The Server does not silently fall back to another provider. Before exposing a deployment publicly, follow the deployment guide and hardening checklist.
Open Flow is Apache-2.0 licensed. The repository includes the workflow contracts and runtime, Workbench, CLI command package, and self-hosted Server. The versioned Control API keeps clients independent of the deployment's storage and execution implementation.
Use the versions of Bun and Node.js pinned in .bun-version and .node-version:
bun install --frozen-lockfile
bun run devThe development Workbench opens at http://localhost:5174. The first run
creates an operator token in apps/server/.open-flow-dev/operator-token. See
CONTRIBUTING.md for configuration, checks, and the component Lab.
| Learn more | Reference |
|---|---|
| Product model and runtime boundaries | Architecture |
| Integrate your own clients | Control API · MCP |
| Run and operate a deployment | Server · Docker · Fly.io |
| Connect apps and an AI coding agent | OpenConnector + oo CLI |
| Browse all documentation | Documentation index |
- OpenConnector: open-source connector gateway that provides the Provider catalog, credentials, and Action execution behind Connector-backed nodes.
- oo CLI: local agent toolkit that hosts the
oo flowcommand built from this repository.
Issues and pull requests are welcome. Read CONTRIBUTING.md for the development setup, repository rules, and checks to run before opening a pull request. Participation in this project is governed by CODE_OF_CONDUCT.md.
Please report vulnerabilities privately through GitHub private vulnerability reporting rather than public issues. SECURITY.md describes the supported versions, the disclosure process, what is in scope, and how to harden a self-hosted deployment.
Apache-2.0. Third-party notices for bundled assets are listed in NOTICE.
Thanks to everyone who has helped build Open Flow. Want to join them? See CONTRIBUTING.md.



