Skip to content

Omnichannel Inbox

Unified view of all advisor-client communications across email, WhatsApp, Teams, RingCentral.


Epic: Channel Integrations

Plan: Build integrations for Email (Microsoft Graph API), WhatsApp (Meta Direct API), Microsoft Teams (Graph API), and RingCentral (SDK) with real-time WebSocket support.

Architectural Context: Each channel has a dedicated integration that normalizes messages into a common schema. Email uses thread view with HTML rendering. WhatsApp uses chat bubbles with media support. Teams supports channels and DMs. RingCentral handles phone, SMS, and dialer with WebSocket for real-time updates.

Tasks

  • Build Email integration via Microsoft Graph API (thread view, HTML rendering)
  • Build WhatsApp integration via Meta Direct API (chat bubbles, media support, WebSocket)
  • Build Microsoft Teams integration via Graph API (channel and DM support, WebSocket)
  • Build RingCentral integration via SDK (phone, SMS, dialer, WebSocket)

Epic: Channel Normalization

Plan: Implement a common message schema and build channel-specific rendering for each communication type.

Architectural Context: The common message schema (id, channel, direction, contact, content, timestamp, status, metadata) unifies messages from all channels. Channel-specific rendering adapts the display: email threads, WhatsApp bubbles, Teams messages, call logs. This enables a single view across all channels.

Tasks

  • Implement common message schema (id, channel, direction, contact, content, timestamp, status, metadata)
  • Build channel-specific message rendering (email threads, WhatsApp bubbles, Teams messages, call logs)

Epic: Dialer Component

Plan: Build a phone dialer with call history, call simulation, mute/speaker controls, post-call note prompt, and Salesforce contact lookup.

Architectural Context: The dialer integrates with RingCentral for phone calls. Call simulation models call states (idle, dialing, connected, ended) for UI development without live calls. Post-call note prompts capture conversation summaries. Contact lookup queries Salesforce for member details.

Tasks

  • Build phone dialer with call history
  • Implement call simulation (idle, dialing, connected, ended)
  • Build mute and speaker controls
  • Implement post-call note prompt
  • Build contact lookup from Salesforce

Epic: Real-Time Updates (Planned)

Plan: Migrate from polling to WebSocket for true real-time message arrival, push notifications, and live badge counts.

Architectural Context: Current implementation uses polling for message updates. WebSocket migration enables true real-time message delivery from the Channel Router. Push notifications alert advisors to new messages. Badge counts update in real-time across the inbox.

Tasks

  • Migrate from polling to WebSocket for true real-time message arrival
  • Build Channel Router push notifications
  • Implement badge count updates in real-time

Marchay Platform Documentation