Running into a weird issue with the Genesys Cloud Web Messaging SDK. We’re trying to deploy the widget for authenticated users on our portal. The goal is to pass the CRM ID and user segment via customAttributes so the Studio flow can pick them up immediately.
Here’s the init and start code:
const guestConfig = {
guestName: currentUser.name,
guestEmail: currentUser.email,
customAttributes: {
"crm.id": currentUser.id,
"user.tier": "premium"
}
};
genesysWebMessaging.startChat(guestConfig);
The chat opens fine. The conversation starts. But when I check the conversation object in the Genesys Cloud admin UI, or try to read those attributes in Studio using GetConversationAttributes, they are empty. The guestName and guestEmail populate correctly, but the custom keys are gone.
I checked the network tab. The POST to /api/v2/conversations/webMessaging includes the attributes in the payload. It looks like this:
{
"from": {
"id": "...",
"name": "...",
"email": "..."
},
"customAttributes": {
"crm.id": "12345",
"user.tier": "premium"
}
}
The response is 200 OK. But the attributes don’t persist. I’ve tried different key formats (camelCase vs dot notation), same result. Is there a specific permission or SDK version quirk here? Or does startChat just ignore customAttributes for some reason?