Reporting on user inputs in Virtual Agent

Ryax1
Tera Guru

Hi all,

Does anyone know of a way to report on user inputs within Virtual Agent? We would like to do some trend analysis on certain user inputs (e.g. seeing how many people clicked 'Yes' and how many clicked 'No' on a certain user input). 

I am aware of the OOB dashboards and reports that ServiceNow offer for VA but none seem to fit this requirement. The only place that I can find these values are stored are within the 'transcript' field in the Interaction table or the sys_cs_message table but they don't seem 'report friendly' as they are free text with lots of other jargon in them!

Any help or suggestions would be appreciated.

Thanks

Rich

1 ACCEPTED SOLUTION

Gokul Janardana
Kilo Guru

Hello,

I had a similar requirement to report on the "Yes" and "No" response from a conversation. As you figured out, there are no reporting friendly fields to achieve this requirement. I can explain you something I tried and guess what, it worked.

  1. Create a report on the table "sys_cs_message"
  2. Filter the report by using "task.topic IS <Topic Name>" (The topic which contains the user input which you are looking for.
  3. AND Filter the report again by using the specific user input title : "Payload CONTAINS <User Input Title>".
  4. AND "Payload ENDS WITH  "No"}" OR "Payload ENDS WITH  "Yes"}"

I have used Donut to represent the "Yes" and "No" in the dashboard after adding a function field in the sys_cs_message table. Please let me know if you have any questions on how to do that.

Filter Sample:

find_real_file.png

Report Sample:

find_real_file.png

 

Feel free to let me know if you have more questions on this.

If you feel it is helpful, please accept the solution and mark the response as helpful!

 

View solution in original post

16 REPLIES 16

Thanks for submitting this!

Hi Gokul,

Could you explain why in your filter you are looking for the Payload ending with Yes or No? I have just looked at one of our examples and the Payload looks like this:

 

{"uiType":"Boolean","model":{"type":"field","name":"check_if_resolved"},"uiMetadata":{"label":"Did this resolve your issue?","required":true,"maskType":"NONE","formatType":"text","totalOptionsCount":0,"totalSearchResultsCount":0,"paginationBreak":0},"value":false,"nluTextEnabled":false}

 

I'm assuming your Payload field is populated differently?

 

Rich

For each message from VA and the response from user, separate entries will be created in the table.

The one which you shared here is the message from VA. There will be another entry from the same conversation which has the response from the user. Please refer the screenshots below.

find_real_file.png

find_real_file.png

The first screenshot is the entry for message sent by VA and the second one is the response to it. You can confirm that by looking at the Session ID and Direction in this screenshot. We are just filtering the inbound entry with our user input title. Since I was not able to work on the function field with the direction filter, I have used ENDS with Yes or No.

The example which you have pasted here is an outbound entry which we need not consider.

 

Hope this clarifies!

Hi Gokul,

The value in our Payload field is not at the end like yours therefore I had to change the condition to 'Contains' rather than Ends/Starts with. This might be because we are using a Boolean user input rather than a static choice so the value is True/False instead of Yes/No.

find_real_file.png

Thanks for your help once again.

Rich

Great catch. All the best with the solution!