Salesforce Service Cloud Voice automation¶
Status: Current | Last reviewed: 2026-08-31
The Salesforce metadata in sfdc/trueserve-profile owns the CRM-side identity and relationship handling for Service Cloud Voice. It does not ingest Amazon Connect contact events or Contact Lens analytics.
Outbound VoiceCall identity¶
DCC_Outbound_Voice_Call_Handler invokes DccVoiceCallIdentityResolver before it creates CRM records. The resolver applies this order:
- Use the VoiceCall's standard
EndUserIdand the referencedMessagingEndUser.AccountId/ContactId. - If the End User has no CRM identity, use a standard
RelatedRecordIdthat points to a Contact, Account, or Case. - Derive the Account from the Contact so a Case never receives a Contact from a different Account.
- For a Person Account, return its standard
PersonContactIdfor Contact-style behavior.
An existing related Case remains the interaction Case. Otherwise, the flow creates a Case with both the resolved Account and Contact when available. The created Task uses the Case as WhatId and the resolved Contact as WhoId. This preserves B2B context while preventing a hardcoded or unrelated Contact from replacing the caller.
Standard relationship contract¶
| VoiceCall field | Purpose |
|---|---|
EndUserId |
Customer identity input supplied by Service Cloud Voice |
RelatedRecordId |
Case used by routing, screen pop, and owner automation |
ActivityId |
Task created for the VoiceCall |
DCC_CaseId__c and DCC_TaskId__c are legacy compatibility fields. Active automation neither writes nor reads them. Do not add new dependencies on those fields.
Record type selection¶
DCC_Update_Voice_Call_Record_Type maps explicit Five9 and Genesys call centers to their record types. Amazon Connect call centers named AmzConnectByot, trueServeContactCenter, or amazondevsdo map to DCC_Connect; an otherwise unmatched call center also defaults to DCC_Connect.
Amazon Connect CTR link¶
VoiceCall.Contact_Trace_Record_URL__c builds its link from:
TrueServe_Connect_Config__mdt.Default.Instance_Access_URL__c
Set the value to the environment's Connect instance access URL with no trailing slash, for example https://dcc-dev-main-connect.my.connect.aws. The formula appends the contact-trace-record path and VendorCallKey. Update this Custom Metadata record when deploying to another org instead of editing the formula.
Human-supervision approval Cases¶
The devsdo org-local Process_HITL_Escalation platform-event Flow creates or updates Cases raised by Human Supervision. Related_Conversation_Id__c receives the persisted TrueServe conversation UUID, while ANI is retained in SuppliedPhone. For a new Case, the Flow looks for a Contact across Phone, HomePhone, AssistantPhone, MobilePhone, and OtherPhone, trying both the incoming E.164 value and the same value without a leading +; on a match it assigns both ContactId and the Contact's AccountId. This dual comparison is required because Salesforce phone equality is storage-format sensitive (+1804… does not equal 1804…).
Out of scope¶
- Amazon Connect CTR ingestion and field population
- Contact Lens summaries, sentiment, quality, and recording availability
- Telephony event fields such as queue timestamps, holds, disconnect reason, language, and queue name
Those values must be supplied by the SCV/SCRT integration or Amazon Connect pipeline before Salesforce automation can display them.