Unclassified

Communications Layer

All conversations in one place — unified communication across every channel

All Conversations in One Place.

The Communications Layer unifies every channel of communication into a single surface. Messages, emails, meetings, announcements — all in one place, all linked to the work they relate to.

Design Principles

  1. Channel agnostic — Every communication channel is treated equally
  2. Work-linked — Every communication is linked to a work item
  3. Spine-fed — Communications flow into the Spine as events and evidence
  4. Searchable — Every communication is searchable across the organization
  5. Governed — Communications respect the same policies as all other data

Communication Channels

ChannelDescriptionSource
Team ChatInternal team messagingSlack, Teams, built-in
Customer CommunicationsExternal customer-facing messagesCRM, email, chat
Internal UpdatesStatus updates and announcementsBuilt-in, email
EmailEmail integration and managementGmail, Outlook
MeetingsMeeting notes, action items, follow-upsCalendar, video
AnnouncementsOrganization-wide communicationsBuilt-in
AI / Human Hand-offsTransitions between AI and human actorsTwin, Coworker

Communication Flow

Channel → Normalization → Spine Event → Context Enrichment → Routing → Delivery
  1. Channel — Communication arrives on any channel
  2. Normalization — Converted to canonical Spine event format
  3. Spine Event — Written to the Spine as an event with evidence
  4. Context Enrichment — Linked to relevant work items, entities, and context
  5. Routing — Directed to the appropriate recipient(s)
  6. Delivery — Delivered through the appropriate channel

Event Model

Every communication becomes a Spine event:

interface CommunicationEvent {
  id: string;
  tenantId: string;
  channel: 'team-chat' | 'customer' | 'email' | 'meeting' | 'announcement' | 'handoff';
  direction: 'inbound' | 'outbound' | 'internal';
  from: ActorRef;
  to: ActorRef[];
  subject?: string;
  body: string;
  attachments?: AttachmentRef[];
  workItemRef?: string;     // linked work item
  entityRef?: string;       // linked entity (account, contact, etc.)
  sentiment?: Sentiment;
  classification?: string;  // auto-classified category
  timestamp: string;
}

Integration Points

Inbound (Source Systems → Communications Layer)

SystemIntegration
Slack / TeamsReal-time message sync
Gmail / OutlookEmail ingestion
CRMCustomer communication logging
CalendarMeeting detection and notes

Outbound (Communications Layer → Target Systems)

SystemIntegration
Slack / TeamsMessage sending
Gmail / OutlookEmail composition
CRMCommunication logging
Notification ServicesAlert delivery

Search & Discovery

All communications are indexed and searchable:

FeatureDescription
Full-text searchSearch across all channels
Entity scopingFilter by account, contact, or entity
Work item scopingFilter by linked work item
Time rangeFilter by date range
Channel filterFilter by communication channel
Sentiment filterFilter by sentiment analysis

AI Integration

The Communications Layer feeds the AI agents:

AgentUsage
TwinReads communications for context, drafts responses
CoworkerMonitors for relevant updates, surfaces context
Domain AgentsAnalyze communication patterns, detect issues

AI Capabilities on Communications

CapabilityDescription
SummarizationAuto-summarize long threads
ClassificationAuto-categorize communications
Sentiment AnalysisDetect tone and urgency
Action ExtractionExtract action items from messages
Response DraftingDraft responses for human review

Governance

RuleDescription
RetentionCommunications retained per organizational policy
Access ControlRole-based access to communication channels
Audit TrailAll communication actions are audited
Data ClassificationCommunications classified by sensitivity
Purpose LimitationCommunications used only for stated purposes