Web Messaging SDK startChat not passing customer_id to Architect

I’ve noticed a weird symptom where our custom customer_id attribute isn’t showing up in the Architect flow even though I’m clearly passing it in the SDK call. The chat starts fine, but when the bot tries to look up the account, it comes back empty. This is breaking our self-service flow for returning users.

I’m using the Web Messaging SDK v2. We’re trying to pass the CRM ID directly in the startChat options so we can use it immediately in the first Architect block. Here’s the code snippet from our frontend app:

const chatOptions = {
 conversationName: 'Support Chat',
 customAttributes: {
 customer_id: 'CRM-12345',
 source: 'web_portal'
 }
};

genesysCloudWebMessaging.startChat(chatOptions);

I checked the browser network tab and the initial handshake looks okay. I see the payload being sent to the Genesys Cloud endpoint. However, when I check the Architect trace, the customer_id attribute is null. I’ve also tried adding it to the labels object instead, but that didn’t help either.

Is there a specific format required for customAttributes in the startChat method? Or do I need to use a separate API call to update the participant data after the chat is established? I thought passing it in the start options was the recommended way to avoid race conditions.

The documentation is a bit vague on whether these attributes are available immediately in the first Architect block or if they get synced later. I need this data right away to personalize the greeting. Any ideas on what I’m missing here?