# High-Level Scenarios ## 1. Agent Notes App in Contact Center Goal: - Agent writes notes that follow engagement context switching. Flow: 1. `config` Zoom Apps SDK with engagement capabilities. 2. Load `getEngagementContext` + `getEngagementStatus`. 3. Store notes by `engagementId`. 4. On `onEngagementContextChange`, swap UI state to selected engagement. 5. On `onEngagementStatusChange` `end`, finalize or clear engagement draft. ## 2. Web Chat Campaign Launch Goal: - Product team controls targeting in admin without code redeploy. Flow: 1. Add campaign web tag script. 2. Wait for `zoomCampaignSdk:ready`. 3. Programmatically `open/show/hide/close` as needed. 4. Listen for engagement events for analytics and CRM writes. ## 3. Mobile Chat and Video with Native SDK Goal: - Customer mobile app can launch chat/video and recover from interruptions. Flow: 1. Initialize SDK context in app startup. 2. Build `ZoomCCItem` for channel. 3. Initialize service, attach delegates/listeners, and launch UI. 4. Handle disconnect/rejoin links for video. 5. End flow and release service resources. ## 4. Campaign-Mode Channel Router Goal: - Runtime selection of chat/video/ZVA/scheduled callback per campaign. Flow: 1. Fetch campaigns by API key. 2. Inspect campaign channels. 3. Build channel-specific item with campaign mode. 4. Release previous conflicting service before opening new channel. ## 5. Smart Embed CRM Integration Goal: - Embed Contact Center softphone in CRM with screen-pop and contact lookup. Flow: 1. Load Smart Embed iframe. 2. Handle postMessage events (`zcc-init-config-request`, search, resize, engagement events). 3. Return contact search results and route screen-pop in CRM. 4. Keep feature flags aligned with Smart Embed version path.