Record Communications
Record-scoped messages and communication history.
/admin/leads/:id?tab=communicationFuture Spec 11 →Current-state summary
The Communication tab is a substantial record-scoped inbox rather than a simple log. It exposes Call, Email, SMS, In-App, Schedule and New actions; a health row for contact recency, preference, response time, unread, next follow-up and relationship; channel counts; search; and a conversation panel. Forest Hill Residence currently has zero conversations in every channel, although the health summary displays sample-like values such as last contact today and next follow-up tomorrow.
Interface inventory
Anatomy and verified behavior
Verification states separate observed behavior from requirements or assumptions.
| Element | Current behavior | Verification |
|---|---|---|
| Channel actions | Call, Email, SMS, In-App and Schedule are first-class buttons plus a New menu. | Verified live; composers not opened |
| Communication health | Shows last contact, preferred method, average response time, unread count, next follow-up and relationship. | Verified live |
| Channel rail | Email, SMS, Call, In-App and Internal each show a count, with View all communications. | Verified live at zero |
| Conversation search | Search conversations input sits above the content panel. | Verified live |
| Conversation state | Channel-specific empty message suggests composer or New menu. | Verified for Email |
User journeys
Current flows
Start communication
- Open Communication
- Choose channel
- Select participants
- Compose or place call
- Send through provider
- Attach thread to record
- Emit Activity and follow-up state
Review thread
- Choose channel
- Search conversations
- Open thread
- Review messages/call artifacts
- Add internal note or follow-up
State model
Current and expected states
Channel icon, No [channel] conversation yet and start guidance.
Health metric exists; live count is zero.
Live summary displays Healthy.
Not observed.
Not visibly distinguished from an empty connected channel.
Product rules
Non-negotiable boundaries
- Every external communication has a channel, participants, direction, timestamp, provider status and record linkage.
- Internal content is never sent externally.
- Email threading must use provider identifiers plus Project/record association rules.
- Calling requires consent, recording policy and transcript visibility controls.
- Health metrics must derive from real events and disclose unavailable data rather than show fabricated defaults.
- Users see only communications permitted by relationship and field access.
Known current limitations · 6 mapped
What is missing, broken or unverified
Future Spec 11 owns closure →- No populated live conversation was available.
- Channel composers, sending, receiving and delivery states were not tested.
- Health values appear inconsistent with zero channel events and may be seed/demo data.
- Purchased phone numbers, call recordings and transcripts are not evidenced here.
- Connection/setup states are not exposed.
- Thread-to-Project/provider auto-classification remains unverified.
Future alignment
Required evolution
- 01Implement the unified inbox and record-aware classification in Spec 11.
- 02Make connection state, delivery state and consent explicit.
- 03Add purchased-number management, call recordings/transcripts and searchable summaries.
- 04Use one communication object across Admin, Designer, Provider and Client relationships with strict visibility.
Current baseline
Acceptance record
- All intended channels have visible entry points.
- Channel navigation, search and empty states are present.
- Health metrics are identified as derived operational data.
- Unverified send/receive behavior is not claimed as working.
- Potential demo-data inconsistency is documented.
Reverse-spec completeness
Documentation coverage
The interface is still changing, so visual evidence and repository tracing remain intentionally incomplete.
Purpose and user outcome
DocumentedRoles and access
DocumentedRoutes and entry points
DocumentedPage and component anatomy
DocumentedFields and displayed data
DocumentedPrimary actions
DocumentedForms and validation
DocumentedStates and transitions
DocumentedEmpty, loading and error states
DocumentedResponsive behavior
PartialAccessibility behavior
PartialActivity and audit events
PartialData sources and persistence
DocumentedNotifications and automation
PartialKnown defects and limitations
DocumentedReusable component dependencies
DocumentedFuture-spec conflicts
PartialVisual and repository evidence
DeferredAcceptance of current baseline
Documented