Work Queues Guide
Work Queues Guide
Blue Prism
Work Queues Guide
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
Commercial In Confidence
The Operational Agility Software Company
Revision History
The information contained in this document is the proprietary and confidential information of Blue
Prism Limited and should not be disclosed to a third party without the written consent of an authorised
Blue Prism representative. No part of this document may be reproduced or transmitted in any form or
by any means, electronic or mechanical, including photocopying without the written permission of Blue
Prism Limited
© Blue Prism Limited
All trademarks are hereby acknowledged and are used to the benefit of their respective owners.
Published by:
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
Contents
1 Introduction .................................................................................................. 4
2 Tags ............................................................................................................... 5
2.1 Adding Tags ............................................................................................................. 5
2.2 Removing Tags ........................................................................................................ 6
2.3 Using Tags to get Work Queue Items....................................................................... 8
2.4 Filtering by Tags in Control Room ............................................................................ 9
2.5 Item Tags and the Blue Prism performance report ................................................. 10
3 Item Status .................................................................................................. 11
3.1 Setting the Status ................................................................................................... 11
3.2 Using the Status ..................................................................................................... 12
4 Priorities ...................................................................................................... 14
4.1 Setting and using the item Priority .......................................................................... 14
4.2 Priorities – Other Considerations............................................................................ 15
5 Item Resolution Best Practice ................................................................... 16
5.1 Tagging Completed Items ...................................................................................... 16
5.2 Tagging Main Exception Categories ....................................................................... 16
5.3 Templates .............................................................................................................. 17
6 Design Examples........................................................................................ 18
6.1 Multi-Part Processes – Deferring and Multiple Queues .......................................... 18
6.2 Parent/Child Relationships ..................................................................................... 21
6.3 Using Workflow Systems........................................................................................ 24
6.4 Real-time Work Requests ...................................................................................... 26
7 Active Queues ............................................................................................ 28
7.1 Active Queue Requirements................................................................................... 28
7.2 Process Requirements ........................................................................................... 28
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
1 Introduction
This document is a guide to using Work Queues within Blue Prism. During the Foundation
Training Course you were taught that Work Queues provide the functionality to store, manage,
share and report on process work. This guide will provide additional knowledge of Work Queue
features not covered by the Foundation course.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
2 Tags
A Tag is a keyword of term assigned to a Work Queue item as a method of categorising or
grouping that item. This might be done for the following reasons:
• For Management Information (MI), to easily view or report on Work Queue items with
a specific tag
• For process reasons, giving a Blue Prism process more control over how Work
Queue items that are locked and worked.
• Process Work Source, i.e. Web Portal, Call Centre, Financial Advisor
• Completed Type, i.e. if there are multiple completed outcomes from a process
• Computer Name, i.e. if an item needs to be worked by the robot that added it to the
queue
Tagging is not meant as a way of recording unique item information, so should not be used for
storing information such as a customer’s account number or telephone numbers. Unique
information should only be stored in the Item Data.
After following the above steps, your item will be tagged. This should be visible if you view
the item in the Queue Management tab in Control Room.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• Set the Tag Input Parameter to be the Tag that you want to remove from the
Work Queue item.
• Click OK
After following the above steps, your item will have the tag removed. This should be visible if
you view the item in the Queue Management tab in Control Room.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
When using the Get Next Item action you can set the Tag Filter input parameter as follows:
• Using the + filter you can ensure only items with a specific tag are returned. For
example, by setting the Tag Filter to be “+Work Type1”, the next item which has a
“Work Type1” tag will be returned.
• Using the - filter you can ensure only items without a specific tag are returned. For
example, by setting the Tag Filter to be “-Work Type1”, the next item without a “Work
Type1” tag will be returned.
• You can also use a combination of tags in the Tag Filter parameter, separated by
semi-colons. For example, by setting the Tag Filter to be “+Work Type1;+Customer
Type2;-Work Source1” the next item with the “Work Type1” and “Customer Type2”
tags and without a “Work Source1” tag will be returned.
Using tags allows flexibility in the order items are worked within a single Work Queue.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
The tag filter looks like a text filter at first glance, but does not work in quite the same way.
Using the tags filter, you can search for items which have specific tags, or which do not have
specific tags, or a combination of both.
• Searching for items with a tag: To search for items with a specific tag, just enter
that tag (case insensitive) into the filter, optionally prefixing it with a "+" symbol. For
example, “wanted tag” will search for any items which have been assigned a tag
labelled "wanted tag" or a tag "Wanted Tag" or any other case variation. “+wanted
tag” is treated as an exact synonym - i.e. the "+" is implied if no symbol is given.
• Searching for items without a tag: To search for items which don't have a specific
tag, enter that tag into the filter, prefixed with a "-" symbol. For example, ”-unwanted
tag” will search for any items which do not have the tag "unwanted tag" assigned to
them.
• Searching for items with multiple tags assigned/unassigned: A tag filter can
consist of any number of tag searches - each term can be separated by a semi-colon
and they are all applied to the search (i.e. they are AND'ed terms not OR'ed
terms).For example, “Account: Joint; -Balance: Overdrawn; Card: *Visa*” will include
any items which match all the terms, i.e.:
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
3 Item Status
Each Work Queue item has a status. The status can be used as a method of recording what
work has been done so far on a Work Queue item.
• For MI, to easily see how far an item has been worked
• To aid manual working of exceptions, providing the Item Status can inform staff what
work is still outstanding on an item that needs manually completing
• To enable Work Queue items to be safely retried, a process can use the item status
to know which updates have already been performed so that they are not repeated,
While with the above statuses, if an item was retried that already had a status of “04-Work
Step C” the process could skip all the previous steps in the process as they will have already
been completed. Likewise, if manual staff are given an exception to manually complete,
knowing that the status is 04-Work Step C allows the item to be manually worked form that
point in the process onwards.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
To use the Item Status, simply add decision stages to your process that check the Item Status
so that any parts of your process that have already been done for the item can be skipped.
Remember, the Item Status can be returned as an output from the Get Next Item action.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
4 Priorities
When designing an automated solution, you should consider if any different work types or
scenarios within the process should be worked before other worked items.
For example:
• Does work from one source have a shorter SLA than work from another source?
• Does work from one type of customer have a shorter SLA than items from another
type of customer?
• Does the source of work come in an order other than oldest request first?
If you do need to control the order in which Work Queue items are worked, Blue Prism gives
you numerous options:
• You could have multiple Work Queues for the same work, and work them in order of
priority
• You could use tagging for work with different SLAs, using process logic to work items
tagged with the highest priority first
• You can use the Work Queue priority (explained below). This is only an option if you
know what the priority should be when the item is first added to the queue.
• Items are worked in order of lowest priority number first, so an item with Priority set to
1 will be worked before an item with Priority set to 2.
• If the Priority input parameter is not set, the default value of 0 (highest priority) is
used.
To use an item’s priority, you need to do nothing different as it is always used by the Get Next
Item action, even if you are not setting the Priority input parameter. The next item to work is
always returned in order of priority, and then date loaded into the queue (oldest first).
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• Ensure that there is always enough robots working the process to clear all work each
day
• Design a solution that uses more than one method of prioritising, adding logic to your
design that works lower priority items if they are over a configured age.
• Include SLA monitoring and alerting to your solution, to ensure Blue Prism Controllers
are informed if work items are at a risk of missing their SLAs. The Controller can then
take the appropriate action if required.
SLA monitoring could take the form of either an occasional check within your processes, or a
separate process that runs throughout the day, querying your Work Queues to check the age
of the oldest unworked item.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
Because tags show up on the Blue Prism Performance Report, tagging completed statuses
provides an easy way to keep track of how many cases complete with each completion
reason.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
5.3 Templates
It is strongly recommended that the Blue Prism Process Templates are used as the basis for
all processes created in Blue Prism. Using templates ensures processes are easy to configure
and support, and how Work Queues are used is consistent across all processes that are
created.
• Where the Work Queue is loaded with new work and where the Get Next Item action
is used is standardised across all processes
• All complete cases are routed through a “Resolve Item” page and all exception items
are routed through a “Resolve Exception” page. This is easier to develop and support
than having multiple Mark Exception and Mark Completed stages throughout your
process
• It is easier to familiarise yourself with already created processes since they follow
similar templates.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
6 Design Examples
Most processes will follow a simple flow that adds items to a single Work Queue, works the
items in the queue in a linear flow, and marks each item as Complete or Exception. There will
be times where the process being automated requires a more complex use of Work Queues.
In the following slides we will look at the following examples of more complex work queue
designs:
• Using Workflow Systems: where work is driven from an external system rather than
from a Blue Prism work queue
• Real-time work requests: where requested are added throughout the day and must be
worked in a short SLA period
• System updates that require time to complete before another update can be done/
For example, a process might remove a flag from an account which will allow other
process updates to be done. The other updates will not be enabled immediately after
the flag is removed.
• A part of the process must be completed manually by a member of staff, the process
involves “hand-offs” between the automated solution and manual staff
• The process must give a period of time, or days, for a customer to respond before it
can be completed. For example, a letter is sent to a customer informing of an Account
Closure, and a number of days must pass before the account can be closed.
There are two main Work Queues designs to split a business process into a multi-part robotic
solution. You can either:
• Use a single Work Queue and defer the item for the required period of time
• Use multiple Work Queues and Processes for the different stages of the business
process
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
Deferring
In the Foundation course you will have learnt how to defer a Work Queue item. Deferred items
are temporarily frozen in the Work Queue until the deferred datetime has passed.
If you are deferring items within your process as a way of making your process a multi-part
one, you will need a method of recognising that a Work Queue item is one that was previously
deferred, and skip to the point in the process from which processing should continue. This can
be achieved by using the Item Status and decision stages, in the same way as described
earlier in this document. For example, if the status of an item is “05-Deferred for system
update” your decision stage may route the process to step 06 of your process.
• Processes where the separation period (minutes rather than days) and/or
Using a single Work Queue makes reporting of the process easier. The process performance
will be reported in a single Blue Prism Performance Report.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• Monitoring and managing Work Queues that make use of deferring items may not be
as easy for Blue Prism Controllers, especially if the defer period is multi-day.
Multiple Queues
Another method of separating out your multi-part business process is to use multiple Work
Queues, each with a single Blue Prism process working it. Effectively, you are splitting your
process at each point where a delay in processing or a hand off is required.
For example, the manual business process could be: Step 1, Step 2, a wait for 14 days, Step
3, Step 4. The Blue Prism solution could be made up of two processes and two Work Queues:
Process 1 = Get Queue 1 Item, Step 1, Step 2, Create Queue 2 Item (deferred for 14 days),
Mark Queue 1 Item as completed.
Process 2 = Get Queue 2 Item, Step 3, Step 4, Mark Queue 2 Item as completed.
Using multiple queues as a method for a multi-part process is best suited to:
There are some advantages of using multiple Work Queues rather than deferring queue items:
• It is easier to monitor and manage multiple Work Queues. The Controller can easily
see outstanding work in each Work Queue and reallocate robots accordingly
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• The multiple processes will each be far more simplistic than a single complex multi-
part process. This will be easier to build, test and support.
• Using multiple Work Queues can make it more difficult to gain a single view of the
Business Process. The standard Blue Prism Performance Report will generate a
separate report for each queue, meaning that you have multiple performance reports
for a single process. To get around this, you could create your own reporting process.
For example:
• A Work Queue item is created for each item in the Excel spreadsheet
• When all the items in a spreadsheet have been worked, an email needs to be sent
with details specific to the items on that spreadsheet.
In this example the Blue Prism solution requires a method of knowing when all items that came
from the same Excel spreadsheet source have been worked, and retrieve information from
those related work items for the output email.
• Tagging related child items with a “Key” Item Tag that only they are tagged with
• The use of an additional Parent Work queue, providing a single view of the related
work
As you add the child items to the Work Queue, tag them with a key value that will be unique to
all the related items. For example, you could rag the item with the name of their source, (i.e. an
Excel filename), and/or tag the datetime that the request was received.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
It is a good idea to give the Child and Parent Work Queues the same name, but with a “Child”
and “Parent” suffix on the queue names. This will ensure the Work Queues can be easily
viewed together in Control Room.
Only if all the child items are successfully added to the “Child” Work Queue should the Parent
Work Queue item be created. A Tag such as “Parent Created” can then be added to all the
Child Items used by the process that works the queue to ensure items are only worked if that
tag exists.
• Get new work from the work source (i.e. Excel, Web Service, Database, Workflow
System etc...)
• Add child items to the “Child” Work Queue. Store the Item ID for the new child items
so that they can be subsequently tagged
• When all child items are added, add a single item to the “Parent” Work Queue. The
Item Key will be the same as the relationship key Item Tag added to the child items.
• The item data for the Parent item could include all the item keys of the child items,
this can then drive the output once all child items have been worked.
After following these steps you will now have Child Items ready to be worked by your Blue
Prism process, and a closely related Parent Item in a separate “Parent” Work Queue.
Once you have created your Child and Parent Work Queue items, the following steps outline
the main process flow:
• Your main process flow will get work from the main Child queue using the Get Next
Item action
• Once the Item is Worked and Marked as Completed or Exception, the following steps
can be taken:
Use the Get Report Data action to search for unworked items in the Child Work Queue with
the same relationship tag as the item just worked
If there are unworked items found, no further action is required and your process can
continue onto the next case, skipping the following steps
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
If there are no unworked items found with the same relationship key, it means that all the
child items have now been worked
Get the Parent item to work using Get Next Item. If the Parent Item is not available it means
that another robot has already worked or is currently working the Parent Item. Your process
can continue on to get the next child case to work, skipping the following step
If the Parent item is successfully locked, it can be worked. Any Parent level actions that need
to be taken by the process can be taken (i.e. sending a work complete confirmation email),
and the Parent item can be marked as completed.
It is important to ensure that the Parent/Child Relationship of your work items is maintained. A
poorly designed solution might have the following risks:
• An “orphaned relationship” where some or all child items are added to the Child Work
Queue, but no Parent Work Queue item exists for them.
Work on Child items starts before all Child items and the Parent item is added to the Work
Queue
Not all Child items are added to the Work Queue but the Parent item is created
Something occurs after the Work Queues are populated to delete a Child or Parent item from
the Work Queue (i.e. a Controller manually deletes them)
• A problem or exception when working the Parent Work Queue item leaves the final
Parent workflow incomplete, and therefore all the child items are also incomplete.
Integrity Checking
To circumvent the risks of a Parent/Child Work Queue relationship, an “Integrity Check” work
flow is recommended. The integrity flow may either be in the process that works the business
process, or in a totally separate checking process ran daily.
• Ensure that all parent items have the correct number of child items, and all child items
have a “Parent” Work Queue item.
• Ensure no “Child” items are “trapped” within the solution. This could be a simple
check upon the age of child and/or parent items
• Ensure that all Parent items with all child items completed are successfully worked
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
The Integrity Check could simply send an alert to the Blue Prism controller if any issues are
found.
How work is collected from the Workflow System will depend on how the system works, but
usually it is one of the following:
• Users navigate to a work list where all outstanding items are shown. Users simply
select and item not showing as locked
• Users take an action, such as clicking a “Next Item” button and the next item to work
is opened and locked to that user
Even though there is a Workflow System managing and allocating work, a Blue Prism Work
Queue should still be used for the following reasons:
• So Blue Prism Controllers can see what each robot is currently working on
Loading Work
There are two main methods of a Blue Prism process getting work from a Workflow System:
Method 1: Load all work from the Workflow System into a Blue Prism Work Queue at once.
Blue Prism robots get items to work from a Work Queue instead of from the Workflow System
• Using an Environment Lock to ensure only one robot goes to load new work
• Load all unworked items from the Workflow System into a Work Queue
The Main process flow may then take the following steps to work items:
• Get Next Item from the Blue Prism Work Queue to get the case to work
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• Mark the item as worked in the Workflow System or move the item to a different
user/queue/inbox in the Workflow System to be manually completed
• Mark the item as Completed or an Exception in the Blue Prism Work Queue
Method 2: Blue Prism robots get cases to work directly from the Workflow System. For each
case, an item is added to the Blue Prism Work Queue and immediately locked for work.
The main process flow may take the following steps to work items:
• Gets the next item to work directly from the Workflow System
• Add the item to the work queue, tagging the new item with the robot computer name
• Immediately lock the work queue item it has created, using the computer name tag to
ensure it locks the item it is working
• Mark the item as worked in the Workflow System or move the item to a different
user/queue/inbox in the Workflow System to be manually completed
• Mark the item as Completed or an Exception in the Blue Prism Work Queue
When a Workflow System is used, the method of monitoring work to ensure SLA’s are met
remains unchanged by the Blue Prism solution.
• The Blue Prism Work Queue should not be used to monitor the amount of
outstanding work. The Work Queue will only show outstanding work that has been
loaded into Blue Prism, not all the outstanding work in the Workflow System
• The Workflow System should be accessed and monitored for a view of what work is
outstanding.
If the requires of the Blue Prism solution includes using Blue Prism to monitor workloads, it is
recommended that a process proactively checks the Workflow System for outstanding work
and sends an alert to Controllers if SLAs are at risk of being missed.
When getting work items one at a time from the Workflow System (Method 2) it is possible that
there may be some processing time not recorded in the Blue Prism Work Queue. This can
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
occur if you mark an item as Completed before getting the next item from the Workflow
System.
• Etc…
In the above flow, the processing time to get a case from the Workflow System (between steps
3 and 4) would not be included in the Blue Prism Performance reports. To rectify this, your
process could instead only mark a Work Queue item as completed after attempting to get the
next case to work from the Workflow System
• A process that marks patients as arrived in a hospital, so the relevant department can
see that the patient is in the hospital
• A web service request for information, instigated from a user’s smartphone and
needed by the user to be able to perform work for a client
• A type of work request that needs to be worked quickly due to the expectations of the
customer and the industry. For example, the cancellation of a Direct Debit Instruction
by an online banking customer, or the addition of a feature to a Smartphone by a
telephone customer.
Not working such requests in the expected timeframe could lead to decreased customer
satisfaction or increased costs in downstream processing.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
Recommendations
The following are recommendations for automated solutions working short SLA or real-time
requests:
• Separate the work request confirmation from the work. With Blue Prism, work will
never be completed instantly, it will be queued and processed via the User Interface.
The source of the work request should be designed with this in mind. For example, if
a work request comes via a Web Service call, Blue Prism should simply add the
request to a Work Queue and respond (output) that the request has been received.
• Allocate Enough Robots. Ensure enough robots are allocated to work the Work
Queue at peak times with the Expected SLA. A method of alerting the Controllers
should be designed into a solution to inform them if an SLA is at risk of being missed.
Work Queues can be reported upon to estimate whether the available capacity is
enough to meet expected work loads
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
7 Active Queues
Using the traditional session management model, sessions are started on resources which poll
the work queue for cases to work. These sessions are started in Control Room manually, or
via a scheduler service which is running on a Blue Prism Server instance.
Active queues introduce an alternative mechanism for managing the sessions which work the
queues, made possible by creating a closer association between work queues and sessions.
Instead of creating sessions separately in Control Room and then moving to the queue
management page to see the results, active queues allow you to set a target number of
resources which should be working the queue, Blue Prism uses the active queue configuration
to determine how to achieve that target.
Active Work Queues are only useful when running dozens of sessions for one process. When
this is not the case, the benefits of Active Work Queues will not be realised.
This information is set in the Work Queues page under Workflow in the System section of the
Blue Prism client, by associating a published process and a resource group with the queue.
With this information, Blue Prism can find an available resource and create a process on it
which will then work the queue.
In order to stop a session which is running on behalf of an active queue, a 'stop request' is
made to the session, allowing it to ensure it does not stop in the middle of a transaction. See
the process requirements for more detail.
• The process must be published before it can be set as the assigned process in an
active queue.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY
• Assuming that the process contains a main loop, the function IsStopRequested()
must be queried using a decision stage within that loop in order to ascertain if a safe
stop has been requested.
This is the mechanism used by the active queue controller to stop sessions running on behalf
of active queues that it is controlling.
Check the Active Queues chapter of the Blue Prism help file for more information.
[email protected] • +44 (0)870 879 3000 • Centrix House, Crow Lane East, Newton-le-Willows, WA12 9UY