Transfering participant to Secure IVR flow from Genesys Cloud for Salesforce

We are working with a customer's Salesforce vendor on a Secure IVR. We have advised them to create a button in Salesforce that will use the following API calls when pressed by the agent:

  • Retrieve caller’s participant ID using /api/v2/conversations/{{conversationId}}

  • Transfer the retrieved participant ID to the Secure IVR by making a call to /api/v2/conversations/{{conversationId}}/participants/{{CallerParticipantId}}/secureivrsessions using the following body template:

    {
    "sourceParticipantId": "{{CallerParticipantID}}",
    "flowId": "{{SecureIVRFlowID}}",
    "userData": "{{UserData}}",
    "disconnect": false
    }

I have suggested retrieving the Bearer Token via a small pop-up window immediately upon agent login to the CTI for future use when the button is pressed. Is this a good approach? Are there any best-practice suggestions out there for making this work relatively seamlessly for the agents using this button in Salesforce, especially in reference to making OAuth authentication as seamless as possible for the agents?

Thanks in advance.

Hello,

There is an available action in the Embeddable Framework, to retrieve an authentication token that you can use for the Platform API requests.
See User.getAuthToken here.
That would be the proper way.

You'll need to create an OAuth Client for your embeddable framework if you haven't done so already.
And define the corresponding clientId in your embeddable framework configuration (see step 3 of private deployment or public deployment).

Regards,

Thank you for your help!

Hi Jerome

Does this work with embedded softphone in Salesforce ?

if it does, can you provide some direction on how to retrieve the token in Salesforce?

thank you
Yuezhong

Hello,

I am not familiar with Salesforce (I mean that I don't have access to an environment with GC and Salesforce).
So getting the token might also work with SFDC.

But checking the documentation, I have noticed a method (available on Salesforce console and Salesforce Lightening) which appears to be meant for transfer to secure flows.

This relates to the configuration of events in Salesforce.
Following the links, there are methods: Interaction.updateState and changeState using action set to secureSession.
See here:

As a note, I am currently out of office for a week and a half. So if you have other questions, it would be better to start a new post/thread so other people can see there is a pending question.

Regards,

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.