Skip to content

Scene Agent Assist consoles

Status: Design record | Last reviewed: 2026-10-07

This record captures the design and reference investigation for configurable Salesforce and Headless consoles. The V1 implementation and current operational contract are documented in Director. The design notes below also retain future Custom App and Amazon Connect considerations.

Release scope

Release App types
V1 Salesforce, Headless
Fast follow Custom App
Backlog Amazon Connect Agent Workspace

Stage type and application shell are separate settings. Preserve Voice Agent Call stages and add Agent Assist stages. Narration, highlights, callouts and camera cues apply to both. A Scene can transition from voice self-service to human assistance while preserving its authored conversation and record context.

Salesforce uses the native Omni-Channel visual reference. The simulated utility bar contains only Omni-Channel, with Phone and Inbox. It starts in a configured, usable state; provider login and unrelated utility entries are outside the Scene. Amazon Connect as a standalone workspace remains backlog scope even when a Salesforce source example uses Connect underneath its Omni-Channel widget.

Verified reference material

On 2026-10-07, the existing devsdo CLI authentication opened a fresh authenticated Playwright Chromium session. Clear Connect and Business Plus Case pages were inspected in the browser, and their current metadata and owned components were retrieved into an isolated reference project.

Reference Current developer name
Clear Connect application DCC_Patient_Service_Clear_Connect
DCC Multi Patient Service Case Page DCC_Patient_Service_Multi_Case_Page
Business Plus application DCC_B_Business_Plus
Business Plus Case page DCC_B_Case_Business
Shared three-column template DCC_Custom_Interaction_Template
Native Omni-Channel component runtime_service_omnichannel:omniWidget

Fresh Clear Connect app metadata uses #234F3E and renditionDownload_1. Business Plus uses #4E50FE and DCC_B_BusinessPlusLogo. An older Clear Connect retrieval used red/Takeda branding and is not the current visual baseline. Auto Plus, Banking Plus, Health Plus and Insurance Plus application metadata were also retrieved to inform branding presets; those four apps were not browser-audited.

The shared template assigns 21.3% to the left column, 53.7% to the center, and the remaining space to the right, with 0.5rem gaps. Treat these as reference geometry for a preset rather than universal proportions for every composition. DCC_GlobalCssLoader loads dccBaseResources/dccStyle.css; this source includes the custom card styling and the incoming/current-work wrapping override for .omni-slds-truncate-90. SLDS alone does not contain these customizations.

Current Clear Connect composition:

Region Components
Left dccMultiPatientProfile, dccMultiPatientAccountSummary, dccMultiPatientContactDetails
Center dccMultiPatientInteractionDetails, dccMultiPatientInquirySummary, dccMultiPatientAppealForm, dccMultiPatientCaseSnapshot
Right dccMultiPatientRightPanel, containing Agent Assist and Transcript tabs

The reference pack is private and Git-ignored under .local-data/scene-salesforce-reference-2026-10-07/. It contains screenshots, sanitized rendered markup, browser stylesheet captures, downloaded image assets, 146 retrieved source/metadata files, and provenance manifests. Raw browser authentication state stays in a separate private file and is not a reusable asset.

An earlier private source capture supplies 74 extracted native phone modules, including opencti:dialPad, native_voice:inputPhoneNumber, native_voice:globalCallActions and native_voice:enhancedPhoneCallControls. The dialpad module contains compiled HTML templates and CSS. These are references to adapt, not a standalone distributable Salesforce application. The live browser subsequently provided the active OpenCTI v1 phoneCallControls, phoneCallEntry, phoneCallExtension and participant modules. V1's standard call-entry rows, round control row and full-width End/Leave Call button are the implemented Salesforce baseline.

For native Phone reference capture, a browser-local mock provider supplies the connector readiness response. Provider endpoints are blocked and the connector's tenant-configuration request is fulfilled locally. No live call is placed. Fresh captures cover the Case consoles, empty Inbox and idle Phone. Existing ringing references and compact-layout metadata inform incoming work; a fresh live ringing/transfer/wrap-up capture is not claimed by this investigation.

Configurable Salesforce shell

Present setup as Workspace, Branding, Records, Components and Incoming work. Choose a preset first, then edit its fields while previewing the result. Keep the user-facing configuration structured; CSS is a component-authoring extension rather than the mechanism for renaming tabs or changing record data.

Setting Author controls
Workspace App label, preset/version, viewport, active record tab
Branding Existing template, app logo, display label, supported shell colors
Primary tab Object label and record label/template
Subtabs Account, Case number, optional Voice Call; labels, order, active tab
Left sidebar B2B/B2C, preset, images, detail groups, visible fields
Main console Ordered sections/tabs and their component instances
Right rail Standard Agent Assist; optional transcript view using shared rendering
Utility bar Omni-Channel only; configured Phone/Inbox and simulated call state
Incoming work Work items, context rows, summary, image/icon and acceptance target

Keep branding and workspace structure independently editable. Extend the existing branding template selection, uploads and snapshot mechanism with supported shell tokens, app logo and display label. A workspace preset can supply default tab labels, layouts and components. A Scene saves its chosen overrides and exact asset versions, so later template edits do not change an existing recording.

The primary tab supports both a literal label such as Account and a bound record label such as an account name. Subtabs bind to the same Account, Case and optional Voice Call objects. Selecting a different tab changes the simulated workspace. It does not navigate to a live Salesforce record.

One record context

Store structured authored records separately from their presentation: account, contact/person, case, optional voice call, related records and work item. Use stable IDs and typed bindings from those records into component properties. Extend reusable details where appropriate rather than copying the same text into the incoming card, sidebar and Assist input.

For example, an incoming item's caller label, the profile card's name, the primary tab's record label and Assist's host context can all reference the same contact. Changing that contact updates each view. Changing a Case number updates its tab, details card and incoming acceptance target together.

Expose the resolved value beside a binding in the editor. Validate missing records, invalid acceptance targets and empty required fields before export.

Incoming work and Phone

An incoming work item is a saved object with:

  • Stable ID and channel.
  • Title, subtitle, image/icon and displayed number.
  • Optional queue, priority, waiting/ringing state and timing.
  • Ordered context rows and detail groups with bound or literal values.
  • Optional multiline summary and configured expansion/overflow behaviour.
  • Accept/decline actions and the Account/Case/Voice Call tab to activate.

Provide compact and expanded context presets based on the actual Omni markup. Authors can select, reorder, rename and populate fields before the work is offered. Preserve the existing custom wrapping treatment; do not silently truncate a configured summary.

The current Takeda integration is a useful example, not a restriction to two Scene fields. Its DCC_Connect_Handoff compact layout displays DCC_Caller_Name__c and DCC_Summary__c. Initial CALL_STARTED.callAttributes provides the corresponding sfdc- fields before the native incoming card is created. See Incoming Omni-Channel preview.

Scene events offer the work, render its already-resolved context, and update Inbox counts. Acceptance opens the configured record/subtabs and enters the call; decline applies its authored outcome. A later moment can update context explicitly. The incoming preview never depends on a fresh model or record lookup.

Phone uses the native number entry and 12-key dialpad references, including numeric/letter labels, spacing, typography, focus and pressed states. Outbound human calls transition through dialing, ringing, connected and ended states. Simulate in-call keypad input, mute, hold/resume, transfer and wrap-up through the same call model that drives participant audio and screen state.

Console components

Add a Console components collection or filter to the existing catalog infrastructure. Entries advertise supported regions, input schema, default fixture, exposed actions and stable visual targets. A new catalog engine is unnecessary.

Component family Starting point
Identity and profile Existing dccContextSidebar and multi-patient profile
Labelled details CardConnect configurations and account/contact cards
Summary and timeline Clear Connect summaries and Business Plus histories
Related records Multi-patient Case snapshot/tree
Forms Takeda/clear-connect appeal form and current dynamic components
Custom static content Versioned HTML/CSS plus pinned image/font assets
Agent Assist Shared surface-app/A2UI presentation and component catalog

The existing context sidebar already supports auto, b2b and b2c, plus visibility choices for profile, account, contact, milestones and history. Adapt its presentation to Scene data. Initial sidebar presets should cover business account/contact, consumer profile, and multi-person account context. Images and labelled detail rows remain editable.

Preserve genuine interaction for dynamic components. For example, the Takeda workspace switches from summary/timeline into an appeal form, preserves manual edits, and emits progress/completion events. A Scene adapter feeds saved data and records those actions; it does not replace that interaction with a screenshot. Some existing Business Plus sections are image-only references and need explicit interactive equivalents if the Scene allows the author to operate them.

Static HTML/CSS is stored as a versioned visual block in an isolated document. Declare buttons and fields through Scene actions and targets. Arbitrary inline scripts and inherited Salesforce bootstrap/session code are not part of a static block. Use the existing catalog component path for richer programmed behaviour. Inject branding tokens inside each isolated document so components render the same way in preview and export.

Assist, voices and timeline

Bind the chosen Assist agent to the standard right rail and, when configured, workspace or context-only outputs. Preserve the shared A2UI/surface-app renderer. Use the existing host-context and form-event contracts as adapter references.

Support authored results, captured Assist takes and live rehearsal. Capture real Assist output against scripted participant turns and mock record/tool context. Save output events, triggering turns, observed latency, configuration references and catalog versions. Export consumes that frozen take. Relevant input changes mark captured output stale; edited presentation timing remains separate from the original measured latency.

Assign customer, human representative, optional specialist, voice agent and narrator separate identities. ElevenLabs voices the authored participants. Only call participants feed Assist; narration is audience-only. Assist recommendations do not automatically become spoken representative dialogue.

Use one presentation timeline to reconstruct call, records, tabs, components and annotations at any time. Narrated explanation pauses can hold the simulated conversation while the presentation clock continues. No provider requests or record mutations occur while seeking or exporting a captured Scene.

Highlights, tooltips, cursor actions and camera cues target stable IDs such as omni.work.handoff.summary, console.caseTab, sidebar.account.logo, workspace.appeal and assist.card.recommendation. Embedded regions report their bounds through a bridge. Missing targets produce an actionable authoring notice rather than drifting to an approximate coordinate.

Implementation and acceptance

  1. Add stage/shell configuration and shared record bindings, preserving old Director documents as Voice Agent Call stages.
  2. Build Salesforce chrome, navigation, Omni Phone/Inbox and incoming context against the captured markup, native modules and custom DCC stylesheet.
  3. Adapt B2B/B2C sidebar and main-console presets into Console components.
  4. Add shared narration/annotation targets and the Assist capture/playback adapter.
  5. Adapt the original Headless presentation to the same state and component contracts. Retain the current runtime and shared renderers.

Validate at a saved desktop viewport, initially 1920 × 1080, with preview scaled to fit and a 1:1 inspection option. Freeze fonts, CSS, logos, data and component versions in the render snapshot. Compare lossless reference frames, then inspect the encoded MP4 for text readability and motion.

The first complete sequence covers incoming context, acceptance, human dialogue, Assist arrival, a highlighted recommendation, a form/record update and wrap-up. Also validate an outbound human call through Phone and an alternate B2C sidebar. Exercise backward seeking, pause/resume, field edits, save/reload and export.

Update Director's current fixed 1440 × 1000 composition and phone-specific frame-reuse signature. Every shell/annotation animation must participate in the render schedule; otherwise newly introduced motion can freeze during export. Share an audio mix plan between browser playback and export.

Implementation updates must include the Director handbook and user guide, schema validation, round-trip coverage and appropriate visual/browser checks. This proposal and the reference capture do not claim those runtime changes are shipped.

See also