Skip to main content

Integrating Genesys Cloud CX and Salesforce

Genesys Cloud CX and Salesforce Integration

Customising a CRM integration between Genesys Cloud CX and Salesforce

INTRODUCTION

In today's customer-centric landscape, integrating various platforms to streamline operations and enhance user experience is paramount. At QVCCS, we specialize in creating sophisticated integrations that bridge the gap between platforms, enabling seamless data flow and enhanced functionality. One such integration involves linking Salesforce with Genesys Cloud, facilitating an efficient and comprehensive CRM solution.

SCENARIO

The challenge was to integrate Salesforce and Genesys Cloud to leverage the strengths of both platforms, creating a better environment for both the Caller and the Agent. Detailed information about the client and their cases are hosted on Salesforce. How can we make this information accessible to Agents working within a Genesys-hosted Contact Centre whilst at the same time customising the schema in Salesforce to meet the client requirements head-on?

This required creating custom fields in Salesforce, creating custom data actions in Genesys, and implementing them within a flow that meets the specific business requirements.

SOLUTION

Our approach involved a series of strategic steps to ensure a robust and seamless integration. Firstly, custom fields are required in Salesforce to capture necessary customer data. Default data actions within Genesys must be customized to return all relevant data from Salesforce about the Client and any cases they are associated with. These data actions are implemented within a call flow to read and write data to and from Salesforce as required by each scenario.

A caller can open new cases or leave comments on open cases without the need to interact with an Agent. Should a caller require further assistance, an Agent is able to view the caller's details, any related cases, or comments, all within the Genesys system. Our solution enhances operational efficiency and user experience.

TECHNICAL REQUIREMENTS AND COMPONENTS

  • Salesforce: Used for managing customer service requests, tasks, activities and capturing detailed customer information.
  • Genesys Cloud CX: Employed for advanced customer interaction and workflow management.
  • Custom Fields in Salesforce: Created to capture specific customer information relevant to the integration.
  • Genesys Cloud CX Data Actions: We created custom-data-actions that were suitably modified to interact with the custom fields in Salesforce and retrieve or update information as needed at the runtime.
  • Genesys Cloud CX Architect Flow: The IVR (Interactive Voice Response) system guides callers through various options and collects necessary information. Data actions are called upon within the flow to interact with Salesforce.
  • Genesys Cloud CX: Agent Scripting to surface integration data in the screen pop, to show data attributes picked up in the inbound flow, reveal data captured in SetParticipantData, all designed to give the agent an unfair advantage in the first few milliseconds of the call.
    Note, this is done in one format for standard inbound calls, and in another, for casually dialed outbound calls on behalf of a queue, so that agents who are reaching out to customers can easily open Salesforce at the right place and at the right time if needed.

Salesforce stands out for its extensive customization capabilities. With Salesforce, you can create custom objects, fields, and workflows to tailor the CRM to your specific business needs. This flexibility allows for the interlinking of various objects like Accounts, Contacts, and Cases, providing a holistic view of customer activities, tasks, and fulfilment. For instance, an Account object can be linked to multiple Contacts and Cases, offering a detailed perspective of the customer’s history and current issues. This interconnected structure enhances data accessibility and operational efficiency, making it an ideal CRM platform for complex business environments.

IMPLEMENTATION STEPS

Create Custom Fields in Salesforce

In Salesforce Object Manager, all the Objects in Salesforce and their API endpoint are listed. In our case we want to add custom fields to the Contacts as this information is used to drive the Genesys IVR experience. Within Contacts > Fields & Relationships, new custom fields can be added, specifying the field type such as integer, text, date, checkbox etc. All custom fields you create are surfaced over the API with _c in their naming convention, so be on the lookout for that!  We use, for example, a data-action in Genesys that looks up the contact by their calling line identity (CLI or ANI), then using that e.164 attribute we lookup the preferred language for the IVR from the custom fields, then we use that field value to change the personality of the IVR for that customer, and in real-time.  In our use case, we had to change the enhanced wavenet Text-to-Speech engine from UK English, to US English or Australian English persona on the fly, to the data-action runs in milliseconds, returns the result and the customer experience within milliseconds of the call starting is immediately personalised to their identity and CRM record.

Salesforce, custom fields (Date of Last Contact, Lifecycle Value, Preferred Language, Account Number, Customer PIN, et al

Configure Genesys Cloud Data Actions

Genesys includes default data actions for various integrations within the AppFoundry, however, these can be limited and require customizing for the client's specific use cases. We modified existing data actions and created new ones in Genesys Cloud to interact with the Salesforce API in the desired manners. The data actions are designed to retrieve, update, and manage customer data within Salesforce.  We write the results of those mappings to Participant Data too, so that they may be appended where useful to the conversation record in Genesys and used downstream, for example, in Quality Management and so on.

Configure Genesys Cloud CX Data Actions for Salesforce

Make sure that you correctly configure the response schema to avoid handling errors whilst running your data-actions.  This is very important for any returned data that contains arrays.

Genesys Cloud CX Data Action Response Schema

Implement the Integration in a Genesys Flow (or as required)

The next step is integrating the modified data actions within a Genesys flow. This setup ensures that customer interactions are managed efficiently, with seamless data exchange between Salesforce and Genesys Cloud.

Accessing the data-action in Architect

The figure, above, shows the "Get Most Recent Open Case By Contact Id" being called. The Set Participant Data is a useful tool for logging the flow progress. Viewable in the interaction details it can be used to see the route the Caller took in the IVR.  We also use the same SetParticipantData events to write data surfaced from Salesforce directly to Genesys Cloud CX so it is indexed with the conversation details, and can be used for screen-pop in agent scripting.

KEY CONSIDERATIONS

  • Data Security: Ensuring secure data transfer between Salesforce and Genesys Cloud using OAuth authentication and secure APIs.
  • Scalability: Designing the integration to handle varying volumes of customer data and interactions without performance degradation.
  • User Experience: Creating intuitive workflows that enhance the experience for both customers and support agents.
  • Extending Salesforce so it holds the data structures necessary to drive your customer experience in real time, personalising the customer experience, easing customer effort, automating Identification and Verification (ID&V), and much more...
  • Preparing information so that it can be shown to an agent when or if the calls is transferred via the ACD to a queue for an agent to handle
  • Consider writing events back to Salesforce every time the customer contacts the contact centre, for example, completing a CALL LOG event after each call, and publish the link to the interaction in the Log in Salesforce, like this...
Creating a call log record in Salesforce after a Genesys Cloud CX interation wraps up (via data-action)

Preparing your agent script

In the event that the customer elects to speak to a customer service agent, then it is incumbent upon us as an integrator to give the agent an unfair advantage during those first few-milliseconds of the call arriving.  Ideally, the agent will know who is calling, why they are calling, what they are calling about and so on. We call this is 5WH principle, namely, WHO, WHAT, WHY, WHEN and WHERE.  In the example pictured below, we are showing the agent useful information picked up during the inbound flow and gathered from Salesforce; we've blended the information and actively change the layout of the screen-pop according to the status of the payload on its arrival to the agent.

For example,

  1. A header image that re-inforces the intent or nature of the call by its queue (or other such convention)
  2. Showing that the customer successfully identified and verified themselves (using the account number and PIN challenge in the IVR), this is personified by the background colour and the text status of TRUE
  3. Showing a quick button, so the agent may immediately open the right record in Salesforce if and when it is required
  4. Showing the agent the originally dialled number and ANI
  5. Showing the IVR exit point, as it is a good indicator of customer intent
  6. Declaring the customer segment from Salesforce data attributes on the record
  7. Showing the rolled up sum Total Customer Lifecycle value to the agent, useful as a function of the segment and the Current_Balance (all custom fields by the way)
  8. Showing the agent that Salesforce was successful in all aspects for ID&V, account lookup, status and so on
  9. Using the Customer Preferred Language field from Salesforce to play the entire customer experience in the IVR in wavenet UK english (on this occasion)
  10. Showing other external contact attributes like email address, which may be useful if the agent needs to go across channels to handle the enquiry
An example agent-script for screen-pop (basic version)

Using this approach, we've been able to completely automate the customer experience, even as far as allowing a customer to ID and Verify, then to provide a subject for a new ticket using a 'Say Anything' Voice Bot Flow, then capturing another "Say Anything" payload for the description of the issue, then creating a new ticket in Salesforce, updating the data-action so this new ticket is now the latest ticket on the account, then routing the caller to a helpdesk team member who can immediately support the customer.

CONCLUSION

Integrating Salesforce with Genesys Cloud provides a powerful CRM and interaction management solution that enhances customer service capabilities and operational efficiency. At QVCCS, we have successfully implemented this integration, leveraging the strengths of both platforms to deliver a seamless and robust solution for our clients. Salesforce's customizability allows for a highly tailored approach, interlinking various objects such as Accounts, Contacts, and Cases to provide a comprehensive view of customer interactions and streamline workflow management.

Beyond the primary integration, there are numerous other possibilities to further enhance your CRM capabilities. For example, integrating Salesforce and Genesys Cloud can enable advanced features such as predictive dialing, automated follow-ups, and sentiment analysis. These features can help prioritize high-value leads and provide agents with real-time insights into customer sentiment during interactions. Additionally, you can leverage Salesforce's robust automation tools, like Process Builder and Flow, to automate routine tasks and complex business processes, freeing up your agents to focus on more strategic activities. Integrating Salesforce with other third-party applications, such as social media platforms or e-commerce systems, can provide a holistic view of customer interactions across multiple channels, leading to more personalized and effective customer engagement strategies. By exploring these additional possibilities, you can create a more dynamic and responsive CRM solution tailored to your specific business needs.

ADDITIONAL RESOURCES

Gotchas'

We can hear the reader asking, "Well, why not use the new embeddable framework and just put the agent experience right inside Salesforce?". 

It's a good question. 

The reason we elected, in this case, to go with a deep data-action based integration is that the use of Salesforce, with the embeddable framework for Genesys Cloud CX was simply far too expensive on a monthly basis for the client. If you add your Genesys Cloud CX 3 license to the prerequisite Salesforce ENTERPRISE or UNLIMITED editions for every single agent it gets expensive; quickly.  Our client was able to implement 95% of the desired use cases via deep data-action integration, making Salesforce available at the runtime at a MUCH lower functional license tier, but still providing a well integrated solution that exposed the power of Salesforce and Genesys combined.  So, yes, we were driven to deep integration for commercial reasons in this case.

As a developer, if you are attempting to leverage the Genesys Cloud CX embeddable framework for Salesforce, and you can get 75% of the way through the integration steps and then it all fails with errors that associated objects cannot be found, it is because you are attempting to leverage the embeddable framework in a version of Salesforce which does not meet the minimum requirements.  You must be on ULTIMATE or at least ENTERPRISE edition for "Service Cloud with Partner Telephony".  You will find that out of the box Amazon Connect integrations are available at much lower license tiers; Genesys is limited to the top 2 tiers.  This is not described in the Genesys Cloud CX Resource centre.  To set up Service Cloud Voice with Partner Telephony, these editions must be true, and they are only available as add-ons to Sales Cloud, Service Cloud and Government Cloud as an add-on license.  Government Cloud is supported only on Service Cloud Voice with Partner Telephony from Amazon Connect and Service Cloud Voice with Partner Telephony.  This may be another reason why you dig deep with data-actions instead of Embeddable Framework based approaches.

By the way, we've done the same integrations on Zendesk, ServiceNow and Microsoft Dynamics, so if you have any questions please don't hesitate to reach out to us.