This documentation is being written. Self-hosting, Developers and Reference
are current and describe the platform as it stands. The user guide is not
written yet — it covers the admin screens and the flow canvas, and describing
an interface from the outside is how documentation drifts from the product. It
follows once each screen can be walked through.
What is a flow?
What is a flow?
A flow is a directed graph, stored as JSON, that describes a conversation. Each
node does one thing — send a message, wait for a reply, branch on a condition,
call an HTTP endpoint, query a knowledge base — and edges connect a node’s
outcomes to whatever comes next.At runtime an engine walks that graph for one contact, resolving each node’s
handler by the pair
(type, version) and keeping the conversation’s state
between steps. A node handler never decides which node runs next: it reports
which outcome occurred, and the graph decides where that leads.That separation is what makes a flow editable by someone who does not write
code, and a node reusable in flows its author never saw.What you can build
Most installations start as a bot that answers questions on one channel. The platform is not limited to that: an assistant can qualify leads, run a multi-step intake form, notify a team, look up records in another system through an HTTP call, or broadcast to a segment of contacts on a schedule. Tenancy is not a layer bolted on top — it is a coordinate of the runtime. One installation serves many independent organisations, each with its own assistants, contacts, channels, and data, isolated in its own schema.Where to go
User guide
Build an assistant, design flows, manage contacts and broadcasts. For the
people who run it day to day.
Self-hosting
Install, run, and upgrade FaPost on your own infrastructure. For whoever
keeps the servers.
Developers
Build a Solution or Plugin, or work on Core itself — including the local
development environment and what the platform is made of.
Reference
Contracts, schemas, queues, commands.