Octov0.11.7

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:

hello.yaml
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.

Explore the docs

Octo is licensed under the AGPL-3.0. See Licensing for what that means in practice.

On this page