We are on 4.4.4 and have a Queue with tickets that have attached documents containing information for our Contact Centre Agents e.g. Customer Information Circulars. As each circular is logged in the Queue our agents have to comment on the ticket to confirm they have read and noted the contents.
For effective servicing it is vital that we can confirm that ALL agents have read each circular after it is released. Currently one of our staff is tasked with laboriously going the body of each of these tickets to confirm who has commented and who hasnât which is a massive waste of time. Once confirmed we then Resolve the ticket.
So, intending to create a search for each agent which we can put on one dashboard, I used the Query Builder to create a search like this:
Queue = âCUST-Verbatimsâ AND Status = âActiveâ AND UpdatedBy != âJoeSâ
But, it doesnât work and seems to return all Active tickets in the Queue even those that âJoeSâ has NOT updated. The != (isnât) search parameter is specifically supported in the Query Builder so what am I missing here? Any ideas what is wrong?
I can replicate that behaviour in my 4.2.2 system, and in our test 5.0.7 install.
Interestingly, LastUpdatedBy does work correctly. Each of the other three fields in the Query Builder dropdown, Owner, Creator, Last Updated By will only return a single value, but Updated By could be a list.
If I try a query when there is just one updater, it still fails, so it does look like youâve found a bug!
Could you have script that makes child tickets for each agent?
Maybe a learning management tool like Totara - https://www.totara.com/ - might be better? Each doc could be a certification and then you track completion. (I use Totara at work for our security awareness training etc)
Maybe @Lloyd can solve this specific problem via Totara or similar, but the bug is there. The â!=â operator doesnât work with UpdatedBy to me too.
Thanks for all the feedback I have been quietly pulling out my hair about this one!
This will be my first bug report, so will report it as requested.
@Andrew_Ruthven the beauty of using tickets in our Verbatims Queue is that we can expose all these tickets on a dashboard search and include a document link directly to the attached .pdf. Our agents can then Ctrl-F and search for a keyword (e.g. medical scheme name) to locate the applicable circular/s tickets quickly and open the document directly in the browser all without leaving RT. Speed is king when youâre chasing reduced average call times.
We will look at the bug ticket but for now I think you might be able to achieve your desired search results by adding UpdatedBy != âRT_Systemâ to your search.
What is happening is there are transactions created by the RT System user, such as sending email, so most tickets will still match the criteria.
Thanks to your comment Iâve analyzed the history to understand what != really means.
UpdatedBy != âuser1â finds all tickets because RT_System user also modify all tickets.
Adding UpdatedBy != âRT_Systemâ doesnât solves @Lloydâs question because if a ticket is updated by user1 and user2, it will be shown in the results tab too (because itâs updated by user2 that != user1).
So, this question is still open.
It will be a good idea if UpdatedBy could accept syntax like UpdatedBy not in (user1, user2,âŚ).
Just an idea: What about using a CustomRole âHasToReadâ?
OnCreate all agents stored in a group put in to this role. Each time a Comment is done the agent is removed from that role.
It is possible to compare to NULL to see if there is somebody left who has to read.