Skip to content

Introduction for Developers

Introduction for Developers

flow8 is a workflow automation platform with a code-friendly architecture. As a developer you can build complex integrations, automate multi-step business processes, and embed AI into any workflow — without managing infrastructure for each integration.

The Programming Model

Think of flow8 in three layers:

Flows are directed acyclic graphs (DAGs) of execution steps. Each flow has a name, category, and an ordered set of flowlets (steps). Flows are stored as data in MongoDB — they are not code you deploy.

Modules are the executable units. flow8 ships 135+ built-in modules covering HTTP calls, AI, document processing, email, databases, and 15+ external service integrations. Each module takes typed arguments (which can be dynamic expressions) and returns typed output.

Plays are execution instances. Every time a flow runs, a play is created with its own state, arguments, and a complete log of every step’s input and output.

What You Can Build

  • REST API integrations that chain multiple services in sequence or parallel
  • AI pipelines that process documents, extract structured data, and route results
  • Event-driven workflows triggered by webhooks, emails, or scheduled cron jobs
  • Custom modules in Go when built-ins don’t cover your use case
  • AI agent tools via the MCP (Model Context Protocol) integration

Key Concepts at a Glance

ConceptWhat It Is
FlowA reusable workflow definition (DAG of steps)
FlowletOne step within a flow (a module invocation with args)
PlayOne execution of a flow (has full input/output history)
ModuleA unit of work (HTTP call, AI query, file operation, etc.)
ExpressionA dynamic value in a flowlet’s args ({{ $prev.result }})
KV StoreScoped key-value state shared across executions
ChannelAn HTTP/WebSocket/MCP endpoint that triggers flows
ComponentA swappable runtime implementation (e.g., which AI provider to use)

API Access

All platform operations are available via a REST API at http://host:4454/api/. Authentication is via session cookie or JWT Bearer token (API key). The full API reference is in this documentation tree.

Getting Help

  • REST API: see the API Reference section
  • Module behavior: see the Module Reference section
  • Custom module development: see the Custom Modules section
  • Real-time execution monitoring: use the WebSocket API