Name field is not populating in the external field only "Guest" is shown in the Interaction details view

The scenario:

Note: This is a first time implementation and only at the Phase 1 of the project.

Employee needs to login to the website before they can send a web message. They are using SSO to login to the website and once they login, their name appears on the website as a login name.

Then, they initiate the chat and the name should be populated automatically in the chat window as per the login name and that name should pass to Genesys.

Question 1: Is the code to pass the name field correct?

startMyChat(window, 'Genesys', 'https://apps.mypurecloud.com/genesys-bootstrap/genesys.min.js', {
environment: 'prod',
deploymentId: '*****************************',
messaging:{
customAttributes:{
name: profile.ms_response.user_profile.minimal_profile.name
}
});

function startMyChat(g, e, n, es, ys) {
g['_genesysJs'] = e;
g[e] = g[e] || function () {
(g[e].q = g[e].q || []).push(arguments)
};
g[e].t = 1 * new Date();
g[e].c = es;
ys = document.createElement('script'); ys.async = 1; ys.src = n; ys.charset = 'utf-8'; document.head.appendChild(ys);
}

Question 2: How to validate if name is passed correctly from a website to Genesys web message?

My understanding is if the passing of name is successful, the name field will be available in participant data then the Architect Inbound message from will use "Get Participant Data" data action. Kindly advise if this is correct.

But as of now, using the code above, the name is not passed correctly in Genesys side. Per the screenshots below, the external name is still guest and the name is not passed in the participant data.

Thanks!

For this scenario, we do have native support for End-User sign-in based SSO via OpenID Connect (OIDC) integration: this would ensure name is captured automatically via back-end integration, rather than on the client.

This way End-User identity can be retrieved via Architect built-in variables:

The name captured via OIDC integration will automatically populate in Agent and Supervisor UIs (see screenshot).

You can still use customAttributes if that's convenient for your business.

Angelo,

I like the approach for that SSO via OpenID Connect, but the website where the employee is logging in via SSO is already running live in production. It has the employee details like the employee name that we are trying to pass to Genesys Cloud (GC) web messaging widget.

The only new here are the GC web messaging and integration between that website to the widget going to GC.

Can you please assist us on how the customAttributes will work? If possible, we need a step by step guide on how to implement it.

Are there any installations like javaSDK to the website to make that Genesys Command works?

Here is the documentation I found, is this what we need?

Thanks,
Dan Nacion

@DanNacion I would still recommend to implement SSO via OpenID Connect integration, even if your environment is already live: you would gain benefits in how Name is handled within the platform.
As a workaround, see this other post using customAttributes mapping to Participant Data > Add Name to alerting tile

@Angelo_Cicchitto, once the authenticated web message is added, how can I pass other attributes like employee's country? How and where will the Inbound Message flow will pull that attribute - the authenticated web message has only 4 available attributes?

Thanks,
@DanNacion

We'll be adding more of the OIDC claims as native contact attributes on our product roadmap. Please see/vote this Idea > Genesys Cloud Ideas Portal

@Angelo_Cicchitto, I found this post in the forum:

Is it possible to pass the country id as one of the custom attributes then the Inbound Message flow will pull that from Participant Data via "Get Participant Data" data action?

Thanks,
@DanNacion

For data that is not identity, then you can use https://developer.genesys.cloud/commdigital/digital/webmessaging/messengersdk/SDKCommandsEvents/databasePlugin#database-set.
This will achieve this for non-secure information. As mentioned above, the identity is more secure via authentication, but other data can be grabbed from the page in javascript and sent via the command I attached.

All issues are resolved.

  1. Passing of attributes from website to Genesys web message

startMyChat(window, 'Genesys', 'https://apps.mypurecloud.com/genesys-bootstrap/genesys.min.js', {
environment: 'prod',
deploymentId: '8b8df799-702a-4de5-ab93-3bbd9eee863f',
run: () => {
Genesys("command", "Database.set", {
messaging: {
customAttributes: {
name: profile.ms_response.user_profile.minimal_profile.name,
country: profile.ms_response.user_profile.full_profile.addresses.subfields["61"].value
}
}
})
}
})

function launchMessenger(){

Genesys("command", "Messenger.open", {},
    function (o) {
        Genesys("command", "Database.set", {
            messaging: {
                customAttributes: {
                    name: myName,
                    country: myCountry
                }
            }
        }
        )
    },
    function (o) {
        Genesys("command", "Messenger.close");
    });

}

  1. Use the attribute field "name" so name will be populated once call is transferred to Service Now via Softphone integration.

  2. Use external contact to populate the Guest name

Again, thank you @Angelo_Cicchitto and @msassoon for replying to this thread.

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