Skip to content
ChatfuelSDK

Copilot

Your own assistant inside the dashboard: it answers from the help docs, asks the app what you are looking at, opens the page you were after with an undo behind it, and stops for your approval before it changes a thing in the account.

The copilot inside the app you sell

It reads the page your user is standing on and moves the app to the one they asked for, so “where do I set that up?” ends with the page open. It ships under your name, in your product, as one more thing you charge for.

Answers from the help docs

Chatfuel’s own documentation, searched from inside the thread instead of in another tab.

Reads a page you point it at

It fetches a URL and reads what is there, so an answer can be about your site and not only about the product.

Calls the account’s own tools

Listing the catalogue, adding a service, booking an appointment — the same operations the dashboard runs, named in words rather than as tool ids.

Asks what you are looking at

The module you are on, the view, the filter, what is open — answered by the app itself, in about ten seconds.

Opens the page, with an undo

It sends a page name, never an address. The app resolves the name, moves, and keeps the address it left.

Waits before it changes anything

A write stops as an approval batch that says what will exist afterwards, with the full arguments one click away.

Reads run, writes wait

Reading the catalogue or the calendar asks nothing of you. Creating, changing or deleting stops on one button, and the batch says what will exist afterwards before you press it.

Navigation needs no gate

Every page it opens carries the address it came from, so the way back is one click. That is the whole reason moving is the one thing it never stops to ask about.

A run reads as one answer

One question on a live bot came back as five messages: a skill lookup, two reads, a navigation, the answer. The thread draws it as one run you can open.

It says what it cannot read

Images and documents go through, fifteen to a message. A video is refused in the browser — on this API a file it cannot read does not fail the send, it jams the thread until somebody clears it.

Ask, approve, undo

The whole interaction is those three moments. Reads and navigation skip the middle one, which is the point: the gate is where it matters and nowhere else.

01

Ask

You type it in the thread. It answers in markdown, and when it needs to know where you are it asks the app and has about ten seconds to hear back.

02

Approve

A write stops the run as one batch: one button for all of it, nothing runs until you answer, and nothing expires. Reply with a sentence instead and that rejects it, with what you typed as the reason.

03

Undo

Opening a page never stops for approval, because it is reversible. The thread keeps the address you were on and hands it back — and a page this app does not have is answered as a page this app does not have.

What it can do, and what it asks first

Tools arrive as bare ids and the module names them twice — as a step that has run, and as a row in the approval card. Both readings come from one table, and the gate is decided by the leading verb.

NameWhat it doesNeeds your approval
Your accountFifteen verbs read, eleven destroy, everything else writes.
List catalogueWhat the bot sells. It ran on a live bot with no approval request at all — the gate is for writes.
List specialistsWho can be booked. Another read, and another call that asked for nothing.
Create serviceAdds a service to the bot. This is the batch that arrived live: a title, a duration and a price, and a button under them.
Create bookingPuts an appointment on the calendar.
Cancel, delete, archiveEleven verbs mark a call destructive, and the approval card colours itself for them before you press anything.
Anything it has not seenA verb outside those two lists counts as a write, and so does a tool id the module does not recognise — the safe direction to be wrong in.
The appAddressed to the interface, not to the account.
Open a pageMoves the dashboard to a page it names. It never hands over an address, so the app resolves the name itself and builds the URL.
Offer a quick replyPuts the choices under the composer, one action per option. Picking one sends that text back.
Built inWhat it reads without touching your account.
Check what is on your screenAsks the app what you are looking at — module, view, filter, what is open — and waits about ten seconds for the answer.
Search the help docsChatfuel’s own documentation, from inside the thread.
Read a web pageFetches a URL you gave it and reads what is there.
Read its own instructionsThe assistant loading how it is meant to handle bookings, or analytics, or setting up a catalogue. Undocumented in the protocol, and seen on a live bot.

Sixteen names it can open a page by

A navigation names a page, never a URL. Every page already answers to its own name and its id; these sixteen are the names the assistant learned in Chatfuel’s dashboard, mapped onto the pages this app actually has. A name that is on neither list is not an error — it is a page this product does not include, and the thread says so.

NameOpens
Live chatInbox
InboxInbox
ChatsInbox
ConversationsInbox
LeadsDeals
PipelineDeals
CalendarBookings
AppointmentsBookings
FlowsFlow Builder
Flow builderFlow Builder
CatalogKnowledge Base
FAQKnowledge Base
Business infoKnowledge Base
Channel settingsAI Agent
AI setupAI Agent
AssistantCopilot

What it holds

The API’s own ceilings and the module’s own timers, named rather than papered over.

Conversations per page30
Messages per page50
Files in one message15
One file50 MB
A voice noteOne file, no text
Answering what is on your screenAbout 10 seconds
Agent runsAbout 100 a minute, per account
Silence before it refetches15 seconds
Before a quiet run is called stuck2 minutes
A chat name52 characters

FAQs

No. Every write stops as an approval batch — one button for the whole batch, nothing in it runs until you answer, and it does not expire. Reads are the other half of that rule: listing your catalogue or your specialists ran on a live bot with no approval request at all.

Knowledge Base

One command, and the assistant is in your app

npx @chatfuel/wizard