Web Messaging SDK: Custom guest attributes not persisting after dynamic load

The guestAttributes object comes back empty in the interaction payload even though I am setting it explicitly in the config before initialization.

We are building a custom agent desktop extension using the Embeddable Client App SDK. The requirement is to pass authenticated user context from our internal portal into the Genesys Cloud web messaging session. We are not using the standard embedded widget HTML snippet. Instead, we are loading the genesys-web-messaging SDK dynamically via JavaScript and configuring it programmatically.

Here is the initialization logic:

const config = {
 organizationId: 'our-org-id',
 deploymentId: 'messaging-deployment-id',
 guestAttributes: {
 userId: 'user-12345',
 customerTier: 'platinum'
 }
};

const messaging = new GenesysWebMessaging.Messaging(config);
messaging.start();

I have verified the guestAttributes are present in the config object right before the start() call. However, when I look at the interaction.start event in the Genesys Cloud admin console or via the API, the guest attributes are missing. The guestId is generated by the platform, but our custom keys are not there.

I tried setting the attributes after initialization using messaging.setGuestAttributes(), but that method does not exist in the current version of the SDK docs. The only way to set them seems to be during the constructor.

Is there a specific timing issue with when the SDK sends the initial handshake? Or do we need to call a specific API endpoint like /api/v2/conversations/messaging to patch the attributes after the conversation starts? The SDK documentation is sparse on this exact scenario where the widget is loaded via code rather than a static script tag.

We are using SDK version 1.2.4. Any insights would be appreciated.