I’m seeing a weird gap between what the API returns and what Architect sees. We’re setting custom attributes on the participant during the initial Web Messaging connection using the Node.js SDK.
Here’s the call:
await conversationsApi.postConversationsWebParticipantAttributes(
conversationId,
participantId,
{
attributes: {
'loyalty_tier': 'gold',
'region': 'ap-jp'
}
}
);
The API returns 204 No Content immediately. If I hit GET /api/v2/conversations/web/.../participants/{id} right after, the JSON payload clearly shows the attributes are there.
But when the message hits the Architect flow, specifically the Inbound Message trigger, the participant.attributes object is empty. I’ve tried adding a delay task, but it doesn’t help. It feels like the flow is evaluating the participant state before the webhook or SDK update propagates to the routing engine.
Is there a specific event I need to listen for to ensure the attributes are flushed to Architect context? Or am I missing a header in the SDK call?