How do we pass the unique ID (passed in uuiData parameter from a thrid party CRM app) to a workflow

Here is the scenario I'm experiencing and trying to solve.

  1. Agent place and outbound call from CRM app using a button in CRM (create a call conversation API request, POST /api/v2/conversations/calls to Genesys cloud).
  2. Since CRM has to pass a Lead ID(unique id for CRM app to identify the call) I have planned to use uuiData Parameter in the API request.
  3. CRM will pass the phoneNumber and uuiData parameter in the post request /api/v2/conversations/call.
  4. I have configured a trigger for Topic: v2.detail.events.conversation.{id}.user.end, match criteria for outbound call
  5. Once call is disconnected the call enters the workflow, in the work flow GC data action is called to pull the call log, then CRM data action is called to post the call log to CRM.

The issue I am facing here is how to capture the UUID inside the workflow. I know that we can pass the UUID in inbound call flows, but I don't see an option to pass the UUIdata to a workflow.

Could you please suggest how do we achieve this or an alternate way of doing this?

The topic schema does not include every possible property for an interaction.

I suggest you create a data action to retrieve the UUI information from the conversation, call that data action from your workflow with the conversationId given by the topic schema.

You will need to determine where the UUI is within the conversation by inspecting a known conversationId with the API explorer and create the data action accordingly.

Hi @SimonBrown ,

Thanks for the reply, I dont see any API available, where I can pass conversationId and get UUI data.
Please let me know if any API is available to get UUI, that will help to resolve my scenario.

I'm not sure that UUI data is set on the conversation by default. If you have a call that has UUI data, use the conversation endpoints to get it and see if any of the participants has your data. Assuming it doesn't, you would get the UUI data in an Architect flow or in a script. If you want to ultimately have it on the conversation object so you can get it via the API, read the UUI data in your inbound Architect flow and set it as participant attributes.

See Simon's answer below; there's a property for it in the Conversations API.

General info, and docs for the Architect and Script UUI attribute, is here: About User to User Information (UUI) - Genesys Cloud Resource Center

The conversation API schema, under the calls array property does show uuiData property

I do not have a system where I can set up a UUI at present to check myself.
If you do, place a call and inspect the API response linked above in the New API explorer.

May not need to do the usual hack workaround of placing data in participant data :wink:

1 Like

Hi @SimonBrown @tim.smith ,

Yes, I know how to capture UUI data in architect inbound flows or through scripts, but in this scenario we are using workflow, there is no option in workfow to capture UUI data apart from using data action to retrieve the UUI information from the conversation.

I am not able to find any API available that can provide the UUI information by passing the conversationid.

Is there any available API, that you are aware of that can give us the UUI information in the response?

See Simon's link above:

Hi @tim.smith @SimonBrown

I am using POST /api/v2/conversations/calls to create a call with below request body
{
"phoneNumber": "9xxxxxxxxx",
"uuiData": "1234",
"callFromQueueId": "38b9bbac-2dad-41c9-xxxx-a18d07bxxxx5"
}

I use the GET /api/v2/conversations/{conversationId} - Get conversation details and I don't see uuiData under the calls array, below is the response for the same.

{
"id": "eb6384e7-fb83-4a55-b188-3c13ca93ffee",
"startTime": "2024-04-30T12:18:16.299Z",
"endTime": "2024-04-30T12:18:16.301Z",
"address": "tel:0510",
"participants": [
{
"id": "c1aadf35-b24d-41ed-a092-e3f673699f1d",
"startTime": "2024-04-30T12:18:16.299Z",
"endTime": "2024-04-30T12:18:16.301Z",
"name": "Mobile Number, India",
"externalContactId": "a149d841-6a67-4611-8a25-91b53a6a6239",
"purpose": "external",
"participantType": "External",
"address": "tel:+919xxxxxxxxx",
"ani": "tel:+919xxxxxxxxx",
"aniName": "Mobile Number, India",
"dnis": "tel:0510",
"wrapupRequired": false,
"mediaRoles": [
"full"
],
"attributes": {},
"calls": [
{
"state": "terminated",
"initialState": "offering",
"id": "b8376997-3e2d-4845-bdd5-b4ab0514480a",
"direction": "inbound",
"recording": false,
"recordingState": "none",
"muted": false,
"confined": false,
"held": false,
"securePause": false,
"segments": [
{
"startTime": "2024-04-30T12:18:16.299Z",
"endTime": "2024-04-30T12:18:16.301Z",
"type": "System",
"howEnded": "Disconnect",
"disconnectType": "error"
}
],
"errorInfo": {
"message": "No dial plan entry found for: tel:0510",
"code": "error.ininedgecontrol.connection.dialplan.notFound",
"messageWithParams": "No dial plan entry found for: {destinationAddress}",
"messageParams": {
"destinationAddress": "tel:0510"
},
"details": [],
"errors": []
},
"disconnectType": "error",
"disconnectedTime": "2024-04-30T12:18:16.301Z",
"disconnectReasons": [
{
"type": "sip",
"code": 404,
"phrase": "Not Found, number cannot be dialed"
}
],
"provider": "Edge",
"self": {
"name": "Mobile Number, India",
"nameRaw": "",
"addressNormalized": "tel:+919xxxxxxxxx",
"addressRaw": "sip:9xxxxxxxxx@115.110.213.42",
"addressDisplayable": "unavailable"
},
"other": {
"name": "Extension",
"nameRaw": "",
"addressNormalized": "tel:0510",
"addressRaw": "sip:0510@10.107.28.242:8140;transport=tcp",
"addressDisplayable": "unavailable"
},
"afterCallWork": {},
"afterCallWorkRequired": false
}
],
"callbacks": [],
"chats": [],
"cobrowsesessions": [],
"emails": [],
"messages": [],
"screenshares": [],
"socialExpressions": [],
"videos": []
}
],
"recordingState": "NONE",
"divisions": [
{
"division": {
"id": "2ddbbb07-aa75-4a5d-910d-8961ca98275c",
"selfUri": "/api/v2/authorization/divisions/2ddbbb07-aa75-4a5d-910d-8961ca98275c"
}
}
],
"recentTransfers": [],
"securePause": false,
"utilizationLabelId": "631f0939-be32-495a-baf9-970abb039192",
"selfUri": "/api/v2/conversations/eb6384e7-fb83-4a55-b188-3c13ca93ffee"
}

Have you followed the configuration steps to set up UUI in your org? Have you verified that your carrier supports UUI?

If yes to both of those questions, please open a case with Genesys Cloud Care or your carrier to investigate; we are unable to investigate data or telephony issues via the forum as we do not have access to your org's data or telephony logging.