Skip to content

Allianz producer workspace

For the Allianz-branded Support Services app and DCC_Allianz_specialist_support_case_page, see Allianz DCC human service. This page documents the separate older Allianz_Producer_Workspace.

Status: Current implementation | Last reviewed: 2026-10-12

The native Salesforce producer workspace follows Allianz1.svg through Allianz12.svg, with the ordered dialogue in Subs.svg. The source references use an October 12, 2026 fixture valuation date; this is authored demo data, not a live valuation or the deployment date. The October 13 verification timestamp is also part of the authored fixture. Both dates are in the future relative to this implementation's October 9 review.

The subsequent Script v2 validation tests the newer published Copilot v17 and catalogue 4.0.5. It records native-host compatibility failures and new script requirements; the v11 results below are historical evidence for the original SVG implementation.

The center and producer profile are LWCs. The existing allianzAgentAssist hosts catalogue components, and dccWrapUpModal retains the existing wrap-up Flow, editable summary and footer actions. Clear Connect's native appeal form provided the event and save pattern.

Existing assets and scope

Agent 4870, Allianz Illustration Assist, already contained allianz-illustration-guidance and allianz-assumption-capture. The installer updates that agent instead of creating a duplicate. It preserves the independent two-assumption demo and its existing catalogue components, and adds:

Worker / component Responsibility
producer-journey / ProducerJourney Transfer, opening, clarity, benefit, illustration setup, receipt, pending signature and closing guidance
allianz-recurring-capture Headless extraction of amount, frequency, start date, duration, allocation and purchase payments
allianzProducerWorkspace Native form, review, record-scoped events, saved draft and receipt
allianzProducerProfile Verified producer and agency context
allianzProducerAssist Reference header and question box around the installed allianzAgentAssist
allianzAudioBridge Explicit enhancement click → existing call-audio controls → observed status
allianzWrapUp Opens the existing DCC modal using the Allianz summary adapter

Producer voice 4444, specialist chat 4445 and beneficiary Copilot 4446 retain their existing behavior. The existing DCC modal expects an Account and a Task with Type=Voice on the Case. The seed and rehearsal create that interaction activity separately from the illustration tracking Task. A live handoff should supply its existing Voice activity. The modal proposes Closed after a saved receipt; only its Complete action saves the reviewed disposition and summary. The representative selects the required Case Reason.

The shared DCC adapter is scoped to applicationName=AllianzProducer: it uses the saved workspace summary and recommended action, preserves paragraph breaks, shows the producer avatar, and skips the unrelated banking intent fallback. The modal width, summary typography and Flow content width are scoped to the Allianz host attribute. Its Case labels, producer intent label and close button follow the reference. Other applications retain their existing providers and default layout.

The new page is assigned to Case.Allianz_Producer_Servicing in the Allianz app for the Admin profile. Other profiles require the equivalent App Builder assignment. Existing Case and VoiceCall defaults remain assigned to their existing pages.

State and persistence

DevSDO has reached its Case long-text-field limit. Allianz_Workspace__c therefore stores context, draft, revision and receipt beneath a Case master-detail relationship. Case_Key__c uniquely identifies its parent; its validation rule prevents a mismatched key. Case sharing controls access.

Live agent 4873 startup now creates or reuses this record after Case initialization. The synchronous summary/handoff workflow writes authorized context before human routing; the UI and Omni Flow do not create it. See producer handoff ownership.

AllianzWorkspaceController uses user-mode reads and writes. Verification is the existing Case.Allianz_Verified__c; a phone match does not grant it. Unverified snapshots omit context, draft and receipt. No missing record falls back to the reference fixture. getSnapshot deliberately avoids client caching so reopening a completed request reads the durable receipt.

Saving locks the Case and workspace and checks the supplied revision. An illustration can be submitted only after all six values and the representative's assumptions confirmation are present. A changed value invalidates confirmation. Native manual edits, including an intentional empty value, survive later capture. Relative next_month is resolved against the supplied asOf date and displayed as a suggested date requiring review.

Submission is restricted to contexts explicitly marked demo: true. One transaction saves the reviewed fields, generates a DEMO-IFR-… reference and creates the tracking Task. Retries return the same receipt. This records a demo request; it does not generate or deliver an insurer document.

Events

All events use the existing TrueServeCopilotEvent__c bridge. Native receivers match the Salesforce record and Case, deduplicate event IDs, and preserve local edits while a save is pending.

Event Direction / meaning
illustration.open Catalogue click requests the native form
workspace.ready Native verified snapshot and saved state
illustration.opened, .closed, .progress, .saved Native form state
illustration.submitted, .failed Actual Apex outcome
accent.normalization.set Explicit per-call enable/disable request
accent.normalization.status Observed audio processing state
wrapup.open Open the existing wrap-up Flow

Successful saves also send a targeted form_context command with copilot_id=allianz-recurring-capture and form_id=allianz-recurring-illustration. Submission completes that form. Clicks and spoken claims cannot create a receipt.

The catalogue sends workspace.sync after mounting. The native receiver sends its full snapshot as structured context.updated data, and refreshes that snapshot with each workspace transition. This avoids the action transport’s 2,000-character string limit truncating a serialized Flow output. It also keeps the headless capture worker’s HostContext.context.contract available after unrelated audio events. The copilot.ask event carries a typed representative question; it does not represent caller speech.

The audio bridge verifies that the active vendor call belongs to this record through VoiceCall.RelatedRecordId or the Case’s matching conversation ID, then publishes only the changed outbound accent toggle on ServiceCloudVoiceMessageChannel__c. It preserves the configured provider, voice, grammar and other audio settings. The badge becomes on only when RTC_AUDIO_STATUS.effective.outbound reports accent processing. Noise cancellation alone does not qualify. Errors and timeouts remain retryable.

Measured speaking pace

SpeechMetricsProcessor runs in Copilot pipelines after original transcription and before enhancement or gating. It reads finalized word timings retained by the provider result, including the installed Deepgram SDK’s Pydantic models. It does not generate a model request or add transcription.

Pace is 60 × finalized words / timed utterance seconds over a trailing 30-second audio window. The denominator includes pauses inside each utterance, excludes gaps between utterances, and merges overlapping spans. Final revisions replace prior segments; overlapping words are counted once. Customer and agent channels remain separate. The widget waits for at least five seconds of timed speech. Providers without supported word timings remain unavailable.

Workers can read {{SpeechMetrics}}; the measured values also publish on context-only A2UI surfaces copilot:speech-metrics:agent and copilot:speech-metrics:customer. The catalogue reads same-conversation relatedSurfaces, so WPM updates without waiting for the guidance model. The reference's 140 WPM target is a presentation target, not a universal assessment of a speaker.

Build and release

Source: sfdc/allianz-demo, apps/catalog-builder/catalogs/tenant/allianz-illustration-assist, and apps/ai-manager/scripts/allianz-demo/producer-*.

These installer sources describe the original SVG implementation. The newer published v17/4.0.5 pair has additional Script v2 behavior; reconcile its current configuration and catalogue source before reapplying the original installer. The Script v2 report records the tested pair.

  1. Run producer-catalog.py to regenerate the manifest and declarative tool.
  2. Run install-producer-assist.ts with the effective dev environment to prepare; --apply backs up the current draft, publishes the existing catalogue, revision-checks the draft save and updates its exclusive branding.
  3. Retrieve the current Allianz application and the dccSummaryNotes, dccWrapUpScreen, dccWrapUpModal and dccFlowDisplayScreenStandard bundles into the scratch project /tmp/allianz-producer-reference.
  4. Run producer-salesforce.py. It stages only the new native metadata and an Allianz-specific adapters against the fresh shared components. It retains other app assignments and summary providers. Review these generated patches before deployment; the script rejects unexpected shared-source shapes.
  5. Validate/deploy the staged project using AllianzWorkspaceControllerTest and AllianzContextControllerTest. Run the LWC Jest suite from sfdc/allianz-demo.
  6. Run seed-producer-workspace.py to create the explicit reference Case. It does not reset existing drafts or receipts.
  7. Publish the reviewed 4870 draft with publish-producer-assist.ts, which uses runtime preflight and the normal Studio publication API.

Run producer-workspace-rehearsal.ts for the native Salesforce → published Copilot → stereo STT → captured form → saved receipt → existing wrap-up path. It creates a separate synthetic Case and Voice activity, leaving the entry fixture untouched. producer-wrapup-test.ts can separately reopen the latest submitted rehearsal Case, exercise the existing DCC Complete action, and verify the saved notes and Closed status.

The fixture and private rehearsal evidence are separate. Never put Salesforce session URLs, provider credentials or environment tokens in committed evidence. The design plan records the reference geometry and visual acceptance criteria.

Verification on October 9, 2026

DevSDO has the native metadata and scoped DCC adapters. This original check used Copilot 4870 version 11 with catalogue 3.0.4. The clean entry fixture is Case 00023156; completed rehearsal Case 00023172 contains the saved request and reviewed wrap-up.

The synthetic stereo audio rehearsal used the published Copilot and real STT. It passed transfer, typed pace question and measured WPM, clarity guidance, the supplied benefit breakdown, native form opening, partial capture, caller confirmation, draft save, submission receipt, pending signature and wrap-up. The representative's question alone did not confirm the remaining assumptions. The final modal check passed close/reopen, disposition selection, saved notes, Closed Case status, completed Voice activity and the signature-reminder Task.

Targeted checks passed: 144 Python tests, 12 TypeScript tests, five LWC tests, seven Apex tests, catalogue type checking and lint with no errors. Script lint retains explicit-any warnings around dynamic configuration and test transports.

Screenshots were compared with the supplied reference geometry. Salesforce's sandbox banner, console navigation and available picklist values remain those of the installed org. Accent enable/disable and observed acknowledgement are covered by component tests; the browser rehearsal verified rejection without a matching active call. Audible conversion still requires a connected SCV call. Document generation and delivery remain outside this demo implementation.