Channels are the interconnection layer in Synap. They link data, users, AI agents, and external services into a unified interaction surface. Every conversation, comment thread, and import stream is a channel.
A channel is a persistent stream of messages associated with a specific context. That context might be an AI conversation, a set of comments on an entity, a document review, or a direct message between users. Channels give structure to communication the same way entities give structure to data and views give structure to display.
Together, entities, views, and channels form the Product Triptych — the three pillars of Synap's data architecture. Entities hold the data, views present it, and channels connect it with people and AI.
The primary way you talk to AI in Synap. An AI thread is a persistent conversation where the AI has full access to your workspace context — entities, views, profiles, and previous conversation history. AI threads trigger the intelligence service and can result in entity creation, property updates, searches, and more. Every AI thread maintains session-scoped memory with automatic compaction, keeping context sharp over long conversations.
A focused sub-conversation that forks from an AI thread. When a conversation goes in a new direction, you branch it rather than cluttering the main thread. Branches are handled by PersonaAgents — domain-specific experts that work within a narrower scope. The branch tree view lets you visualize how conversations have evolved and forked over time.
A comment thread attached directly to an entity. Discuss a task, annotate a bookmark, leave notes on a contact. Entity comments do not trigger AI — they are purely human communication attached to a specific data point. Other users in the workspace can see and reply to entity comments.
A channel for collaborative review of a document entity. Multiple users can leave comments, suggest changes, and discuss the document's content in a threaded format. Designed for async review workflows where a document needs input from several people before being finalized.
A discussion channel attached to a specific view. When you want to talk about the data a view shows — discuss why tasks are piling up in a kanban column, debate priorities in a table view, or plan changes to a dashboard layout — view discussions keep that conversation connected to the view itself.
User-to-user messaging within a workspace. Direct channels are private conversations between two workspace members. They do not trigger AI processing and are not visible to other members.
A channel that represents data flowing in from an external connector — Google Calendar events, GitHub issues, email forwards. Each connector sync creates messages in its import channel, giving you a chronological record of everything that has been pulled into your pod from external services.
Only two channel types trigger the intelligence service: ai_thread and branch. All other channel types are purely for human communication or data import logging. This boundary is intentional — it keeps AI costs predictable and ensures that AI only acts when you explicitly engage it.
Every user in every workspace gets a personal channel — a permanent private space that persists across sessions. Your personal channel is where quick AI interactions happen: capture a thought, ask a question, run a command. It is always available in the sidebar and never shared with other users.
For architecture details and implementation specifics, see the Channels concept and Channels architecture in the technical docs.