Advanced Work Assignment True Auto Assignment?

ctsmith
Mega Sage

I've set up an Advance Work Assignment scenario--queue, service channel, etc for incoming incidents.  Works fine.  Looks pretty cool.  But, I find the auto assignment misleading in the documentation.  Yes, it automatically assigns the incident to a given agents queue, but they still have to actually accept it before the incident is truly assigned to them.  Yep, you can remove the option to reject.  I get that.  But, I want it to run through available agents and automatically assign the actual incident instead of just assigning the accept card to their inbox.  Is this possible?  I know there's another post about a script for round robin assignment of incidents via a script, but I was thinking there's a more sustainable, out of the box solution with Advanced Work Assignment. 

 

Thanks!

1 ACCEPTED SOLUTION

ctsmith
Mega Sage

Ah, got it.  Just need to add a BR to awa_work_item table and anytime a new record is inserted and Pending Accept state just change the state to Accepted.

View solution in original post

14 REPLIES 14

ctsmith
Mega Sage

Ah, got it.  Just need to add a BR to awa_work_item table and anytime a new record is inserted and Pending Accept state just change the state to Accepted.

Hi Christopher I had the same exact question/concern you had about not having to click Accept to actually assign the incident.  If you don't mind can you share how you constructed your business rule to make this work?

Sure.  I ended up switching it around just a little and created a scheduled job that runs every 5 minutes.  Any work items waiting to be assigned that are older than 5 minutes will run said script to assign the item automatically.

I have two separate queues that I want this job to check against (incidents and catalog request queues), so I have the encoded query below check against work items in both those queues:

var workItem = new GlideRecord('awa_work_item');
workItem.addEncodedQuery('state=pending_accept^queue=[sys_id of AWA queue]^ORqueue=[sys_id of AWA queue]^sys_created_onRELATIVELE@minute@ago@5');
workItem.setValue('state', 'accepted');
workItem.updateMultiple();

You could do this in a BR as well.  Let me know if you want some ideas on doing this in a BR instead of a job.

Yes if you could provide some tips on how to do this with a BR that'd be great.  I'm not very good at JavaScript I'm afraid.  But if I wanted to use your script where would I place it?  Client script or in the Business rules advanced tab?