ClawFlow
ClawFlow is the automation layer on top of Clawnify agents. A flow is a directed graph of steps that executes in response to a trigger — an inbound webhook, a cron schedule, a channel message, or a manual run — and can call tools, make LLM requests, branch on conditions, and send messages back through any connected channel.
Trigger types
- Webhook — flows can be reached via a per-flow URL surfaced in the dashboard. Works with third-party integrations (Slack events, GitHub webhooks, inbound messaging) via the Clawnify webhook router.
- Cron — recurring schedules defined per-flow, down to minute granularity.
- Channel event — new message, reaction, or mention on any channel the agent is connected to.
- Manual — run from the dashboard or CLI with arbitrary input.
Where it runs
ClawFlow runs on your Clawnify runtime alongside the agent and can call any of the agent’s tools — the browser, file I/O, integrations, and the Clawnify MCP server. Inbound webhook URLs are surfaced in the dashboard once a flow is published.
Authoring flows
The easiest way to get a flow is to ask your agent for one in chat (“every Monday, pull new signups and post a summary”). To author or maintain one directly, use the CLI:
clawnify flows list # what's on the server + published state
clawnify flows edit my-flow # open the draft in your editor (or --file flow.json)
clawnify flows publish my-flow # cut a new live version
A flow file starts as a draft. Publishing stamps an immutable, numbered version, and from then on runs and triggers always execute the latest published one — so editing the draft never changes what’s live until you publish again. (Before a flow’s first publish there’s nothing else to run, so it executes the draft as-is.) Definitions are validated on save and on publish, with per-node error messages when something’s off. Flows belong to the server’s main agent.
The plugin source lives at clawnify/clawflow.