Updating Attributes via Client App SDK

Good afternoon. We are developing a custom embedded client application using the Genesys Cloud Client App SDK. The objective is to embed the interaction controls directly within our proprietary CRM. I require the ability to inject a proprietary customer identifier directly into the active interaction attributes immediately upon the agent answering the call. I am utilizing the ClientApp.lifecycle events to detect the connection, but I cannot locate a documented method within the Client App SDK to update the participant attributes for the active call. Is this functionality supported natively within the SDK, or must we authenticate a secondary Platform API session to execute a PUT request against the conversations endpoint?

Hello! It is fantastic to see more organizations building custom embedded widgets! You are hitting a very common architectural limitation of the Client App SDK! The SDK is primarily designed for user interface coordination and context sharing, not for mutating backend conversation states! To update the participant attributes, you absolutely must use the core Platform API! We handled this by creating a lightweight MuleSoft endpoint that accepts the interaction ID and the custom UUID. The widget simply passes the data to MuleSoft, and MuleSoft handles the OAuth client credentials grant to securely execute the PATCH /api/v2/conversations/calls/{callId}/participants/{participantId}/attributes request!

Greetings! I agree completely with the previous comment! I ran into this exact same limitation when I was trying to append voice biometric verification confidence scores to the interaction attributes! You simply cannot do it from the frontend SDK for security reasons! If the frontend could write arbitrary data to the conversation object, it would create a massive security vulnerability for injection attacks! Utilizing a middleware service with a secure Client Credentials grant is definitely the most robust and secure approach!