{
"attributes": {
"system": {
"channel": "webchat",
"id": "chat-session-8842"
},
"custom": {}
}
}
I am debugging an Inbound Message flow in Genesys Cloud Architect where custom attributes set via the Web Messaging widget are not populating as expected in a subsequent Data Action. The widget configuration correctly sets customAttribute1 and customAttribute2 on the client side before sending the message. I can see these attributes in the messages table via the Conversations API, but they are absent from the participant object passed to the Data Action.
Here is the relevant JSON mapping in the Data Action configuration:
{
"inputs": {
"customerEmail": "{{participant.attributes.custom.email}}",
"orderId": "{{participant.attributes.custom.orderId}}"
},
"outputs": {
"result": "{{result}}"
}
}
The flow triggers correctly, and the Data Action executes without error. However, the downstream API call receives empty strings for customerEmail and orderId. I have verified that the attribute names match exactly, including case sensitivity. I also attempted to access them via {{participant.customAttributes.email}} based on older documentation, but that resulted in a “Reference not found” error during flow validation.
I suspect there might be a scoping issue or a delay in attribute propagation when the message is first received versus when the Data Action executes. I have added a wait node to test for timing issues, but the attributes remain empty. Is there a specific syntax for accessing webchat custom attributes in the current Architect expression engine, or do I need to fetch them via a REST API call within the flow using the conversation ID?
How do I correctly reference participant custom attributes set by Web Messaging within an Architect Data Action JSON mapping?