Amazon GREF facilities demonstration¶
Status: Deployed core demonstration with Amazon Connect | Last reviewed: 2026-10-15
This is the core voice-to-Salesforce journey from Amazon GREF possible
script.docx, SHA-256
d46a2e61279d35fda182faa79294f16b01985e58e66fd9398d580c85a63abb67.
The optional Spanish email extension is outside this version.
The illustrated presenter script pairs the dialogue with actual voice, verification and Salesforce component captures: PDF and editable Word document. Its captions identify the presenter-only activity panel and the separate human-component rehearsal; the original script remains unchanged. The current Salesforce console screenshot shows the approved Figma layout, room snapshot, related-list placement and expanded AI Transfer Summary. The alternative-space workspace screenshot shows the second native form beside its staged guidance and capture progress.
The Takeda/Allianz alignment proposal records the reference audit behind the staged native middle workspace, shorter guidance and conditional alternative-space request. Its interactive preview is a design proposal, not the deployed app or a qualification capture.
The dedicated assets are published voice agent 4927 v3, Copilot 4928 v10, startup
workflow 2048 v3, handoff workflow 2047 v14, catalogue amazon-gref-assist, record-assistance profile
amazon-gref, and DevSDO Lightning app
Amazon_GREF. The installer targets the workspace's TrueServe demo tenant
(00000000-0000-0000-0000-000000000001).
It copies provider settings from published 4463 v33 and 4870 v19, leaving their
agents and routing unchanged. Voice uses Deepgram Nova-3, OpenAI Responses and
ElevenLabs HTTP Streaming. Nova-3 uses the recent demo's 750 ms endpointing.
The listening Copilot uses Deepgram Nova-3 and OpenAI workers.
Approved Salesforce design¶
The October 13 design is Figma file oK02RXVoWA3JO7gTUu6oMy, node 2:10.
Implementation references the live Support Services app
(DCC_Allianz_Support_Services_App, Allianz logo), its native component patterns,
and the ProducerJourney catalogue. GREF retains the installed
allianzRecordTemplate, allianzMfeBase, allianzConversation, and DCC wrap-up.
The app and catalogue package the same licensed Inter variable-font subset. Fonts load without blocking Case preparation or voice startup. The snapshot uses Salesforce’s tab padding once, with no refresh/wrap-up toolbar above it. View work order opens the initially collapsed history; starting a form collapses it again. Wrap-up is offered after the reviewed employee update. The GREF-only composed-rail flag removes the extra catalogue title/dismiss row.
The left profile uses the original exported portrait and icons, navy text,
pale blue contextual insight and expandable contact/site sections. The center
opens with Prior work / Recurrence / Current report, then changes to the existing
reviewed forms and receipts. Work-order history remains a related-list-style
view in Case Summary. Current Case below it reuses dccTimelineRecord for
actual Case/Task events with search and expansion. Only records from this
verified Case are returned (50 recent Tasks maximum); there is no invented
photo/chat session or cross-Case history. The shared row itself is unchanged.
The expanded AI Transfer Summary uses the Allianz-style handled/open table
with a two-sentence reason. Source rows are provided by the native bridge through
catalogue handledItems / openItems; guidance and capture continue below it.
Critical styles remain inline, independent of catalogue CSS scoping. The GREF
branding palette is navy #003781 / #03234D; other brands are untouched.
Figma sample text does not replace the working scenario: Maya remains Maya
Chen, the scene clock remains October 12 in New York, and unknown contact
information, SSO timestamps, HVAC asset identifiers and room availability are
not invented. Native Details/Related navigation remains functional instead of
introducing tabs for records the demo does not have. Exact exported assets are
packaged in the Salesforce GrefDesign static resource and AmazonGrefLogo
ContentAsset; runtime never depends on expiring Figma URLs.
Reapply only the GREF source package and catalogue. figma-branding.ts backs up
and updates the dedicated GREF branding record. No voice, provider or Connect
flow change is needed for this visual release.
Source and identity¶
scenario.json
contains the fictional Harbor location, Maya Chen, WO-10481, WO-10492 and
KB-FAC-07 version 1. Its October 12, 2026 clock is authored demonstration
time in America/New_York. Relative times do not advance with the server clock.
The three-reports count is supplied by the script; no additional work-order
records are fabricated to fill out its history.
gref_work_order_lookup executes in the native Python sandbox. Both tool
availability and the implementation require trusted native
customer_auth_status == "verified". Caller recognition and a spoken claim
are insufficient. The script starts after approved verification; an ordinary
unverified preview instead runs the existing native authentication ceremony
after permission. The fixture is a synthetic identity-to-record mapping,
not production employee authorization.
GREF v3 enables simulate_in_preview. An opted-in Connect Preview test opens
the existing labelled Face ID simulation inside the phone: open the notification,
then Open link, and wait for server confirmation. It does not enroll a credential
or establish real identity assurance. Actual inbound calls use standard passkey
verification, including first-use enrollment. The demo notification carrier
does not send a carrier SMS. A simulated link must use the phone's simulation
component rather than the separate real-passkey browser ceremony.
Unknown locations return not_found without substituting Harbor or exposing
another room. Speech spacing (4 B) and the equivalent spelling Harbour
normalize to the same known room/site. A handoff with no retrieved source
has no fixture employee or location; a 4B-only handoff retains room 4B.
The source remains read only. Answering the room 4B status
question does not complete its maintenance order. WO-10492 remains Completed
even when an employee reports that the room is cold again.
Handoff and Salesforce¶
The GREF Connect Build call preview Lambda sets the VoiceCall caller label to
Maya Reyes and copies the existing CustomerIntent=recurringTempratureIssue
contact attribute into DCC_Call_Reason__c. It leaves summary and Case ID
preview mapping unchanged. The contact attribute reason describes the handoff,
not Case.Reason; other intent values are not mapped to this GREF picklist.
The preview label does not alter the separate Maya Chen workspace fixture or
establish verified identity.
The native synchronous workflow uses the existing configured DevSDO Salesforce
integration. Verification, conversation ID and retrieved records are bound by
the runtime; the model supplies the factual conversation summary.
handoff.py validates the conversation key before SOQL interpolation and
allows only exact retrieved fixture records. An unverified handoff contains
no protected source records.
Startup uses an all-or-none Salesforce composite to create an unverified Case
and GREF_Workspace__c child. The Case request sets RecordTypeId to
012Kd000000plfPIAQ, Reason to recurringTempratureIssue, and AccountId
to 001DW00001ZvoZOYAZ. Handoff updates that same Case and reads the
saved context back before returning a receipt. The unique external
Session_Key__c begins as the Connect initial-contact ID, then changes to the
actual source voice alias at handoff; Context__c.startupContactId retains the
startup correlation. Runtime-bound startup policy prevents a replacement
create after a pending, failed or uncertain startup. Legacy calls without
that policy retain their original create path.
The voice copies the returned outputs.end_session_params into
native end_session.params. Failed persistence remains unavailable; a
nonempty factual summary and empty Case reference allow a requested transfer
even when no save result is available. Do not bind the entire terminal params
object to a possibly absent variable: that can erase the fallback summary.
The Case workspace stores authorized context, revisioned draft, follow-up
receipt, separate room-request draft/receipt, demo delivery receipt and reviewed wrap-up. It inherits Case sharing.
GrefWorkspaceController performs user-mode reads and writes, validates input
and review requirements, locks the workspace and rejects stale revisions.
Updates use sparse records containing only fields the operation writes;
passing the queried master-detail/parent fields back through user-mode DML
would incorrectly request edits to inaccessible relationship fields.
The dedicated permission set includes Case read access because Salesforce
requires it for a child object controlled by its parent.
The always-mounted grefCopilotBridge receives headless form suggestions over the existing
TrueServeCopilotEvent__c channel. It checks the Case, active Copilot
conversation, worker and form, suppresses duplicate events, and preserves
manual edits including intentionally cleared values. Edits reset review.
In live mode, only the bridge publishes the full context.updated
snapshot. Native projections receive a separate workspace.snapshot before the iframe is ready and can request it when a tab mounts. It waits for the embed's generic context acknowledgement before
sending authorized context. The thin GREF wrapper reuses the installed allianzMfeBase and republishes native context after the generic bootstrap acknowledgement. Only the business snapshot is sent to the Copilot; the native display snapshot is not duplicated in its prompt.
The source voice conversation and human Copilot conversation are separate.
Case.GREF_Copilot_Conversation_Id__c binds the human stream to the app.
With that field populated and wrap-up incomplete, the embed uses Hybrid mode:
the native Case snapshot supplies the facilities card while the conversation
supplies speech capture and post-call summarization.
Before a human call is bound, and after saved wrap-up, Host Record mode uses
the published amazon-gref profile. Completed calls therefore show their current
saved outcome rather than the final in-call instruction. Record mode
renders deterministic, source-backed next-step text from the verified Case
and saved receipts; it creates no conversation and makes no model call.
The scoped record_snapshot host command sends the required card props over
the existing set-assist-snapshot bridge. No Flow or duplicate source record
is needed. Reopen the Case after assigning a new human-call ID. Spoken field
capture requires the live Copilot stream.
Native Salesforce console¶
The app reuses the installed allianzRecordTemplate, standard Case highlights
and record tabs. grefRecordContext shows the verified employee and workplace.
grefCallWorkspace uses one main task region inside Case Summary. Initially it
shows work-order history. Starting a follow-up replaces the main history view
with the native form; the history remains accessible in a collapsed disclosure.
After the facilities receipt, an explicitly requested alternative-space need
opens a separate room-request form. Submission replaces that form with both
saved outcomes and the employee-update review.
The work orders are retrieved demo service records, not Salesforce WorkOrder
rows. Their LWC uses SLDS related-list markup and buttons that expand source
notes, recurrence and retrieval timestamps. It does not create fake record
links. The Details and Related tabs remain native.
grefRightPanel follows the existing Agent Assist/Transcript arrangement.
Its bridge stays mounted while tabs change. The Agent Assist adapter extends
allianzMfeBase; the transcript is the installed allianzConversation component.
The rail waits for the first Case snapshot before mounting the MFE, whose source
mode is selected at bootstrap. Its component key includes the conversation ID:
a refreshed binding remounts the embed, while ordinary form updates retain it.
There is no second GREF transport or resolver. The facilities guide follows the
Allianz/Takeda composition: a rounded handoff disclosure, a 40-pixel bot icon,
short inset guidance, and compact progress groups. Native forms use rounded
sections, a highlighted field awaiting an answer, captured/reviewed states and
matching action spacing. Critical catalogue styles use host-token inline values;
they do not depend on the consuming renderer adding a CSS namespace. Catalogue
5.0.1 and record profile revision 8 supply this composition. The guidance
bubble uses a subtle primary-color tint even when the host's muted color is
white; the handoff heading uses the host foreground for legible contrast.
The handoff appears only in Agent Assist, expanded through stage changes unless
the representative collapses it. The local display projection summarizes
supported recurrence facts and includes workshop numbers/times only when stated.
Other handoffs retain a bounded source excerpt. The full context.summary
remains intact. Displaying the source procedure, progress and receipts needs no
additional model call. The former generic coaching card is removed from the
active journey; the adapter dismisses retired copilot-gref-guidance and
copilot-gref-coaching surfaces on old-call replay without deleting history.
Copilot 4928 v10 contains two headless form workers: gref-capture /
gref-followup, and gref-space-capture / gref-workspace-support. The bridge
uses explicitly targeted form_context controls to pause inactive forms and
resume the open one. Successful reviewed saves confirm persisted values;
accepted submissions confirm fields and complete that form. No dynamic schema
replacement is needed for these two known tasks. Manually edited or cleared
fields retain precedence, and fields cannot cross Case, conversation or form
boundaries.
The room-request action requires the accepted facilities request and its
explicit alternative_space=Requested value. The server checks revision and
review, validates the required headcount/start/end fields and persists a separate
Task and Space_Receipt__c. Blank preferences remain unknown. Its receipt says
Awaiting availability, with reservationConfirmed=false; there is no room
inventory or booking integration.
GrefWorkspaceController owns the single authored 9:30 a.m. update proposal.
Its policy snapshot drives the native message, review label and saved follow-up
Task against the source scene date. The employee must agree before the
representative confirms the message. The UI labels the original October 12,
2026 demonstration scene; this historical scene clock does not advance to the
current calendar date. Existing delivered Cases retain their original receipt
and commitment. The demonstration outbox creates no external SMS or email.
Wrap-up opens the installed dccWrapUpModal and DCC_Wrap_Up screen flow.
A scoped AmazonGREF branch in dccSummaryNotes reads the authorized GREF
summary. The shared flow routes only this application to GrefCompleteWrapup;
other applications retain their current route. Opening the modal creates or
reuses one pending voice activity. Mark as Complete saves the reviewed
summary and facilities classification, completes that activity and leaves the
Case open. The server checks the Case, activity, verification and revision.
Cancellation is not completion, and retries do not create a second activity.
The standalone grefWorkspace, grefRecordTemplate, grefMfeBase and
grefSurfaceResolver are retired. Their page header, separate knowledge/next
action panels and inline wrap-up are replaced, not mounted alongside the new
components. Retain historical handoffs and receipts.
Stage with sfdc/amazon-gref/scripts/stage-native-console.py against freshly
retrieved dccSummaryNotes and DCC_Wrap_Up metadata. Compare the shared source
again before deployment. Resolve FlowDefinition.ActiveVersionId and retrieve
that Flow version: the latest version can be obsolete and differ from the active
flow. The staging script requires an Active baseline, preserves the other demo
branches and supports already-patched sources. Use
build-metadata.py --schema-only for field and permission updates without
rewriting current app or Phone/Omni settings.
The corrected app was qualified on October 13, 2026. DevSDO deployment
0AfDW00001NWBtn0AH installed the native composition; 0AfDW00001NWBts0AH
activated the scoped branch based on the actual active DCC flow, and
0AfDW00001NWBu20AH deployed the rail readiness fix.
0AfDW00001NWBtx0AH removed all four superseded bundles; Tooling API readback
confirmed their absence. Comparing the active flow before and after the patch
confirmed that the other applications' paths and values were preserved.
All 11 Apex tests and 9 native component/model tests passed, as did
scoped lint and TypeScript checks. Published Copilot 4928 v7 passed the
stereo/Salesforce rehearsal on Case 500DW00000Gb0DxYAJ: sourced guidance,
both transcript speakers, six fields including uncertainty, reviewed follow-up,
demo delivery and the shared DCC completion action. Four Tasks persisted and
the Case remained open. Separate qualification also confirmed that reopening
wrap-up reused the existing pending activity.
Published voice 4927 v3 passed the actual Connect Preview self-service
journey on contact 47e1f1ac-3655-4d09-86d3-99df286bac23, Case
500DW00000Gb0DiYAJ: recorded welcome, configured in-phone verification
simulation, lookup, update to the original Case and normal disconnect.
That call's first audible audio arrived in 2.944 seconds and its AI question
in 12.542 seconds; these are individual browser-call observations, not a
latency percentile. Actual representative pickup and headset directions remain
for the user's deferred live test.
The subsequent UI refinement deployed in DevSDO as 0AfDW00001NWBu70AH
(related list and short handoff), 0AfDW00001NWBuC0AX (native Hybrid guidance)
and 0AfDW00001NWBuH0AX (hide the retired guide during older-call replay).
That release published catalogue 3.0.0, record profile revision 5 and
Copilot 4928 v9. All 11 native tests, scoped lint and TypeScript checks passed.
The fresh stereo/Salesforce rehearsal passed on Case 500DW00000Gb0BYYAZ,
conversation c672508a-319e-4de5-bcac-e6bfa2166953: handoff limited to two source sentences,
expanded through form and completion stages, two related-list rows with
source details, six captured fields including uncertainty, both transcript
speakers, reviewed submission/delivery, four Tasks and completed DCC wrap-up
with the Case open. Record-only testing also verified unchanged critical
styles with the catalogue CSS namespace removed. An older v8 conversation
on Case 500DW00000Gb0EqYAJ displayed only the current styled native guide.
That illustrated DOCX/PDF revision contained 17 pages.
This UI qualification does not replace the deferred answered Connect call.
The accepted dynamic-workspace release deployed as 0AfDW00001NWBuR0AX,
with native/Apex updates 0AfDW00001NWBub0AH and 0AfDW00001NWBug0AH.
The last update renders room requirements as readable wrap-up sentences and
avoids duplicate punctuation in prepared messages. Published Copilot
4928 v10 passed the extended stereo/Salesforce rehearsal on Case
500DW00000Gb0IJYAZ, conversation 67c2e1cf-254e-41c7-844e-2b4c411b3c9f.
Both forms captured spoken answers and retained manual review. The room end
time stayed empty until the employee answered. The middle replaced each
submitted form with its saved result, five Tasks persisted, and shared DCC
wrap-up left the Case open. Runtime events confirmed form_status=complete
with all six facilities fields and all five room fields marked confirmed.
The room receipt retained reservationConfirmed=false.
All 13 native tests and 13 Apex tests passed; Apex run
707DW00002p98PA covered 98% of GrefWorkspaceController.
Scoped script/LWC lint, TypeScript checking and catalogue publication validation
also passed. The metadata deployment's success was checked separately from the
explicit Apex run because DevSDO deployment validation can execute zero tests.
The record-only check on Case 500DW00000GazUJYAZ passed and confirmed identical
critical styles with the catalogue namespace removed. Published readback
confirmed catalogue 4.0.1, profile revision 7, voice 4927 v3 and
Copilot 4928 v10, with the original transcription pipeline and six-field
capture worker unchanged. The refreshed 19-page DOCX/PDF uses the final
qualified captures, including the room form and normal-height shared wrap-up
modal. Page count, text presence, screenshot crops and pagination were checked.
The actual answered Connect/headset check remains deferred.
The requested Salesforce deployment refresh on October 13, 2026 completed
as 0AfDW00001NWBvj0AH: 33 components, zero component errors. The deployment
reported zero tests executed, so explicit Apex run 707DW00002p98zt verified
all 13 tests passed. The post-deployment live console check on Case
500DW00000GazUJYAZ passed: styled expanded handoff, work-order details, native
form opening and CSS-namespace independence. Readback confirmed three support
permission-set assignments, no retired standalone bundles, and the GREF branch
in active shared wrap-up version 301DW000000SDRgYAO. Refresh an existing
Salesforce browser tab after deployment to load the current console assets.
The Figma implementation deployed on October 13, 2026 as
0AfDW00001NWBwN0AX (36 components), followed by typography/spacing
refinement 0AfDW00001NWBwS0AX (5 components) and final layout
0AfDW00001NWBwX0AX (2 components), all without component errors.
All 14 native tests and 13 Apex tests passed (Apex run
707DW00002p9AlQ); LWC/script lint and scoped TypeScript checks passed.
The live record check confirmed loaded Inter fonts in both Salesforce and the
iframe, no initial refresh/wrap-up toolbar, no doubled tab padding, three
snapshot cards, expandable work-order details, expanded transfer summary,
CSS-namespace independence and native form opening.
The final stereo rehearsal on Case 500DW00000Gb0iqYAB, conversation 03acb718-ad73-4122-bd43-abd6b61f3db4, passed both spoken forms, both transcript speakers, manual review, separate receipts, employee update and shared DCC wrap-up. It persisted five Tasks and left the Case open. Both capture workers reported complete with the saved fields confirmed. Published readback is voice 4927 v3, Copilot 4928 v10, catalogue 5.0.1, profile revision 8; the transcription pipeline and core capture worker are unchanged. The updated 20-page illustrated DOCX/PDF uses the final captures and includes a dedicated room-snapshot page. Native Connect representative pickup/headset audio remains outside this stereo rehearsal and is still deferred.
Reviewed outcomes¶
Six fields require review: onset, symptoms, affected area, headcount, workshop time and alternative-space request. Unchecked rooms remain unverified; coats are a reported symptom rather than a measured temperature. The prior room and work order come from the retrieved handoff. Onset means the employee's stated time of noticing the current recurrence; “after yesterday's work” and an unanswered question do not establish that time.
Submission saves a Salesforce Task and a simulated queue receipt
F-10493, scoped to the fictional journey. It is not an external facilities
API. The display says Awaiting facilities review; the Salesforce Case stays
open. No work order is marked repaired, no dispatch is confirmed, and
alternative-space assistance does not reserve a room.
If alternative-space assistance was explicitly requested, the second reviewed form creates an independent workplace Task and an availability-pending receipt. The approved employee message uses a demonstration outbox: an actual Salesforce Task records the message and another records the agreed 9:30 a.m. progress update in the authored October 12 scene. The UI labels delivery Delivered (demo). No external SMS or email is sent. Wrap-up creates a completed interaction Task while leaving the facilities Case open.
The facilities guide uses a required caseId; the shared post-call summary
renderer is referenced from the existing baseline catalogue. The runtime context guard requires a
verified GREF snapshot, pins that identity and rejects mismatched output.
Form capture remains a suggestion; native and Apex review checks control
writes.
Installation and checks¶
Native authoring scripts live in
apps/ai-manager/scripts/amazon-gref.
Run from apps/ai-manager:
# New installations only:
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/install.ts
# Existing installation: publish the catalogue, then prepare the two-form Copilot.
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/native-console.ts
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/journey-release.ts
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/record-profile.ts
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/tests.ts start
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/tests.ts <batch-id>
bash ../../.devcontainer/scripts/with-env.sh python scripts/amazon-gref/verify-handoff.py
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/voice-rehearsal.ts
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/publish.ts copilot
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/rehearsal.ts
bash ../../.devcontainer/scripts/with-env.sh node_modules/.bin/tsx scripts/amazon-gref/record-rehearsal.ts
The installer creates or revisions only named GREF assets and publishes its
catalogue and workflow. Agent publication is a separate step after validation.
For presentation-only catalogue changes, native-console.ts --catalog-only
publishes the bundle without creating or altering a Copilot draft; publish the
record profile afterward to refresh its published configuration.
Native audio cases select the explicit rehearsal profile. It retains the
same voice prompts, provider stages and lookup, but substitutes an inline
handoff tool with the native workflow's response contract. Its tool-owned
mocks isolate Salesforce writes. The evaluator rejects direct Salesforce
workflow nodes in sandbox mode even when the outer workflow tool has a mock;
this profile avoids weakening that platform rule.
Actual workflow-to-Case persistence and Salesforce form writes need separate
checks against DevSDO. verify-handoff.py exercises the actual workflow for
verified and unverified callers, including repeated-save identity.
rehearsal.ts creates a separate synthetic Case from that verified context,
starts a real stereo Copilot stream, speaks the human-side script and operates
the Salesforce UI through reviewed wrap-up. It pins the published Copilot
version and checks rendered guidance,
unanswered onset, both transcript speakers, all six facilities fields, the
separate room request with an initially unknown end time, visible draft messages,
both receipts, five persisted Tasks and the still-open Case. It does not emulate a phone
transfer between the two agents.
The script explicitly confirms the alternative-space request before review.
A conditional spoken request can remain uncaptured; the native form keeps it
unreviewed and the representative clarifies or enters the confirmed answer.
complete-wrapup.ts <conversation-id> can qualify reopening and finishing the
shared wrap-up on the same previously exercised Case. It requires successful
capture, receipt and delivery phases and retains the original rehearsal report.
voice-rehearsal.ts separately exercises the default voice pipeline, actual
passkey enrollment/assertion, sandboxed Python lookup and real Salesforce
workflow. It uses the native demo notification carrier and a browser's virtual
authenticator; it does not inject a verified status or mock the lookup.
record-rehearsal.ts opens that voice-created Case with no human-call ID and
checks that the native record-assistance profile renders its authorized guidance.
For fresh illustrations, run rehearsal.ts <verified-source-Case-id> --illustrate
and connect-journey.ts self-service --illustrate. These execute the actual
demo journeys and save component screenshots plus qualification provenance in
.local-data/amazon-gref/illustrated-script/captures. They create demonstration
Cases and use the configured providers. Then run illustrated_script.py with
python-docx and Pillow installed, and export its Word document through
LibreOffice. The self-contained deliverables are under docs/assets/amazon-gref/.
The generator requires successful capture reports and verifies the source
document hash. Images are cropped for readability; displayed content is not
retouched. Check the rendered PDF for pagination, legibility and image clipping.
From sfdc/amazon-gref:
python scripts/build-metadata.py --schema-only --copilot-id 4928 --branding-id 6ea270f1-b4c8-4167-b8c5-01ab276d9eb7
node ../trueserve-scv/node_modules/jest/bin/jest.js --config jest.config.cjs --runInBand
sf apex run test --target-org devsdo --class-names GrefWorkspaceControllerTest GrefNativeWrapupTest GrefVoiceBindingTest --result-format json --wait 1
Deploy from the project produced by stage-native-console.py, including its
scoped shared DCC adapters. After qualification, retire-standalone/ is the
focused Metadata API removal package for the four superseded GREF bundles.
It contains no Case, Task, shared component or work-order deletion.
The Python suite checks denied and unknown lookups, independent source
copies, exact retrieved-record propagation and conversation-key validation.
Native LWC model checks cover manual edits, uncertainty, required fields and
record identity. Apex tests cover verification, review, stale revisions,
duplicate submission, delivery approval and keeping the Case open.
Private execution evidence is under .local-data/amazon-gref/; authentication
URLs and tokens must not enter Git or shared logs.
Run the explicit Apex command even when metadata validation succeeds:
DevSDO deployment reports can show success with zero Apex tests executed.
Acceptance evidence¶
The core app deployment and the final workspace/embed update succeeded in
DevSDO (0AfDW00001NWBrX0AX, 0AfDW00001NWBs10AH). The presenter and configured
Salesforce integration user have the dedicated Amazon_GREF_Support
permission set.
- Python: 17 passing checks for authorization, source fidelity, speech normalization, identity/location scoping, handoff inputs and Connect routing.
- LWC model: 4 passing checks for capture, manual overrides and identity.
- Apex: 5 passing, explicit run
707DW00002p95CM. - Actual workflow: verified and unverified handoffs pass; repeated saves reuse the same Case, and unverified context contains no protected source records.
- Actual default voice: native browser verification, both live work-order
lookups, Salesforce persistence and one escalated terminal action pass.
Evidence:
voice-rehearsal-latest.json. - Salesforce browser and stereo Copilot: visible guidance, unanswered onset,
all six spoken fields, reviewed follow-up, demo delivery and wrap-up pass.
Four Tasks persist and the Case remains open. Evidence:
rehearsal-latest.json. - Record-only Salesforce browser: the actual voice-created Case renders
source-backed guidance without a human-call ID. The native
amazon-grefrecord profile is published at revision 1. Evidence:record-rehearsal.json. - Focused TypeScript and ESLint checks pass.
All 4 native audio cases passed on the v1 dialogue baseline in batch
c488ad76-aa81-4027-8f45-c95c582baf22: routine status plus recurrence, unknown
room, failed verification and unavailable handoff. Its isolated profile and
the live checks above cover different boundaries; retain both sets of evidence.
tests.ts pins v1's isolated rehearsal profile. Current v2 includes the real
startup lifecycle, which is exercised by the native startup and Connect
journey checks below; the old dialogue score is not a v2 startup result.
Amazon Connect telephony¶
The dedicated GREF number is +1 800-520-8156 in the existing dccdev
Connect instance 9156b961-eb34-4d3a-92ad-f770d8f8b282 (us-east-1).
Its phone resource 043a008a-6581-4ff2-a321-106038f02eab is active and
its association with the GREF entry flow was verified through AWS readback.
The new published entry flow is Amazon GREF - Facilities Self Service
(148fe435-1d9c-44ff-a9c4-4d1b0290319d). It uses the existing Vanguard
Chime Voice Connector and published voice agent 4927 v2. The native
CCaaS availability API enables only the two GREF agents on the existing
Connect integration ec667d5f-cb9c-4423-a6d1-0626d1c9ef72.
The native phone ANI takes precedence over Preview's validated ANI, with
anonymous as the final SIP identity fallback. Caller ID does not verify
an employee. On return from the AI leg, session_escalated=true requests
human routing and an explicit false permits normal disconnect. A missing
or unresolved result enters human fallback, as does a Voice Connector
failure, without fabricating a saved Case.
Connect's native voice session reference is an Asterisk alias such as
1791855595.426. Workflow 2047 v13 allows that dot while continuing to
reject quotes, slashes and unsafe SOQL characters. Conversation API resolves
the alias to the stored UUID. The first live qualification reached the
human queue through the failure path because the older validator rejected
this alias. Published Code nodes execute their compiled
inline_tools.code_prepare.config.source; changing a source property on
the compiled Tool node does not change the running code. The focused
connect-workflow.ts release updates and reads back the executable source,
preserving the registered tool schema.
The GREF-only mapper trusrv-vanguard-gref-salesforce-fields:live supplies
the actual saved Case and a bounded 255-character preview of the real
summary. It uses the generic display Amazon GREF caller, never an
ANI-derived verified identity. Full text stays in the source contact
attribute and workspace. No artificial Task ID is required.
Human routing uses the existing TrueServe DevSDO Salesforce Inbound
Connect flow and SCV relay. Its number allowlist includes the GREF number.
The relay creates the VoiceCall, invokes the existing active
TrueServe_DevSDO_Inbound Omni Flow, and resolves the existing mapped
Connect queue. Existing telephone associations, queue mappings, user
mappings and the shared Omni Flow are preserved.
The dedicated Salesforce record-triggered Flow
Amazon_GREF_Bind_Voice_Call binds VoiceCall.VendorCallKey to
Case.GREF_Copilot_Conversation_Id__c during VoiceCall creation, before
the relay invokes Omni and requests the Case pop. It requires a real
GREF_Workspace__c for that Case and also handles a subsequently supplied
Case link. Routine later VoiceCall updates cannot overwrite a newer call
binding. It does not alter the source voice conversation, verification,
workspace revision or source records. Binding failures preserve call
routing. The new Amazon_GREF_UtilityBar provides native Phone/Omni
in the Amazon GREF app.
The GREF customer whisper
35424bb7-aed1-44c6-a89f-ea0f54cfed78 starts both KVS audio directions
when a representative answers, then resolves the current published version of Copilot 4928.
It invokes trusrv-dev-orch-connect-session-start:amazon-gref-vanguard,
pinned to the existing verified immutable version 5, with an
instance-scoped permission. A Copilot startup failure allows the human
call to continue. Its private endpoint and authentication were qualified
using an invalid stream probe that reaches reader validation without
creating a conversation; unknown environments are rejected.
Studio Telephony Preview supports the same flow. Select DCCDev Connect
and Amazon GREF - Facilities Self Service, enter a test ANI including
country code, and leave DNIS blank. The integration's
preview_scv_routes maps that flow to DevSDO and the dedicated number.
The server validates the destination before creating a browser contact.
Use a pinned agent URL (4927:v2) for shared Preview links; a bare agent
URL can redirect to its draft and discard the fragment.
Maintained setup and qualification scripts are alongside the core scripts:
connect_setup.py provisioncreates only GREF-owned flows, mapper and session-start alias. It refuses to overwrite divergent existing flows.connect_setup.py phoneclaims or finds the dedicated number;activateassociates only that owned number with the reviewed flow.connect-center.mjsadds the number to the contact center's allowlist with a revision check, retaining existing settings.connect-native.tsuses the native availability API and adds only GREF's Preview route to the integration configuration.connect_check.pyverifies deployed flow content, aliases, permissions, associations and private connector reachability.--call handoffor--call goodbyereads the actual recorded browser contact.connect-browser.ts handoff|goodbyesends controlled browser speech through Connect.connect-scv-verify.mjsseparately verifies actual SCRT creation, pre-route GREF binding, Omni queue resolution and source preservation, then clears its synthetic routing offer.connect-console.tschecks the installed Case page and native Phone utility.connect_handoff_verify.pychecks the published dotted-session handoff and retry identity before another telephone rehearsal.
Python AWS scripts use the configured dccdev SDK profile because the AWS
MCP host role lacks Connect administration permission. Never print credentials
or Lambda environment values. Native scripts use with-env.sh as above.
Flow exports are in
apps/connect-session-start-lambda/examples/amazon-gref/.
Private evidence is under .local-data/amazon-gref/connect/.
Recorded welcome and early Case preparation¶
After deterministic caller-ID resolution, Prepare GREF Case invokes
trusrv-vanguard-gref-startup:live asynchronously. Both edges immediately
continue to the recorded welcome. Its server-held configuration calls the
native durable preparation API for published agent 4927 and workflow 2048;
no endpoint or token is placed in contact attributes. The alias pins Lambda
version 1, with permission scoped to this Connect instance.
The 7.36-second ElevenLabs recording uses the agent's configured voice
ZoiZ8fuDWInAcwPXaVeq. Connect prompt
84364759-451c-41ee-bb63-9b8471fbe6bb says:
Thanks for calling Amazon facilities support. Our AI assistant will help with your workplace request and can connect you with our support team.
The AI then asks, “What can I help you with today?” It does not repeat the welcome or presume the caller is Maya. Preparation creates no verified identity or work-order context. The on-start lifecycle waits up to 30 seconds for the same durable operation and checks the returned status. An unavailable result permits conversation and human escalation without a fabricated Case receipt. It never falls back to a second synchronous create.
The source recording is mono 8 kHz G.711 μ-law WAV in the existing regional prompt bucket. Its content hash is retained in private release evidence. The dedicated server-held token expires January 11, 2027; rotate it through the normal token controls and a new immutable Lambda version before expiry.
startup.ts inspect|record|install prepares and releases the native definitions.
startup_connect.py inspect|provision|apply performs the drift-checked AWS
change. startup_qualify.py tests actual Lambda acceptance, durable join,
repeat-result identity, original-Case reuse and the missing-startup path.
connect-journey.ts self-service|handoff exercises real Connect media, native
passkey verification, authorized lookup and Salesforce persistence. Its
microphone and passkey device are controlled test devices; notification
delivery uses Studio's demo carrier. Human mode requires a signed-in
representative and waits for the actual answer-time Copilot stream.
The initial native qualification passed with one workflow run and one Case
(500DW00000GazarYAB): API acceptance 948 ms, welcome 7.36 seconds,
checked lifecycle join 997 ms, and identical results on retry.
These are measured samples, not a latency guarantee. A later real-call
Salesforce composite timed out at 30 seconds and returned unavailable.
Its failure evidence is retained; no replacement Case was created.
Private startup and call evidence is in .local-data/amazon-gref/startup/.
Repeated calls also exposed an Asterisk external-media readiness race:
externalMedia returned before StasisStart, and an immediate bridge
attachment failed. The controller now waits for readiness for external media
and retains bounded retries for a transient Stasis error. All 177
call-control tests pass, including four new readiness regressions. GREF's
explicit-goodbye guard also sends an unexpected AI return to human fallback.
The fix is running in the local Vanguard call controller; no official Dev/QA
deployment was performed.
The current self-service contact, run after the runtime restart,
f778e36f-7434-4204-a43d-bc18feb677b0 passed native passkey verification,
room 4B lookup and same-Case persistence (500DW00000GazdLYAR).
AWS readback confirmed session_escalated=false, handoff_status=saved,
CONTACT_FLOW_DISCONNECT, and no human VoiceCall or queue target.
First audible output measured 2,752 ms and the AI question 12,816 ms.
An earlier terminal readback saw the disconnect timestamp before AWS populated
its reason; the qualification now waits for both. The earlier result and
subsequent readback of that contact are both retained. Current evidence:
startup/self-service-latest.json.
The fully asynchronous verified handoff contact
589178dd-a2db-48f4-9760-cbfcf685556d created Case 500DW00000GazbeYAB
during the welcome, verified the caller through the native passkey ceremony,
retrieved both work orders and updated the same Case with source alias
1791856778.436. Connect then created VoiceCall 0LQDW000001GOIy and
routed it to the mapped human queue. Its first audible output measured
2,379 ms; the AI question appeared at 11,368 ms. These measurements
include browser/Connect setup and are not a PSTN guarantee.
The caller remained queued without a representative answer.
The representative pickup check is explicitly deferred at the user's request. The remaining live acceptance is Phone/SSO sign-in, incoming offer acceptance, both headset directions, answer-time KVS/Copilot startup and spoken capture in the popped Salesforce Case. Separate stereo and UI rehearsals verify components but do not establish that headset path.
The phone/utility deployment succeeded (0AfDW00001NWBs60AH).
All 3 explicit Apex routing tests pass (707DW00002p95c3), as do
4 Connect route/preview-field tests. The actual SCRT/Omni check
confirmed the GREF binding before routing and resolved queue
7aea57ed-d9e3-4321-bd71-aa024e302f64, preserving the original source
and unverified state. These checks do not substitute for a representative
answering a PSTN call and checking both live transcript channels.
The earlier v1 Connect browser contact
7f5ef1c1-f800-4c34-afdf-f41afba14c92 reached published voice agent 4927
and transcribed the request for human help before verification. Workflow
2047 v13 saved Case 500DW00000GazabYAB, preserving source alias
1791855799.428. Connect received session_escalated=true and
handoff_status=saved; the SCV relay created VoiceCall
0LQDW000001GOHw and resolved the expected queue. Salesforce readback
confirmed the Case's human-call field equals the Connect contact ID,
while its workspace retains the different original voice reference and
no protected work-order data. Browser media received 195,059 bytes
with nonzero audio energy and zero reported packet loss.
An earlier normal-goodbye contact
f768d7eb-ed72-492e-8d9c-f9a53d9beda4 transcribed the goodbye and ended
with CONTACT_FLOW_DISCONNECT, session_escalated=false, and no
human VoiceCall or queue target. That earlier sample qualified the
disconnect branch; the dotted-session persistence correction was
qualified separately and by the final handoff call above.
The final stereo/Salesforce rehearsal pins 4928 v6 and uses verified context
from the current Connect handoff Case 500DW00000GazbeYAB. Its separate test
Case 500DW00000GazdaYAB, conversation
adcd113d-968d-4586-aa03-be9ba4d31580, passed visible guidance, six spoken
fields, human review, follow-up receipt, demo delivery and wrap-up with four
durable Tasks. Its captured area explicitly retains “other meeting rooms not
checked.” Evidence: rehearsal-latest.json.
This remains a component rehearsal, not a representative pickup.
An earlier rehearsal exposed two runtime startup defects. CRM context could arrive before the Copilot listener registered, and the speech measurement accumulator shadowed Pipecat's lifecycle metrics object. Routing now retains only the latest startup context for a bounded 30-second window (128 pending conversations maximum), preserves replay order, and discards it on disconnect. User actions are not replayed. The speech accumulator has its own member. All 82 focused context, speech-metric and A2UI tests pass, including real processor setup/cleanup and delayed-listener regressions. These are local Vanguard runtime changes.
Copilot v6 refines affected-area capture after a rehearsal omitted the later
“other meeting rooms not checked” clause. It combines consecutive final STT
segments and treats existing form suggestions as unreviewed values, retaining
later qualifications. refine-capture.ts makes that isolated draft change
with revision checks; publish.ts copilot preflights and publishes it.
The rehearsal waits for the final asynchronous qualification before review
and records the six captured values. A missing caveat still fails the check.
Focused TypeScript/ESLint passes; the runtime changes introduce no new Python
lint findings (the existing A2UI module has four baseline lint occurrences).
The automated caller hung up while queued. No representative accepted
that contact, so grefCopilotStatus=waiting_for_answer is expected.
Answer-time KVS audio, native incoming offer acceptance and the actual
headset path still need a live representative pickup. The previous
stereo Copilot rehearsal verifies agent behavior, not that physical path.
The installed GREF console's Phone utility was separately checked in
Salesforce. Focused TypeScript, ESLint, Python lint and the source
credential-pattern scan pass.
See the operator walkthrough and Copilot event contract.