Octov0.7.0

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 those messages into flows, and each flow runs its messages through an ordered chain of blocks. Around the runtime sit a visual editor for designing flows and a Kubernetes-native platform for deploying and operating them.

Why Octo exists

AI moved the ceiling on what one person can build. Ideas that were once too ambitious for a personal project are suddenly within reach — and integration, the unglamorous work of making systems talk to each other, is exactly the kind of thing that used to be too big to take on alone.

So Octo asks a question: what would an integration platform look like if it were born today? AI-native from the first commit instead of retrofitted. Cloud-native by default instead of ported. Open in spirit, not just in license.

That means free in every sense. Free to run — no fee, no seat count, no license key, no call with sales. Free to learn from — the whole platform is on GitHub, and it is meant to be read. And free from the pressure that slowly bends a product away from its users: there are no paid cores, no enterprise tier, and no capability held back to give a commercial story something to sell. What is here is the whole thing.

Free as in freedom.

What that means in practice

Integration logic in Octo is declarative: you describe connectors, flows, and processors in a readable YAML file, and the runtime carries it. The same file runs unchanged from the octo CLI on your laptop, in the Docker-based visual editor, and as a Kubernetes workload on the platform — development, testing, and production share one definition. AI is a first-class building block: LLM connectors, agents, AI-assisted mapping, and an MCP server for authoring flows with an assistant are part of the runtime, not bolted on. 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 a single log block whose message is also a CEL expression, so it can read the message body. Run it with octo run --config hello.yaml.

Explore the docs

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

On this page