Octo Documentation
An AI-native, cloud-native integration platform you can run anywhere.
Octo is an integration platform built around a small, concurrent Go runtime that executes flows defined in YAML. Connectors turn the outside world into messages, sources feed them into flows, and each flow runs its messages through an ordered chain of blocks. Around the runtime sit a visual editor and a Kubernetes-native platform for deploying and operating flows.
Why Octo exists
AI moved the ceiling on what one person can build, and integration used to be too big to take on alone. Octo is an integration platform designed as if it were born today: AI-native from the first commit, cloud-native by default, and open in spirit as well as in license. It is free to run (no fee, no seat count, no license key) and free to learn from (the whole platform is on GitHub), with no paid cores or enterprise tier.
Free as in freedom.
What that means in practice
You describe connectors, flows, and processors in a YAML file, and the same
file runs unchanged from the octo CLI on your laptop, in the Docker-based
visual editor, as a Kubernetes workload on the platform, and on infrastructure
of your own once you implement the platform API. LLM connectors,
agents, AI-assisted mapping, and an MCP server for authoring flows with an
assistant are part of the runtime. Octo is open source under the AGPL-3.0
license.
A flow in 30 seconds
A config declares connectors and flows. This one fires a cron source twice a minute and logs a greeting:
service:
name: hello-world
connectors:
- name: ticker
type: cron
flows:
- name: greet
source:
connector: ticker
type: cron
settings:
schedule: "0,30 * * * * *"
payload: '{"date": string(now)}'
process:
- type: log
settings:
message: '"hello world! the date is " + body.date'The source binds the flow to the ticker connector: a six-field cron schedule
fires at seconds 0 and 30 of every minute, and the payload CEL expression sets
each message's body. The process chain has one log block whose message is
also CEL, so it can read the body. Run it with octo run --config hello.yaml.
Get Octo
The desktop app is the shortest path: it bundles the runtime and the test runner, so you open a folder and start building — nothing else to install.
Octo Desktop for macOS
Apple Silicon. The visual editor as a native app, with the runtime inside.
Every other way
The Intel build, the CLI for macOS, Linux and Windows, Docker, and source.
Explore the docs
Getting Started
Install the CLI, run your first flow, and pick between the four ways to run Octo.
Core Concepts
Flows, connectors, blocks, expressions, state, and error handling: the runtime model.
Guides
Task-oriented recipes: REST APIs, databases, scheduled jobs, Slack bots, and more.
Testing
Unit-test flows with dolphin: mock what calls the world, assert what happened, and run the same file in CI.
AI
LLM providers, agents, AI mapping and routing, and authoring flows over MCP.
Reference
The flow file schema, every connector and block, CEL functions, and the CLI.
Runtime
The processing pipeline, running locally, clustering, and monitoring.
Standalone Editor
The visual editor — as a macOS app or in Docker: design, save, and run flows against files on disk.
Platform
The multi-user control plane: integrations, deployments, secrets, and logs.
Deployment
Stand up the platform on Kubernetes with Docker images, Helm, and Terraform.
Octo is licensed under the AGPL-3.0. See Licensing for what that means in practice.