Introduction
Chatfuel SDK scaffolds an app of your own on Chatfuel’s infrastructure, in one command, as source you keep.
The wizard runs once. After it, the CLI is gone and what you have is an ordinary React + Vite
project you own — no framework of ours between you and your code, and nothing in your
package.json pointing back at our repository. The design system, the API client and the proxy
are copied in as source instead. That is the whole trade: a component you disagree with is a
file you can edit, and upgrades are a re-run of the wizard or a diff you apply yourself, not
npm update.
What it writes is an app wired to your Chatfuel workspace — an operator inbox, a CRM, deals, bookings, everything the AI agent knows, a flow builder. You choose which of those you want before anything is written to disk. The wizard is MIT, and so is the app it leaves behind.
Three ways in
Run the command
npx @chatfuel/wizard, four questions, and the app running on your machine.
Add it to a project you already have
--embed copies the modules into src/chatfuel/ instead of writing a new app.
Hand it to your coding agent
The wizard installs one skill per module, then the agent does the next change.
That third one is the point of the run rather than a bonus. The wizard installs a skill per
module — .claude/skills/chatfuel-<id>/ for Claude Code, .agents/skills/chatfuel-<id>/ for
Codex CLI — and writes the instructions file each of them reads on startup, CLAUDE.md or
AGENTS.md. Each skill carries the operations of that module and the edges of the API behind
it, which is why "add a column to the deals table" is a sentence you can type rather than a file
you have to find. If you want to start from the agent instead of from the terminal, this site
serves the same entry point as a skill at /SKILL.md.
What is in it
Thirteen modules. core is installed with all of them and has no interface of its own — it is
the transport, the error envelope, the pagination and the proxy spec. The other twelve are each
a directory under src/modules/<id>/ in the app you end up with, and each adds a surface to it
— except sign-in, which adds no page of its own and instead decides who may reach the others.
- AI AgentAI replies on every channel
- Flow BuilderVisual editor for chat flows
- Knowledge BaseEverything the AI knows
- CopilotAI copilot inside your app
- InboxShared inbox for your team
- ContactsCRM for your audience
- DealsKanban board for sales
- BookingsCalendar for appointments
- PublishingInstagram posts and Reels
- Ads OptimizationAd conversions back to Meta
- AccountsSign-up for your customers
- AdminOperator panel for the account
Read how it works for the argument, what the wizard writes for the tree it leaves on disk, and deploy for putting it in production.
A Chatfuel token can read and change every bot in an account, so it never reaches the browser.
Calls go to a same-origin /chatfuel/* path and a proxy attaches the token server-side.