Passing CRM ID in Genesys Web Messaging startChat() for webhook correlation

Quick query on the correct way to inject a CRM customer ID into the Genesys Cloud Web Messaging SDK before calling startChat().

I’ve got a webhook listening to the routing:conversation:event stream. The goal is simple: correlate the inbound web chat session with our internal CRM record so I can push context back immediately. The problem is the payload arriving at my endpoint is missing the custom attributes I’m trying to set.

Here’s the snippet I’m using in the frontend:

const client = await PureCloudPlatformClientV2.init({
 baseUrl: 'https://api.mypurecloud.com'
});

await client.conversationsWebMessagingApi.startChat({
 conversationRequestBody: {
 channelType: 'webchat',
 attributes: {
 "com.mycompany.crmId": "cust_12345"
 }
 }
});

The connection establishes fine. No 4xx errors. But when I inspect the routing:conversation:event payload in the webhook, the attributes object is empty or just contains the default system fields. I’ve checked the event logs and the attributes field exists but is null.

Is there a specific namespace requirement for custom attributes in the startChat payload? Or does the SDK strip out non-standard keys before sending to the API? I’ve tried using the customAttributes key instead of attributes but that results in a validation error.

Just need to know if I’m missing a config flag or if this is a known limitation with how the SDK serializes the initial request body. The docs are vague on the exact schema for conversationRequestBody.attributes.