Data model
Understand the main tenant, configuration, Knowledge, and Conversation relationships.
Tenant ownership
An Organization is the primary tenant. Members join an Organization with one Role.
Organization-owned records include Assistants, Teammates, Memories, Help Desks, provider connections, API keys, Skills, Improvements, Goals, Alerts, and usage records.
Teammate records include Projects, memory documents, Routines, and group threads. A group thread keeps its own messages, not Conversations.
Assistant configuration
A Publication stores an immutable Assistant configuration snapshot. Draft records remain editable after Publication.
A Flow stores one trigger, condition configuration, and ordered actions. Runtime validation enforces valid trigger and action pairs.
Knowledge ownership
Knowledge belongs to the Organization. A Collection is a container, not an owner, and it does not decide which Assistant answers from a Source.
The Assistant-to-Source link does. Retrieval reads the link set, so an unlinked Source answers nobody. The link also carries per-Assistant Direct access.
Deleting an Assistant drops its links and leaves every Source in place.
Conversation data
A Conversation belongs to one Assistant or to one Teammate, never to both. An Assistant Conversation tracks one Visitor session.
A Teammate Conversation is an internal chat of a Member. It does not appear in Inbox or in Insights. Messages store typed parts for text, citations, buttons, traces, and other replies.
Session state also records proactive Notification delivery. A Notification does not create a Visitor message.
Long-term Memories belong to one Organization and verified SSO subject. They store a durable fact, embedding, timestamps, and source Conversation provenance.
The runtime caps each subject at 200 memories. Deletion removes a fact from future prompt injection and memory searches.
Programmatic credentials
An API-key record belongs to an Organization and stores a secret hash, Role, creator, and revocation state. The plaintext secret is not stored.
Isolation
Authenticated console access uses row-level security where applicable. Service-role paths must add an explicit Organization boundary.
API v1 uses the Organization resolved from the API key. It does not accept a caller-selected Organization as authority.