Welcome to Flow Framework
IntroductionBuild once. Ship to every chat.
Flow Framework brings your product to Claude, ChatGPT, the terminal and messaging apps from one TypeScript codebase. Write the tools that call your APIs, add skills that explain your workflows, and use them across every interface.
Why we’re building Flow
Section titled “Why we’re building Flow”We’re building Flow for a chat-first world, where people use products by asking for what they need. “Move my booking to Saturday” should get it done—not send someone to a form.
Whether someone texts your business or asks their own assistant, your product should be there. Flow lets you build the tools and workflows once, then bring them wherever people chat.
Where do you want to ship?
Section titled “Where do you want to ship?”Serve your product as an MCP server. The assistant calls your tools with the user’s account.
A command lineGive people, scripts and coding agents a CLI over the same tools.
WhatsApp & iMessageRun an agent on WhatsApp, iMessage, Telegram, SMS or your own app.
Native pluginsPackage skills and an MCP connection for hosts that load plugins.
Start with a working project
Section titled “Start with a working project”The starter is a café assistant with tools, skills, an MCP server, a CLI, a messaging agent and tests. Replace the café’s operations with calls to your own product.
npx @flow-engineer/flow new my-agent --display-name "My agent"cd my-agentnpm installChoose how to try it:
npm run mcp# Connect the URL it prints in your MCP client.# Keep npm run mcp running in another terminal.npm run cli -- menu --jsonnpx @flow-engineer/flow link --channel telegramnpm start# Open the playground URL or the phone link.The quickstart walks through setup and shows what you should see at each step.
What you write once
Section titled “What you write once”Tools are typed functions that read data or take actions in your product: look up an order, move a booking, search a catalog. Skills explain how to use those tools to complete a task.
Flow turns those definitions into the interface each caller needs. You can customize the MCP descriptors, CLI commands, authentication and handlers, or add your own alongside the defaults.
Add a function, define its input and verify it from the CLI.
Teach a workflowWrite a skill that works in your agent and in MCP or plugin hosts.
Who runs the conversation?
Section titled “Who runs the conversation?”In Claude and ChatGPT, the host’s model decides when to call your MCP tools. A CLI command calls a tool directly. Neither needs a separate model key for Flow.
For a messaging agent, Flow runs the conversation with your chosen model. It handles double texts, acknowledgements, background tools, channel formatting, persistent history and reminders. People can add a detail or change their mind without waiting for a rigid question-and-answer flow.
Your tools and workflows are shared. A host’s private conversation history stays with that host; your tools receive the identity verified for their caller.
Test it. Ship it. See what happened.
Section titled “Test it. Ship it. See what happened.”Try the agent in the playground, check tools and CLI configuration with flow check,
and run scenario tests before a release. Test whether the right thing happened in your
product, not just whether the reply sounded helpful. Send events and traces to your own systems
or connect Flow’s hosted services.
The framework runs in your Node process under Apache-2.0. Flow hosting can run it for you; Flow Messaging supplies messaging channels through one API.
Follow the quickstartCreate a project and try your first interface.
Thanks, we read every comment.