Skip to content
ChatfuelSDK

Quickstart

One command, a Chatfuel token, and the app running on your machine.

Node 20.18.1 or newer is the only prerequisite. There is nothing to install first and nothing to clone — the wizard installs the app's dependencies itself, and offers to install a coding agent if you do not have one.

Check your Node

node --version

Anything below 20.18.1 and the launcher stops before it loads anything, printing the version you have and the install command for your platform.

Run the wizard

npx @chatfuel/wizard

Answer the four questions

Which modules you want. Thirteen exist. core comes with all of them; the other twelve are livechat, contacts, deals, bookings, knowledge-base, automations, coworker, flow-builder, ads-optimization, publishing, auth and admin — the same ids --modules takes. auth and admin are offered in the picker but never picked for you: both need credentials the wizard cannot invent, so a --yes run leaves them out unless you name them.

A Chatfuel token. Take one from the token page. The wizard checks it against the API before going any further, and writes it to .env with mode 0600.

Which workspace the app opens on. Not which bot. The app lists your workspaces and their bots itself at runtime, so a bot you create next month is in the picker without a re-run.

What the app is called, and its logo. The name is the browser tab, the top bar and the sign-in screen; the image becomes the tab icon and the mark beside it. VITE_APP_LOGO points at a file in public/, so replacing logo.svg later is all a change of mark takes. Skip either and the app still ships with a name and a real logo.

Then it writes the project, installs the dependencies, offers to deploy, and installs one skill per module where your coding agent reads them.

Start it

npm run dev

The app is on localhost:5173.

Check that it works

/ opens the first installed module, with the rest grouped in the sidebar beside it. With exactly one module installed there is no sidebar at all.

In the top bar, a picker listing every workspace the token's account owns and the bots inside each. That list is read live from the API, so seeing it is proof the token reached Chatfuel through the proxy. No bot is named anywhere in the code.

Click into a second module and watch the address bar. It reads /<moduleId>, and a module with more than one screen adds its own segment — /contacts/fields, /bookings/calendar?mode=week. Reload that address: these are real paths, not fragments, and the dev server answers an unknown one with index.html, so it comes back on the same screen.

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 the proxy attaches the token server-side.

Where to go next

Other ways to run the wizard:

npx @chatfuel/wizard --embed    # add the modules to a project you already have
npx @chatfuel/wizard doctor     # what the wizard can see before it asks anything
npx @chatfuel/wizard auth       # replace the stored Chatfuel token

On this page