Documentation

flowwork is a Postgres-backed, durable, agent-native workflow engine that ships as one static binary. You author workflows in a flat JavaScript DSL and drive them with flowctl — steps run, and when a run needs the outside world (a form, a webhook, an API call, an AI agent) it parks in Postgres and resumes when the event arrives.

It's built to blend three paths in a single workflow: the deterministic (steps, branches, and retries that run the same way every time), the generative (an LLM call as just another step), and the agentic (hand a step to a general agent like Claude Code or Codex to get the work done). Author once, then mix hard logic, model inference, and agent judgement exactly where each fits.

Start here

Browse by topic

Authoring workflows

The JavaScript DSL: steps, control flow, forms, triggers, retries, and outcomes.

Connectors & integrations

Call external services — HTTP, LLMs, and any MCP server — from a workflow step.

AI agents & Claude Code

The agent() step and bidirectional human-in-the-loop over Claude Code channels.

Operating flowwork

Install, configure, deploy, and understand licensing, machines, and limits.

New to flowwork? Start with the Quickstart, then the approval tutorial. The Cookbook collects worked workflows to adapt, and flowctl --help lists every command.