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 we can route them to the right queue in Architect.
Here’s the init code:
const widget = new GenesysCloud.WebMessaging({
appId: 'our-app-id',
environment: 'mypurecloud.com',
guestAttributes: {
externalId: 'user-12345',
segment: 'vip'
}
});
widget.startConversation({
displayName: 'John Doe',
email: 'john@example.com'
});
The session starts fine. But when I check the routing.interaction.created event in the Express listener, the customAttributes object is empty. The externalId and segment fields are missing entirely.
I tried adding them as tags instead, same result. Also tried passing them in the startConversation payload:
{
"displayName": "John Doe",
"customAttributes": {
"externalId": "user-12345"
}
}
No luck. The SDK logs show the attributes being sent, but they don’t stick to the interaction context. Is there a specific flag or header needed to persist these? Or is this a known limitation with the current SDK version (2.1.4)?
Any help would be appreciated. Stuck on this for a day now.