Skip to content
ChatfuelSDK

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

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.

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.

On this page