Claude Code and FlowRunner
Claude Code builds the flow through FlowRunner Prompt to Flow, and FlowRunner runs it for the whole team, with triggers, approvals that wait for people, and a record of every run.
Add FlowRunner when
- The automation should keep running when your laptop is closed and your session has ended
- Someone other than you approves a step, in Slack, by email, on WhatsApp, by phone, or in a Form
- A business event starts the work: a new ticket, an invoice, a CRM change
- Teammates need to see the runs, read the logic, and change it without your terminal
- You want Claude Code to build and fix the automation, not to be the place it runs
Claude Code on its own is enough when
- The work is in your codebase: features, bug fixes, tests, reviews, pull requests
- You're the one approving each step, in the session
- A scheduled task on your own account, started by a schedule, an API call, or a GitHub event, covers it
- Nobody else needs the run history
TL;DR
- Claude Code builds the automation and FlowRunner runs it. Connect FlowRunner Prompt to Flow, describe the flow in a prompt, and Claude Code builds it in your FlowRunner workspace. From then on FlowRunner runs it on its triggers and schedule, with approvals that wait for people and a record of every run, whether or not your session is open.
- Claude Code is Anthropic’s agentic coding tool. Keep using it for your codebase. FlowRunner doesn’t change any of that.
- Claude Code’s permission prompts are for you, the developer, about what Claude does. FlowRunner carries business approvals to people outside the session, by email, Slack, WhatsApp, phone, or a Form.
npx flowrunner init-claudeadds Claude Code agents that write FlowRunner custom extensions, so your own APIs become blocks the team can use.
What Claude Code is for
Claude Code is Anthropic’s agentic coding tool. In Anthropic’s words, it “reads your codebase, edits files, runs commands, and integrates with your development tools,” in the terminal, the IDE, the desktop app, and the browser. Developers use it to build features, fix bugs, write tests, and handle git and pull requests.
It’s also built to automate. claude -p runs it headless in CI with JSON output and exit codes. Hooks fire on events like a tool call, a notification, or the end of a turn, and an http hook POSTs the event’s JSON to any URL. Cloud scheduled tasks start on a schedule, an API call, or a GitHub event. It’s a full MCP client, so it can use tools from any MCP server, and claude mcp serve runs it as a server.
Human input is built in. In the default mode, Claude Code asks before it runs a shell command, edits a file, or fetches a page. Rules for what’s allowed, asked, or denied can be checked into the repo, and Claude Code enforces them itself, not the model. Headless runs can hand those decisions to a PermissionRequest hook or a --permission-prompt-tool.
Claude Code comes with Claude’s Pro ($20 a month), Max ($100), and Ultra ($200) plans and with Team and Enterprise seats, or it runs on an Anthropic API key.
What FlowRunner adds around it
Claude Code is where a developer works. Business processes need somewhere to run that doesn’t depend on that developer’s session or account. Claude Code’s cloud scheduled tasks, for example, belong to your individual claude.ai account and aren’t shared with teammates. A process the finance team relies on needs a home they can see too.
That’s what FlowRunner is. A flow is a set of blocks on a canvas, living in a workspace, and it brings what a business process needs:
- Triggers from 2,100+ integrations, and schedules. A new ticket, an invoice email, a row in a sheet, a deal changing stage, a webhook, or a schedule (once, every few minutes, daily, weekly, monthly, or cron) starts the run.
- Approvals that reach people outside the session. A flow sends the request by email, Slack, WhatsApp, phone, or a Form, with approve and reject choices, and pauses until the person answers. A run can wait up to 30 days on Free, Starter, and Growth, and up to a year on Professional and above.
- A record of every run. Each run is on the flow’s Instances tab with every step’s input and output, including who approved.
- Retries and error paths. HTTP Request blocks retry on
429and5XXwith exponential backoff, and Handle Error gives a failed step a recovery path. - A team, not a seat. Unlimited users on every plan. The people who own the process can read the canvas, open the runs, and change a step without a terminal.
- One execution per run. However many steps a run has and however long it waits, it counts once.
Claude Code can build those flows for you, which is where the two meet.
How they work together
The commands, a sample session, and the code are on Use Claude Code with FlowRunner.
Claude Code builds the flow. This is the main pairing. Add FlowRunner Prompt to Flow with claude mcp add --transport http flowrunner https://app.flowrunner.ai/mcp, sign in once, and describe the process in a prompt the way you’d brief a colleague: what starts it, what it does, who approves, what it sends back. Claude Code builds the flow in your workspace from the same blocks, with the same checks, as the flow editor. It sends you sign-in links for any accounts the flow needs, like Slack or Gmail, asks before making the flow live, and tells you what your program sends and gets back. Your teammates open the same flow on the canvas.
Claude Code writes the custom block. When a flow needs your own API, a private system, or an npm package, run npx flowrunner init-claude in a FlowRunner CLI project. It installs two Claude Code agents: one writes a custom extension (a JavaScript module) and the other writes its tests. Describe the service in a sentence, approve the edits, and deploy with npx flowrunner deploy. The new actions show up in the block palette for every flow in the workspace.
Claude Code operates the flow. With FlowRunner Prompt to Flow connected, Claude Code can start a run of a live flow with test data, read the run history (after asking you), and explain a failed run: which step failed, why, and whether the cause is in the flow or outside it. Ask it to fix the flow and it does, warning you first if the flow is live, since a live flow stops answering while it’s being changed. It can’t delete a flow; that stays with you.
A hook tells a person through FlowRunner. A Claude Code Notification or Stop hook of type http can POST to a FlowRunner flow through the Call Flow API, with your key in a header from an environment variable. The flow posts to your team’s Slack channel when a long run finishes or is waiting on a permission prompt. Each call is one execution.
A business event starts Claude Code. Claude Code’s cloud scheduled tasks can start from an HTTP POST to the task’s own endpoint with a bearer token. A flow that catches the event (a bug report in a form, a new issue in your tracker) can make that call from an HTTP Request block, with retries, and keep a record that it did.
When you don’t need FlowRunner
Plenty of what developers do with Claude Code has nothing to do with FlowRunner:
- The work is in your codebase. Features, refactors, tests, reviews, and pull requests are Claude Code’s home ground.
- You’re the approver and you’re in the session. Permission prompts and allow rules are exactly right for that.
- A scheduled task on your own account covers it. A nightly dependency check or a weekly report that only you read doesn’t need a shared workspace.
- CI already runs it.
claude -pin GitHub Actions or GitLab CI/CD, with the pipeline’s own logs, is enough for build-time jobs.
Add FlowRunner when the automation leaves your repo: it serves a business process, someone else approves a step, it starts in a business app, or other people need to see and change it.
Feature comparison
| Dimension | Claude Code on its own | Claude Code with FlowRunner |
|---|---|---|
| Building the automation | Code you write with Claude Code | A flow Claude Code builds through FlowRunner Prompt to Flow |
| Where it runs | Your machine, CI, or Anthropic’s cloud | A FlowRunner workspace, whether or not a session is open |
| Who can see and change it | You, and whoever reads the repo | Anyone in the workspace, on the canvas; unlimited users |
| Approvals | Permission prompts for the developer, about Claude’s own actions | Plus business approvals by email, Slack, WhatsApp, phone, or a Form |
| Waiting for a person | While the session is alive, or a cloud task’s pending prompt | Up to 30 days (Free to Growth) or a year (Professional and up) |
| What starts a run | A schedule, an API call, a GitHub event, or you | Any of 2,100+ integrations, a webhook, or a schedule |
| Run history | Your account’s task runs and session transcripts | Every run’s steps, inputs, and outputs, shared with the workspace |
| Your own APIs as steps | Code in the repo | Custom extensions written by init-claude agents |
| Fixing a failure | Claude Code reads logs you give it | Claude Code reads the run history through FlowRunner Prompt to Flow and fixes the flow |
| Price | Your Claude plan or API key | Plus FlowRunner: Free covers 100 executions a month; one execution per run |
Frequently asked questions
How does Claude Code build a FlowRunner flow?
Through FlowRunner Prompt to Flow, FlowRunner's MCP server. Add it with claude mcp add --transport http flowrunner https://app.flowrunner.ai/mcp, sign in with claude mcp login flowrunner, and describe the flow in a prompt. Claude Code builds it in your workspace from the same blocks, with the same checks, as the flow editor, and makes it live when you say so.
Does the flow need Claude Code to keep running?
No. Once a flow is live, FlowRunner runs it on its triggers and schedule whether or not anyone has a session open. Claude Code comes back in when you want to change the flow or find out why a run failed.
What can't Claude Code do in my FlowRunner account?
It can't delete a flow; you do that from the workspace's flow list. It can't create forms yet, or attach a flow to an AI agent as its tool; it tells you which of those to add in the flow editor. It asks your permission before it reads run history, and Claude Code's own permission prompts ask before each FlowRunner action unless you allow them.
Claude Code already asks for permission. Isn't that human-in-the-loop?
It is, for the developer in the session, about what Claude Code does on your machine or in your repo. A business approval is different: a finance lead approving a refund in Slack, a manager answering an email two days later. A FlowRunner flow sends that request by email, Slack, WhatsApp, phone, or a Form, waits up to 30 days on Free, Starter, and Growth or up to a year on Professional and above, and records the answer.
What is npx flowrunner init-claude?
It's a FlowRunner CLI command that installs two Claude Code agents in your project: one writes a FlowRunner custom extension (a JavaScript module, with npm packages if it needs them) and the other writes its tests. You describe the service in a sentence, Claude Code writes it, and the CLI deploys it, so your own API or private system becomes blocks in the flow editor. See the quick start in the docs.
What does it cost?
Claude Code comes with your Claude plan or API key. FlowRunner counts one execution per complete run, however many steps it has and however long it waits. The Free plan covers 100 executions a month with no card, Starter is $5 for 300 or $15 for 3,000, and Growth starts at $45 for 12,000. Every plan has every integration, human-in-the-loop, and unlimited users. New accounts get 14 days of Professional.
Ready to try it?
Start on the Free plan. No card required, and every new account gets 14 days of Professional.