Everything inside the dashed boundary runs on one machine you control · last reviewed 2026-08-08
The spine runs across the centre: a message lands on the bus, the Dispatcher works out who it is for, an agent takes a turn, and the AI Gateway is the single door to a model. Everything else sits next to what it connects to. The Database is the foundation underneath. Pick a view below to follow one route at a time, because there is more than one and pretending otherwise would be the easiest way to mislead you.
VIEW
Following an email. Choose the Email route view to light this path:
The Email adapter polls the mailbox. Nothing is pushed to the machine; it dials out.
Communication records the message in Core, which writes a row on the bus. Arrival and handling are separate steps.
Intake notices the new row and resolves who it is for. It does not launch anything.
The Runner claims that agent, fail closed, and wakes it. Two wakes for the same agent cannot run at once.
The agent takes its turn with the tools it was granted, and reaches a model through the one AI Gateway.
The reply is written back as a row. The Outbound Sender is the only thing that transmits, so every outgoing message exists as a record first.
Solid lines always happen. Dashed lines happen when needed: Rules apply on every turn, while Memory, Documents and Tools are pulled only when the work calls for them, and heavy jobs become a Planner task for the back office.
Not one path, four. Conversational channels take the fast path straight to the Dispatcher and answer synchronously, in seconds rather than the wake loop's tens of seconds. Mail and internal traffic take the wake loop above. Web chat is synchronous through the web server. Workflows are driven by the Orchestrator as a sequence of steps rather than a single agent turn. They differ in how an agent is invoked, not in where anything is stored: every one of them lands on the same bus and the same event log.
What is drawn in dashes is not built. Boxes marked planned have no adapter behind them today. They are on the map because leaving them off would be the more flattering choice and the less useful one. What is and is not connected is listed in full on the integrations page, and what the system does not do at all is on limits.