Participant Data Association

Hi,

We are using /api/v2/conversations/{conversationId} to get Participant Data in a conversation and we noticed the attributes seem to only show up in the first participant no matter where we set this Participant Data in Architect.

For example:

  1. Call enters Inbound Call Flow, Architect sets a Participant Data called Para_AcdStartTime then perform Transfer to ACD to Queue A
  2. In the In-queue Flow for Queue A, Architect sets another Participant Data called Para_InQueue

What we expect is Para_AcdStartTime will be under IVR participant while Para_InQueue will be under ACD participant. But the response from /api/v2/conversations/{conversationId} API shows that both attributes are in Customer participant. Below shows an extract of the response:
{
"id": "d387e537-0209-4a7e-826d-4bca3104ad6c",
"startTime": "2022-08-22T06:06:53.199Z",
"endTime": "2022-08-22T06:07:03.122Z",
"participants": [
{
"id": "629d5c45-fdf3-424a-8813-ecaddffb55be",
"startTime": "2022-08-22T06:06:53.199Z",
"endTime": "2022-08-22T06:07:03.114Z",
"connectedTime": "2022-08-22T06:06:53.237Z",
"queueId": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b",
"purpose": "customer",
"participantType": "External",
"wrapupRequired": false,
"attributes": {
"Para_AcdStartTime": "2022-08-22T06:06:53.681Z",
"Para_InQueue": "InQueueAttribute"
}
},
{
"id": "453ee5a6-ecdf-4284-aef4-7daeaf5ba8dd",
"startTime": "2022-08-22T06:06:53.203Z",
"endTime": "2022-08-22T06:06:54.040Z",
"connectedTime": "2022-08-22T06:06:53.207Z",
"purpose": "ivr",
"participantType": "IVR",
"wrapupRequired": false,
"attributes": {}
},
{
"id": "ade01d74-e388-4c48-9c2d-8fe00d7fb7cf",
"startTime": "2022-08-22T06:06:54.061Z",
"endTime": "2022-08-22T06:07:03.122Z",
"connectedTime": "2022-08-22T06:06:54.065Z",
"queueId": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b",
"purpose": "acd",
"participantType": "ACD",
"wrapupRequired": false,
"conversationRoutingData": {
"queue": {
"id": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b",
"selfUri": "/api/v2/routing/queues/048fb7f9-c9c2-48d6-ac47-48f045c6cc9b"
},
"priority": 0,
"skills": [],
"scoredAgents": []
},
"attributes": {}
}
],
"selfUri": "/api/v2/conversations/d387e537-0209-4a7e-826d-4bca3104ad6c"
}

We would like to ask is this the expected behavior? Does the Set Participant Data action only set attributes in the first participant no matter where you use it?

Would help to see an example of how you're trying to do the set.

Thank you for the response.
I am not sure what example I can give since we simply used Set Participant Data in Architect in Inbound Call Flow and In-queue Flow to set 2 different attributes respectively, made a couple of test calls then used /api/v2/conversations/{conversationId} API to retrieve said calls.

Upon further consideration, I believe this question is more related to Architect than to API. I have moved this topic to Architect instead.

That is behaving as expected/designed/intended then.
Your customer is the one passing through those flows. "An attribute is a piece of information about a participant that travels with it throughout the interaction." Set Participant Data Action

The only way to put an attribute on a specific participant is to use PATCH /api/v2/conversations/calls/{conversationId}/participants/{participantId}/attributes, hence trying to understand what you were doing to see where it was going wrong.

Thank you for the confirmation. We will retrieve the attributes from the first participant then.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.