# FaPost > Conversational assistants and flow automation platform. - [Introduction](https://docs.fapost.in/index.md): What FaPost Core is, and who each part of this documentation is for. - [Core concepts](https://docs.fapost.in/using/concepts.md): Tenants, assistants, channels, contacts, conversations, flows, and sessions. - [Quickstart](https://docs.fapost.in/using/quickstart.md): Take an assistant from empty to answering its first message. - [Assistants](https://docs.fapost.in/using/assistants.md): Creating an assistant and configuring how it behaves. - [Channels](https://docs.fapost.in/using/channels.md): Connecting messaging providers and routing their traffic. - [Flow Builder](https://docs.fapost.in/using/flow-builder/overview.md): The canvas, nodes, and how a conversation moves through a flow. - [Node catalogue](https://docs.fapost.in/using/flow-builder/node-catalogue.md): Every node available on the canvas and what it is for. - [Variables and state](https://docs.fapost.in/using/flow-builder/variables-and-state.md): Reading and writing values that persist across a session. - [Conditions and branching](https://docs.fapost.in/using/flow-builder/conditions.md): Sending a conversation down different paths. - [Publishing and versions](https://docs.fapost.in/using/flow-builder/publishing.md): How a draft becomes the flow your contacts actually run. - [Contacts](https://docs.fapost.in/using/contacts.md): Contact records, attributes, and where they come from. - [Segments](https://docs.fapost.in/using/segments.md): Grouping contacts by attribute-based conditions. - [Broadcasts](https://docs.fapost.in/using/broadcasts.md): Sending a message to many contacts at once. - [Conversations](https://docs.fapost.in/using/conversations.md): Reading conversation history and message logs. - [Staff and roles](https://docs.fapost.in/using/staff-and-roles.md): Inviting people and controlling what they can do. - [Media](https://docs.fapost.in/using/media.md): Uploading and reusing images, documents, and other assets. - [Glossary](https://docs.fapost.in/using/glossary.md): Terms used throughout FaPost, in one place. - [Overview](https://docs.fapost.in/self-hosting/overview.md): Choosing an installation method and what an installation contains. - [Requirements](https://docs.fapost.in/self-hosting/requirements.md): What a host must provide before you begin. - [Docker Compose](https://docs.fapost.in/self-hosting/docker-compose.md): The container installation path, start to finish. - [Bare metal](https://docs.fapost.in/self-hosting/bare-metal.md): Installing directly onto a host without containers. - [Configuration](https://docs.fapost.in/self-hosting/configuration.md): Environment variables, database connections, and Redis. - [Services](https://docs.fapost.in/self-hosting/services.md): Horizon and the scheduler, without which nothing is processed. - [Webhook gateway](https://docs.fapost.in/self-hosting/gateway.md): The optional Go ingress in front of webhook traffic. - [Tenancy operations](https://docs.fapost.in/self-hosting/tenancy.md): Creating tenants and running landlord and tenant migrations. - [Upgrading and rollback](https://docs.fapost.in/self-hosting/upgrading.md): Release order, migrations, and how to go back. - [Observability](https://docs.fapost.in/self-hosting/observability.md): Logs, queue health, and provider backpressure. - [Troubleshooting](https://docs.fapost.in/self-hosting/troubleshooting.md): Symptoms, likely causes, and where to look first. - [Extension model](https://docs.fapost.in/extending/extension-model.md): How Features, Solutions, and Plugins differ. - [Choosing an extension type](https://docs.fapost.in/extending/choosing-an-extension-type.md): A decision guide for where your code belongs. - [Development setup](https://docs.fapost.in/extending/development-setup.md): Working on packages locally against a Core checkout. - [Building a Solution](https://docs.fapost.in/extending/solutions.md): Composer-distributed extensions that ship with the application. - [Building a Plugin](https://docs.fapost.in/extending/plugins.md): Extensions installed and enabled at runtime. - [Handler contract](https://docs.fapost.in/extending/flow-nodes/handler-contract.md): What a node handler receives and what it must return. - [Versioning and compatibility](https://docs.fapost.in/extending/flow-nodes/versioning.md): Changing a node without breaking published flows. - [State namespaces](https://docs.fapost.in/extending/flow-nodes/state-namespaces.md): The system, flow, rag, module, contact, and call key spaces. - [Idempotency and retries](https://docs.fapost.in/extending/flow-nodes/idempotency.md): Making a handler safe to run more than once. - [Builder UI extensions](https://docs.fapost.in/extending/builder-ui.md): Schema-driven configuration and when an override is justified. - [Channel drivers](https://docs.fapost.in/extending/channel-drivers.md): Adding support for a new messaging provider. - [Data accessors](https://docs.fapost.in/extending/data-accessors.md): Exposing your data to flows through the module namespace. - [Multilingual extensions](https://docs.fapost.in/extending/multilingual.md): Translating what your extension shows to end users. - [Testing your extension](https://docs.fapost.in/extending/testing.md): The checks an extension is expected to pass. - [Stability policy](https://docs.fapost.in/extending/stability-policy.md): What Core promises not to break, and what it does not. - [Local setup](https://docs.fapost.in/contributing/local-setup.md): Getting a Core checkout running on your machine. - [Repository layout](https://docs.fapost.in/contributing/repo-layout.md): Where code lives and which boundaries it must respect. - [Coding conventions](https://docs.fapost.in/contributing/conventions.md): The style and idioms Core code follows. - [Runtime architecture](https://docs.fapost.in/contributing/runtime.md): How a message travels from webhook to reply. - [Tenant-aware execution](https://docs.fapost.in/contributing/tenant-aware-execution.md): Why tenant context is required and how it is carried. - [Migration isolation](https://docs.fapost.in/contributing/migration-isolation.md): Why migrations must not depend on runtime state. - [Long-lived worker safety](https://docs.fapost.in/contributing/worker-safety.md): Why state must not survive between jobs, and how to keep it from doing so. - [ID strategy](https://docs.fapost.in/contributing/id-strategy.md): ULID primary keys and how they are stored. - [Dependency direction](https://docs.fapost.in/contributing/dependency-direction.md): What foundation and support may depend on. - [Architecture decisions](https://docs.fapost.in/contributing/architecture-decisions.md): The decisions that constrain how Core is built. - [Testing and architecture checks](https://docs.fapost.in/contributing/testing.md): PHPUnit suites and the PHPat rules that guard boundaries. - [Pull requests](https://docs.fapost.in/contributing/pull-requests.md): How a change gets reviewed and merged. - [Foundation contracts](https://docs.fapost.in/reference/foundation-contracts.md): The interfaces and DTOs extensions are built against. - [Flow node reference](https://docs.fapost.in/reference/flow-nodes.md): Type, version, and category for each node Core registers. - [Builder config schema](https://docs.fapost.in/reference/builder-config-schema.md): The schema the Builder renderer understands. - [State key namespaces](https://docs.fapost.in/reference/state-namespaces.md): Reserved key spaces and their access rules. - [Queues](https://docs.fapost.in/reference/queues.md): Every queue, what belongs on it, and why they stay separate. - [Events](https://docs.fapost.in/reference/events.md): Flow-level events, and the state of the platform event surface. - [Environment variables](https://docs.fapost.in/reference/environment-variables.md): The variables Core reads beyond the Laravel defaults. - [Artisan commands](https://docs.fapost.in/reference/artisan-commands.md): Commands Core adds, and what they do.