How-To: Queue assignment based on quick calls
Starting with Matrix42 Enterprise Service Management 10.0.2 Enterprise Queue Management out of the box supports assignment of queues using the E-Mail Robot. For departments who want to use the Self Service Portal or Service Desk ticket functionality it might become handy to assign queues based on specific Quick Calls.
The fact that workflows have been used to implement the business logic provide full flexibility, visibility and supportability of any additional configurations.
This short How-To article provides the basic steps to accomplish 'Queue assignment based on Quick Calls'.
Use case
Once done, the implementation will allow providing below use case having Enterprise Queue Management is enabled and at least one Queue Profile set up:
- User will access the Self Service Portal
- Creates a Ticket by
- either using the Quick Link at the landing page
- or navigating to 'Support - Tickets' and action 'Create Ticket'
- Having the ticket automatically assigned to an Enterprise Queue
Implementation
The configuration itself includes following steps
- Extending the schema
- New relation 'Quick Call – Queue Management Profile'
- Adjust Edit-Dialog
- Creating a workflow to
- Prepare necessary data
- Execute product business logic
- Adding a Compliance Rule
- Define Quick Calls
Extending the schema
In order to apply settings of a Queue Profile to a ticket which was created using a Quick Call a new relation between the Quick Call (SPSQuickCallClassBase)
and the Queue Management Profile (ITSMEQMClassBase)
needs to be set up.
From | Cardinality | To |
---|---|---|
Quick Call Memorandum (SPSQuickCallClassBase) | N to 0/1 | Queue Management Profile (ITSMEQMClassBase) |
The actual names can be selected as of personal flavor. Prefixes will be added base on the global administration settings.
Left Side of the Definition | Right Side of the Definition |
---|---|
Relation Attribute Name: M42ExMod_AssignedQueueProfile |
Relation Attribute Name: M42ExMod_AssignedQuickCalls |
Display Name: Assigned Queue Profile |
Display Name: Assigned Quick Calls |
The result of the configuration once saved:
As soon as the schema was extended, the Edit-Dialog Quick Call Dialog
needs to be adjusted to be able to select the Queue Profile (Administration - Layouts - Dialogs
). Adjusting the Preview-Dialog is optional.
In order to allow only active Queue Profiles to be selected a filter Status = 10
is applied.
The next step is setting up the workflow to assign the Queue.
Creating a workflow
The workflow which needs to be created will be used to gather all required data and to trigger the out of the box shipped Queue assignment workflow ITSM - Assign Queue Sub-workflow
. The workflow itself will later be triggered by a Compliance Rule.
Start by setting up a new workflow with an integration context set to Compliance Rules
and name CoRu - Quick Call Based Queue Assignment
as well as some description Assignment to Queue will be done based on relation from Quick Call to Queue Profile
.
Within the ForEach-Activity only a view steps need to be performed.
CurrentObject (1)
Purpose | Assign the ID of the current Item to a variable |
---|---|
To | GUID_CurrentObjectId |
Value | Item.ID |
ItemsToProcess (2)
Purpose | Assign ExpressionObjectIDs of items to a Collection of GUID as this is required as a parameter for the business logic workflow which is able to handle multiple objects. |
---|---|
Collection | ArrGUID_ActivityEOIDs |
Item | GUID_CurrentObjectId |
TypeArgument | System.Guid |
Make sure that the Array was initialized before assigning data. Initializing can simply be done when the variable is defined by setting the default to 'New List(Of GUID)
'
GetQueueDetails (3)
Purpose | Gather data from Queue Profile to be able to provide it to business logic workflow. |
---|---|
Data Definition | SPSActivityClassBase |
Where Expression | [Expression-ObjectID] = @ExpressionObjectID |
Outputs | Result Variable |
T(SPSActivityClassIncident).QuickCall.M42ExMod_AssignedQueueProfile.ID | GUID_QuickCallQueueID |
T(SPSActivityClassIncident).QuickCall.M42ExMod_AssignedQueueProfile.Name | STR_QuickCallQueueName |
T(SPSActivityClassIncident).QuickCall.M42ExMod_AssignedQueueProfile.OU | GUID_QuickCallQueueOUID |
T(SPSActivityClassIncident).QuickCall.M42ExMod_AssignedQueueProfile.CostCenter | GUID_QuickCallQueueCCID |
T(SPSActivityClassIncident).QuickCall.M42ExMod_AssignedQueueProfile.Location | GUID_QuickCallQueueLocationID |
AssignQueue (4)
Purpose | The sub-workflow activity is used to trigger the business logic workflow with all the required parameters |
---|---|
Parameter Name | Variable Value |
ActivityObjectIDs | ArrGUID_ActivityEOIDs.ToArray() |
NewQueueID | GUID_QuickCallQueueID |
NeedsApproval | False |
OrgUnitID | GUID_QuickCallQueueOUID |
CostCenterID | GUID_QuickCallQueueCCID |
LocationID | GUID_QuickCallQueueLocationID |
NewQueueName | STR_QuickCallQueueName |
Comment | STR_AutoAssignementComment |
UserID | GUID_AutoAssignUserID |
ObjectContexts |
The final step of the configuration is setting up the Compliance Rule.
Adding a Compliance Rule
Setting up the Compliance Rule is done Administration - Service & Processes - Compliance Rules
by using the Action Add Compliance Rule
.
Name | |
---|---|
Name | M42ExMod_QuickCallBasedQueueAssignment |
Description | Quick Call Based Queue Assignment using Queue Profile relation on Quick Call |
Data Definition | Ticket (SPSActivityTypeTicket) Service Request (SPSActivityTypeServiceRequest) Incident (SPSActivityTypeIncident) |
In this use case a Facility Management Queue has been used which is reflected in the selected Quick Calls. The condition type is set up on Create an Object
with a logical combination (including grouping) of several Quick Calls.
Processing options are set to Process each compliance rule event for each object [also multiple]
with a Processing Time setting Immediately
. Having the Actions set to Start Workflow and selecting the new workflow CoRu - Quick Call Based Queue Assignment
will mark the last step of setting up the Compliance Rule.
When setting up the Quick Call and role we recommend to already use the same role as defined in the Queue Profile. By doing so the initial mail for a created Ticket will aready be sent to the correct role.
The final result can be reviewed in below screen cast.