11-04-2016 06:44 AM - edited 03-14-2019 04:44 PM
Hi Experts,
We are trying to implement passing of metadata from UCCX-Finesse to Calabrio.
I have configured a workflow in Finesse that invokes an action when a call ends.
I have configured the workflow as per Calabrio integration guide:
Name - metadata
Type - HTTP Request
Handled By - Finesse Desktop
Method - POST
Location - Other
Content type - text/json
URL - http://recording_server_ip/recordingcontrols/rest/metadata
Body -
{
"peripheral_id":"1"
"SenderID":"loginId"
}
When I look into the browser console log of the Agent's Finesse desktop, I could see a 200 response from the Calabrio server:
Received return code of 200 from http://recording_server_ip/recordingcontrols/rest/metadata for WorkflowAction.
But when I did a packet capture in Agent's PC , I am not able to see anything being sent from the PC itself to recording server. I assume UCCX is sending the HTTP request to calabrio whenever a workflow action like above is triggered.
The actual problem : Calabrio support is saying that UCCX is not sending any HTTP request for it to process the metadata
Is there a way to verify that UCCX is actually sending a HTTP request other than Packet capture ?
Something like a log that would show this information ?
This issue is causing a big problem to customer's daily operations and I hope someone would help with this.
Thanks,
Anand
11-07-2016 11:07 AM
Hi Anand,
I just finished implementing this on our 11.5 environment. It looks you aren't passing any metadata. There is a metadata tag that specifies what data you are sending. The peripheral ID and login ID I believe just ties it to the proper recording. Here is what mine looks like:
{"peripheral_id":"1","sender_id":"${loginId}",
"metadata": {"account" : "${callVariable1}" , "sessionid" : "${callVariable8}", "calltype" : "${callVariable2}", "call_segment": "1" , "csqID" : "${callVariable5}" }}
I also followed the steps outlined here:
http://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-workforce-optimization/118831-technote-uccx-00.html
08-24-2020 11:33 AM
This is pretty old, and I'm guessing you found a solution already. I figured I would share some of what I just found out when I was having the exact same issue. I'm pretty sure my whole problem was using the display name of the metadata fields, and not the key names. All of my key names are suffixed with "_cdf". Once I updated them to that, I was able to update metadata values. The body of my POST request is below. I hope this helps someone in the future, because I spent a few hours on it today.
{ "peripheral_id" : "1", "sender_id" : "${loginId}", "metadata": { "called_store_cdf" : "${callVariable6}", "handled_csq_cdf" : "${callVariable4}", "call_segment": "1" } }
08-25-2020 07:58 AM
09-28-2020 09:44 AM
Hi,
Will this work with the cloud version of Calabrio One?
Regards,
Ricardo
08-16-2023 05:35 AM
Hi,
I know this is an old thread, but I just did a UCCX integration with the cloud version of Calabrio One and the field names and syntax changed slightly from the code above. Here is the body of my working POST:
{ "acdServerid" : "4", "acdId" : "${loginId}", "metadata": [ { "name" : "csq-key", "value" : "${callVariable2}"
}
{ "name" : "crm-account-key"
"value" : "${callVariable3}" }
] }
08-16-2023 07:33 AM
07-22-2024 08:00 AM - edited 07-22-2024 08:05 AM
Working through a similar request to post metadata to Calabrio One Cloud and receiving a 401 unauthorized error on the API metadata post using a Finesse workflow. Can elaborate on how you managed to make this work? How did you handle authentication? What API URL did you use for this post? Thanks!
07-25-2024 10:34 PM
Hi @stalljr ,
This API that was described by @smmillerd is unauthenticated and points to the local recording Calabrio server you have (called data server in the Calabrio GUI) it needs the API to be enabled in the Calabrio Cloud for the Data Server where you will be pointing the API requests.
To use the Calabrio one cloud API which is different one that is being described here, you have to make a request to get the “token” and from there you can use the API, if I recall correctly the token expires after a certain time and this process to request the token needs to be repeated, which is something that the finesse workflow can’t do, hence why the unauthenticated local Calabrio recording data server is used for data tagging with the finesse workflow events.
If you Calabrio cloud instance is user synced with your CUCM, the API as depicted will work
I don’t have it handy, but look for the Calabrio Cloud Local Data Server API and that will get you across the finish line.
Another note, there are 2 Calabrio API documents the Calabrio Cloud One and the Data Server ApI, just to make sure you get to the right one.
Hope this helps !
03-04-2024 05:45 PM - edited 03-04-2024 05:46 PM
Little Heads up in relation to this MetaData Tagging:
One of our clients has several 15+ UCCX 12.5 and CUCM 14 Clusters integrated to the same CalabrioOne / Webex WFO tenant, Call/Screen recording works great, when trying to do the metadata tagging this approach documented here doesn't work.
According to Calabrio TAC, It seems that for this API request format to work you need to have your Calabrio Servers doing ACD Sync (to push all the users from CUCM to the Calabrio Cloud), this populates automatically the the Calabrio User page, the ACD ID and ACD ID server.
If it is not done like that this (CUCM ACD Sync from CUCM to the CalabrioOne CLoud) the API will return a 400 message all the time, Calabrio TAC ended up explaining this is a limitation for our setup, because all of our CUCMs have the same AD users (its a big Corp) and that is what CalabrioOne doesn't like, you are golden if your CUCMs have different users because in that way you can sync all the CUCM AD users.
They also explained that manually populating in the calabrio GUI the ACD ID and ACD Server ID won't work.
I have always worked in a single UCCX and CUCM cluster integrated to the CalabrioOne cloud tenant, never multiple UCCX and CUCM clusters, so it was unfortunate to see that the CalabrioOne set up had this limitation. We are going to work with Calabrio API Services to see if this metadata tagging can be done, in our setup.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide