This Salesforce voice integration uses Service Cloud Voice to bring Genesys Cloud into your Salesforce instance. Agent Assist uses the media stream from the Genesys Cloud audiohook integration to provide suggestions to your agents in the Salesforce Lightning Service console with Agent Assist for Salesforce. The following diagram illustrates this integration architecture:

Figure 1.Integration architecture for Salesforce voice with Agent Assist and Genesys Cloud.
Before you begin
Follow these steps to set up the resources needed for your Salesforce Genesys CX Cloud integration.
- Set up your access to resources .
- Set up your Agent Assist for Salesforce app .
-
Configure and deploy the following:
Install Genesys CX Cloud for Salesforce
In the Salesforce AppExchange , install CX Cloud from Genesys for Salesforce .
Configure Genesys
Follow these steps in Genesys to configure CX Cloud for Salesforce.
Step 1: Create a role and add permissions
Follow these steps to create a role and add permissions to access all the necessary resources.
- Navigate to the directory and click User Management> Roles and Permissions> Add role.
- Click Role detailsand enter the name Salesforce CX Cloud.
- Click Permissions, and enter a search for Authorization > License > View.
- Select the matching result and click Save.
- Repeat steps 3-4 for all the required permissions and open authorization (OAuth) client permissions .
Step 2: Create an audio connector
The Genesys Cloud audio connector captures, processes, and analyzes real time audio streams from your contact center conversations. It seamlessly integrates with the Genesys Cloud audiohook API using a persistent WebSocket connection to the audiohook service. This connection enables real time audio streaming with gRPC to the Agent Assist integration backend. The connector provides a framework for handling incoming audio chunks, which facilitates custom audio processing, transcription, and other AI-driven Agent Assist features.
Follow these steps to create your audio connector, also called an audiohook monitor.
- Navigate to the directory and click IT & Integrations> Integrations> Add Integration.
- Enter a search for Audiohook Monitor.
- Click Audiohook Monitor> Install> Details, and enter the name Agent Assist Audiohook Monitor.
- Click Configuration.
- Navigate to Connection URIand enter the websocket address for
your Genesys audiohook followed by the
/connectpath. - Click Channel> Both> Save.
Step 3: Create a new role for the audio connector
Follow these steps to assign a role and permissions to your audio connector.
- Follow the instructions in step 1 to create a new role and enter the name Agent Assist Audiohook Monitor.
-
Follow the instructions in step 1 to add the following permissions:
- Analytics > Conversation Detail > All Permissions
- Analytics > Conversation Detail > View
- Notifications > All Permissions
- Notifications > Bulk Channel > All Permissions
- Notifications > Bulk Channel > Add
-
Click Save.
Step 4: Create an OAuth app
Follow these steps to create an OAuth application to authorize conversation data.
- Navigate to the directory and click IT & Integrations> OAuth> Add Client.
- Enter a name for your new application.
- Navigate to Grant Typeand select Client Credentials.
- Click Next.
- Enable the Salesforce CX Cloudand Agent Assist Audiohook Monitorroles.
- Click Next.
- Enter a number for Token duration in seconds.
- Click Save.
Step 5: Configure IVR
When a voice call begins, Genesys creates a ConversationId
and uses it to create an Agent Assist conversation. The Salesforce API, called Service Cloud Voice (SCV), receives the ConversationId
that Genesys created. SCV uses the Genesys ConversationId
to ensure that Agent Assist for Salesforce retrieves the corresponding conversation from Gemini Enterprise for Customer Experience Agent Assist.
To ensure that Genesys, Salesforce, and Agent Assist all access the same ConversationId
, you must update your interactive voice response (IVR) flow to send the Call.ConversationId
to Salesforce. To do that, you must first map Genesys data to Salesforce fields. Complete this mapping before any transfers to avoid sending the transfer ConversationId
to Salesforce, which doesn't align
with the ConversationId
sent to Agent Assist.
Follow these steps to map Genesys data to Salesforce fields:
- Navigate to Architect .
- Click Add.
- Enter a name and click Create Flow> + Task> Search toolboxand enter Set participant data.
- Move Set Participant Datato Drag action here.
- Enter the following details.
- Attribute Name:
agent_assist__ConversationId__c - Value to assign:
Call.ConversationId
- Attribute Name:
- For the value to assign, click docs keyboard_arrow_down > functions Expressionand remove quotation marks.
- Click Search toolboxand enter Set external tag.
- Move Set External Tagto Drag action here.
- For the external tag value, enter
vendorCallKey. - Complete your IVR as you normally would.
- Ensure that Set Participant Dataand Set external tagoccur before any transfers.
Configure Genesys in Salesforce
Follow these steps in Salesforce to configure your Genesys CX Cloud integration.
Step 1: Remote site settings
Follow these steps to add new remote site settings:
- Navigate to Setup> Quick Find, and enter a search for remote site settings.
- Click Remote Site Settings> New Remote Site, and enter
the following details:
- Remote Site Name:
genesys_app - Remote Site URL: https://apps. region .pure.cloud
- Remote Site Name:
- Click Save & New, and enter the following details:
- Remote Site Name:
genesys_login - Remote Site URL: https://login. region .pure.cloud
- Remote Site Name:
- Click Save.
Step 2: Create a trusted URL
Follow these steps to create a trusted URL so that Genesys CX Cloud can authenticate your Salesforce instance.
- Follow the instructions to create a trusted URL .
-
Enter the following details:
- Name:
genesys_apps - URL: https://apps. region .pure.cloud
- Name:
-
Navigate to CSP Directivesand select all of the SRCs.
Step 3: Add OAuth settings
Follow these steps to add your OAuth settings to CX Cloud:
- Navigate to App Launcherand enter a search for CX Cloud.
- Click CX Cloud Genesys Settings.
- In the OAuth Settingssection, click New.
- Enter the name, client ID, and client secret from the OAuth application you previously created in Genesys.
- Enter the region from your Genesys URL.
- Click Save.
Step 4: Install Voice for Salesforce Service Cloud
Follow these steps to install Voice for Salesforce Service Cloud and enable Service Cloud Voice:
- On the CX Cloud Genesys Settings page, navigate to Voice for Salesforce Service Cloud, and click Install. Installation might take a few minutes.
- Enable Enable Service Cloud Voice.
Step 5: Configure Voice for Salesforce Service Cloud
Follow these steps to start your Voice for Salesforce Service Cloud configuration:
- On the Package Listings page, navigate to Voice for Salesforce Service Cloud.
- Click Configure> Get Started.
Add utility items
Follow these steps to add omni-channel and CX utility items:
- From the Setup page, navigate to Quick Findand enter App Manager.
- Click App Manager.
- Navigate to Service Consolein the list.
- Click Edit> Utility Items (Desktop only)> Add Utility Item.
- Enter a search for omni-channeland click the Omni-Channelresult > Add Utility Item.
- Enter a search for CX utilityand click the Genesys Cloud CX Utilityresult.
- Click Save.
Create presence statuses
Follow these steps to create new presence statuses:
- Click Setup> Open Presence Manager> New.
-
Enter the following details:
- Status Name: Available for Voice
- Developer Name:
Available_for_Voice - Status Options: Online
-
Navigate to the Service Channelssection and click Phone> Add arrow_right > Save> Presence Statuses> New.
-
Repeat steps 2-3 but use the following details instead:
- Status Name: Available Off Queue
- Developer Name:
Available_Off_Queue - Status Options: Online
Enable presence statuses
Follow these steps to enable your new presence statuses:
- Click Quick Findand enter a search for profiles> Profiles> the name of your user's profile > Enabled Service Presence Status Access.
- Navigate to Enabled Service Presence Status Accessand click Edit.
-
Confirm the Enabled Service Presence Statusescolumn contains the following statuses or add them:
- Available for Voice
- Available Off Queue
- Busy
-
Click Save.
Assign contact center permissions to user
Follow these steps to assign permissions to a user:
- Navigate to Quick Findand enter permissions manager.
- Click Permissions Manager.
-
Navigate to each of the following permissions and click its name:
- Contact Center Admin (Partner Telephony)
- Contact Center Agent (Partner Telephony)
-
Click Manage Assignments> Add Assignment.
-
Select a user and click Next> Add Assignment.
Create and configure a voice call record page
Follow the Genesys instructions to create a Voice Call record page .
Step 6: Create a contact center
From the Voice for Salesforce Service Cloud page, click Create Contact Centerand you should see new instructions.
Generate a contact center XML
Follow these steps to generate public key and contact center configuration files:
- From the Create Contact Center page, click Generate a Contact Center XML.
- Enter a display name, select your region, and enter your long distance phone number prefix.
- Click Key Generation Documentationand follow the instructions to generate a public key > Upload Filesto add your CRT file > Generate contact center configurationto download an XML file.
Create a contact center in Salesforce
Follow these steps to add your Genesys contact center to your Salesforce instance:
- From the Create Contact Center page, click Create a Contact Center in Salesforce> New.
- Choose the Genesys contact center that matches your region.
- Select Create a contact centerand click Upload XML File.
- Upload the contact center configuration XML that you generated in the previous section.
Select a contact center
Choose the contact center you created in the previous section, which automatically adds data for the following steps.
Set up integration settings in Genesys Cloud
Follow these steps to integrate your contact center with Genesys Cloud:
- On the Create Contact Center page, navigate to Set Up Integration Settingsin Genesys Cloud and choose your OAuth application.
- Enter a name for your integration.
- Navigate to Genesys Cloud Group Filtering.
- Enter a search to choose any Genesys groups whose members can use the integration, including your contact center agents.
- Click Upload Fileto upload the CRT file with your public key.
- Click Create Integration. After a few seconds, the Integration Statusshould become
Active.
Configure contact center settings
Follow these steps to setup the mappings from Omni-channel to Genesys Cloud statuses:
- On the Create Contact Center page, navigate to Status Mapping.
- Choose the statuses in each column that correspond to the table in the Genesys Cloud instructions .
- Choose Available Off Queuefor the default status.
- Click Save.
Genesys Cloud conversation field mapping
Follow these steps to map the Genesys Conversation.ConversationId
to the Salesforce VoiceCall.agent_assist__ConversationId__c
field:
- On the Create Contact Center page, navigate to Genesys Cloud Conversation Field Mapping.
- Click + Add Mapping.
-
Enter the following details:
- Conversation Attributes:
Conversation.ConversationId - Salesforce Fields: Conversation ID
- Conversation Attributes:
-
Click Save.
Add agents to contact center
Follow these steps to add agents as users in your contact center:
- On the Create Contact Center page, navigate to Add agents to Contact Center> Add Contact Center Users> Contact Center Users.
- Click Add> +for each of your agents > Done.
- Refresh the page to see the agents listed.
Step 7: Test your contact center
Follow these steps to test your new contact center and integrations:
- Navigate to App Launcherand enter a search for service console.
- Click Service Consoleand sign in to Genesys Cloud > Omni-Channeland change the status to
Available for Voice. - Click New> the check_circle for a phone number > End Call. You should see a voice record page.
- Click Setup> Edit Page.
- Navigate to Templateand click Change> Header and Two Equal Regions> Next> Done.
- Navigate to Components> Custom Managed, and move Agent Assist UI Moduleto the window that contains Add Component(s) Here.
- Click Save> Activate> Assign as Org Default> Next> Save.
Conversation ID prefix
The Genesys audiohook service adds the letter a
to the beginning of a conversationId
before sending it to Agent Assist. To access the correct conversation from Agent Assist, you must align the Agent Assist for Salesforce conversationId
with the Genesys audiohook's conversationId
. To ensure these two conversationIds
match, create a skillset
for Genesys CX Cloud and set the value of conversationIdPrefix
to a
.
Troubleshoot your contact center
If your calls aren't reaching Salesforce, Genesys Cloud might be in wrap up mode. Follow these steps to ensure your calls reach Salesforce:
- Navigate to your agent workspace in Genesys Cloud.
- If you're in wrap up mode, click Done. You should be able to place a call.
You must add Genesys Cloud's CX Utility in step 5. The CX Utility ensures that you can view Genesys Cloud components on your record page. Follow these steps to confirm you added the CX Utility:
- Navigate to the Salesforcetoolbar.
- Click Genesys Cloud CX Utility.

