Reference
Complete reference for connectors, blocks, the CLI, CEL, and the flow file format.
Every connector, source, and block type you can put in a flow file, plus the CLI, the CEL expression language, and the flow file schema.
Connectors are configured under connectors: and referenced by name. Sources bind a flow's entry point to a connector. Blocks are the steps of a flow's process chain.
Triggers and sources
| Type | Description | Reference |
|---|---|---|
http | HTTP server connector; routes requests into flows and returns the flow result. | HTTP |
cron | Trigger flows on a schedule. | Cron |
events | Broadcast pub/sub topics; every subscriber flow receives each event. | Events |
queue | Competing-consumer queues; one worker flow receives each message. | Queue |
Service connectors
| Type | Description | Reference |
|---|---|---|
http-client | Outbound HTTP with base URL, timeouts, and auth (used by the rest block). | HTTP |
database | SQL databases (used by the sql block). | Database |
mongodb | MongoDB document store (used by the mongodb-* blocks). | MongoDB |
logger | Structured logging (used by the log block). | Logger |
slack | Slack workspace connection for messaging and events. | Slack |
notion | Notion workspace connection for pages, data sources, and webhooks. | Notion |
llm-openai | OpenAI LLM provider for the AI blocks. | LLM Providers |
llm-anthropic | Anthropic LLM provider for the AI blocks. | LLM Providers |
llm-gemini | Google Gemini LLM provider for the AI blocks. | LLM Providers |
llm-openrouter | OpenRouter LLM provider for the AI blocks (many vendors' models behind one key). | LLM Providers |
Control-flow blocks
Composites configured with top-level YAML keys, not settings:. All on one page: Control Flow.
| Type | Description |
|---|---|
if | Conditional branching on a CEL boolean expression. |
switch | Multi-case routing; runs the first matching case or the default. |
fork | Scatter the message across parallel branches, then join and pass through. |
foreach | Sequentially iterate an array, running the body per element. |
enrich | Run a body flow on an isolated copy, then merge back only the named body/variables. |
validate | Assert CEL rules; reject and stop the flow when any fail. |
handle-errors | Run a process chain; on error, expose vars.error and run the error chain. |
cache-scope | Memoize the body flow's result in the runtime store, keyed by a CEL expression. |
Data blocks
Reshape the message payload and variables: Data.
| Type | Description |
|---|---|
set-payload | Replace the message body with the result of a CEL expression. |
set-variable | Store the result of a CEL expression in a named variable. |
delete-variable | Remove a named variable from the message. |
multi-transform | Apply an ordered list of additive CEL edits in one block. |
Storage blocks
The runtime key-value store: Storage.
| Type | Description |
|---|---|
object-read | Read an object from the runtime store into the body or a variable. |
object-write | Write an object to the runtime store under a key. |
object-delete | Delete an object from the runtime store by key. |
invalidate-cache | Evict a cache-scope entry by its key so the next run recomputes. |
Integration blocks
Cross-flow and cross-system glue: Integration.
| Type | Description |
|---|---|
flow-ref | Invoke another flow by name, synchronously or fire-and-forget. |
cli-run | Run a local program from an allow list; the events path watches its output line by line as it runs. |
jwt-validate | Verify a bearer JWT against an OIDC provider; reject with 401 on failure. |
template-resource | Render a declared template resource against the current message. |
AI blocks
LLM-driven blocks and the MCP server: AI Blocks.
| Type | Description |
|---|---|
ai-agent | Let an LLM call flow branches as tools in a loop to accomplish a task. |
ai-router | Route the message to a named branch the LLM chooses after inspecting it. |
ai-mapping | Reshape the body to a target shape described by a prompt and optional schema. |
ai-retry | On failure, let the LLM revise the message and retry the chain. |
clear-agent-memory | Erase an ai-agent conversation thread's stored memory. |
mcp-router | Turn a flow into a stateless MCP server behind an HTTP source. |
Connector-provided blocks
Blocks that operate through a configured connector, documented alongside it.
| Type | Description | Reference |
|---|---|---|
log | Emit a structured log line through a logger connector. | Logger |
rest | Call an HTTP API through an http-client connector. | HTTP |
sql | Run a SQL statement through a database connector. | Database |
publish-event | Publish a message to a broadcast topic. | Events |
queue-dispatch | Dispatch a message onto a competing-consumer queue. | Queue |
Slack
Slack source and blocks: Slack.
| Type | Description |
|---|---|
slack-event | Source: receive Slack events (mentions, messages, and more). |
slack-send-message | Send a message to a channel or thread. |
slack-update-message | Update a previously sent message. |
slack-add-reaction | Add an emoji reaction to a message. |
slack-lookup-user | Look up a Slack user. |
slack-verify-request | Verify a Slack request signature. |
Notion
Notion source and blocks: Notion.
| Type | Description |
|---|---|
notion-event | Source: receive Notion webhook events. |
notion-query-datasource | Query a Notion data source. |
notion-retrieve-page | Retrieve a page's properties. |
notion-retrieve-blocks | Retrieve a page's block content. |
notion-page-to-markdown | Render a page as Markdown. |
notion-verify-request | Verify a Notion webhook signature. |
Language and tooling
| Reference | Description |
|---|---|
| CLI | The octo command: run, invoke, eval, schema, and version. |
| CEL Expressions | The expression language: language basics, macros, and Octo extensions. |
| Flow File | The complete YAML schema for integration definition files. |
| Test File | The complete YAML schema for a _test.yaml suite, and the dolphin command. |