Video Screencast Help

SD 7.5 MP1: Need Help Assigning to a Queue in a Workflow

Created: 19 Nov 2013 • Updated: 20 Nov 2013 | 9 comments
This issue has been solved. See solution.

This is driving me nuts. I can't seem to get the queue assignment to work right in a custom workflow web form. I've followed similar instructions here but the assignment still doesn't work.

Here's what I've done: 

The form grabs some basic information from the end user and then I merge that content into the description of the ticket. I also capture the title.

I then initialize the Incident variable

I use the Get Incident Service Queue by Name element and statically search for the queue name I want. This goes to a ServiceQueueObject variable type.

I then map the source data type of ServiceQueueObject.QueueName to IncidentTicket.CurrentlyAssignedQueueName. Later on I map the rest of the elements for the variable Incident and then post the incident using the Submit Incident Ticket element. The ticket gets posted but the assignment mapping never takes. By putting in breaks in the debugger it appears that the right queue name is assigned. Is there something that I'm doing wrong or a different/better way to do this? I might try statically mapping the queue details to the incident mapping too.

 

180px_Screen Shot 2013-11-19 at 10.01.25 AM.png

180px_Screen Shot 2013-11-19 at 10.03.50 AM.png

180px_Screen Shot 2013-11-19 at 10.01.55 AM.png

 

Operating Systems:

Comments 9 CommentsJump to latest comment

jpellet2's picture

Could this perhaps be a rule issue and not a workflow issue? I added a logging component after the incident submission component and looked at the logs. It appears that all signs point to the right queue name being added to the incident.

We do have one rule OnIncidentReceived that is on that is supposed to move any tickets that are not assigned to a specific queue to the Helpdesk queue. Looking at some of the recent tests, this rule is failing so the items are being sent to the Default Incident Queue. 

However, when I disable the rull completely, the tickets still don't go to the right queue.

jpellet2's picture

I've gone a little further with the rules and decided to explicitly say that if the currently assigned queue is X then assign it to X. I then made this rule terminal so that nothing else runs. 

The rule fails telling me that the the current queue is not the one I'm looking for which sends me back to my original thought that the component isn't setting/assigning the queue right somehow.

HarrisT's picture

Hi,

The problem is likely that you are only mapping the Incident.CurrentlyAssignedQueueName. The Incident Data Type also contains a "ServiceQueue" data type Incident.CurrentlyAssignedQueue (See screenshot below).

When selecting your Service Queue, I recommend outputting the ServiceQueue to Incident.CurrentlyAssignedQueue (It will not let you map this when mapping the rest of your incident data, and needs to be saved directly to Incident.CurrentlyAssignedQueue). Additionally, you should continue mapping the queue name to Incident.CurrentlyAssignedQueueName.

I hope this helps!

ServiceQueue.PNG

TGiles's picture

HarrisT is correct. Along with mapping the CurrentlyAssignedQueueName field in Incident you also need to make sure you map the CurrentlyAssignedQueue object as well.

jpellet2's picture

I might not be following this completely. Would I need to take the Incident Service Queue by Name output, dump that into a data mapping for Incident.CurrentlyAssignedQueue? Something similar to the screenshot below?

120px_Screen Shot 2013-11-20 at 12.35.36 PM.png

 

HarrisT's picture

I would not do this using mapping, when you are selecting a service queue, output the entire service queue to Incident.CurrentlyAssignedQueue. Alternatively, you could use a "Copy Data Element to New Location" Component and copy the service queue to IncidentCurrentlyAssignedQueue.

ServiceQueueSet.PNG

SOLUTION
jpellet2's picture

That did it. Instead of the mapping, and since we are statically assigning the queue in this form, the easiest was to use the "Copy Data Element to New Location" component. Worked like a charm! 

MPowers's picture

Doing this by mapping works, we had it on our email monitor workflow before switching to the email monitor multi workflow. You need to map all the corresponding attributes including the arrays. Doing the copy data to new location I would guess just does the exact same thing.

queuemaping.png