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.
- Run
producer-catalog.pyto regenerate the manifest and declarative tool. - Run
install-producer-assist.tswith the effective dev environment to prepare;--applybacks up the current draft, publishes the existing catalogue, revision-checks the draft save and updates its exclusive branding. - Retrieve the current Allianz application and the
dccSummaryNotes,dccWrapUpScreen,dccWrapUpModalanddccFlowDisplayScreenStandardbundles into the scratch project/tmp/allianz-producer-reference. - 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. - Validate/deploy the staged project using
AllianzWorkspaceControllerTestandAllianzContextControllerTest. Run the LWC Jest suite fromsfdc/allianz-demo. - Run
seed-producer-workspace.pyto create the explicit reference Case. It does not reset existing drafts or receipts. - 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.