Dovetail Task Manager Introduction
Dovetail Task Manager is an optional module that allows actions to occur automatically when a task set is selected from a case.
The most common action is creating a subcase.
For example, when the New Employee Task Set is run:
- Create a General subcase for setting up the employee’s network account and dispatch to the Network queue.
- Create an Administrative subcase for ordering business cards and assign to a specific employee.
- Create a General subcase for creating the user’s account in the CRM system, and dispatch to a queue based on auto-destination rules.
Dovetail Task Manager is also extensible using customization, allowing it to perform other actions, within the Clarify/Dovetail system itself, or even as a mechanism for integrating with other systems.
Dovetail Task Manager replaces the old Clarify Task Manager module. But it also opens up a whole new avenue of extensibility and customizations options. I’ll cover the extensibility options in a later post.
For now, lets look at the core function – automatic subcase generation.
Process
- Within Dovetail Agent, this process is started by choosing the Workflow – Run Task Set menu item on a case, and then selecting a Task Set to be executed.
- Dovetail Agent creates a time bomb in the database
- Rulemanager picks up this time bomb, and executes the Run Dovetail Task Set business rule, which sends a message to Dovetail Carrier.
- Dovetail Carrier receives the message, which tells it which Task Set to execute
- Carrier retrieves the Task Set and related Tasks from the database
- For each task in the set:
- Retrieves Task from database
- Resolve each Task Property
- Create subcase (or perform custom action)
- Perform workflow (assign/dispatch/auto-dispatch/etc.)
Applications
The following applications are involved in the Dovetail Task Manager process
- Dovetail Agent – setup of tasks, task sets, and task properties; Run Task Set action on cases
- Dovetail Admin – setup of business rule which fires when the Run Task Set event fires
- Dovetail Rulemanager – evaluates business rule, sends message to Dovetail Carrier
- Dovetail Carrier – receives message, evaluates Task Sets and Tasks
Task Manager
Within Dovetail Agent is the Task Manager page, which is the starting page for all Task Manager setup.
Creating Tasks
Within Dovetail Agent, we can create tasks.
When setting up the Task, we define the properties that we want to be set on the subcase.
These properties can be static – such as setting the Severity to “Medium”, or setting the title to be “setup accounts”.
These properties can be dynamic – such as setting the Severity to be the same as the case’s severity.
Within the task we also defines its workflow. Workflow options include:
- Assign to a specific user
- Assign to a user based on auto-destination rules
- Dispatch to a specific user
- Dispatch to a queue based on auto-destination rules
Creating Task Sets
Within Dovetail Agent, we create task sets.
Task sets are a collection of tasks.
When a task set is run, all of the tasks in that set will be run.
Tasks can belong to multiple sets.
Running Task Sets
Within Dovetail Agent, we can start the task set process.
From a case, we select Workflow – Run Task Set menu item, and then select a Task Set to be executed.
Business Rule
We can see the business rule that fired when the Task Set was run:
Notice in that business rule:
- a start event of Run Task Set
- an action of Carrier Message
- the message that gets sent to Carrier includes the case id, and the task set name
Rulemanager
Looking at the Rulemanager logs, we can see where it evaluates the business rule, and send a message to Dovetail Carrier.
[Consumer3] INFO FChoice.RuleManager.Carrier.MessagePublisher – Publishing
type=RunTaskSet
caseId=4120
taskSetName=New Employee
to msmq://localhost/dovetail.carrier
Carrier
Dovetail Carrier does most of the heavy lifting here.
Looking at the Carrier logs, we can see where it evaluates the tasks, creates the subcases, and performs the subcase workflow actions.
INFO Dovetail.Carrier.Core.RuleManager.RuleManagerConsumer – (null) Carrier message received:
type=RunTaskSet
caseId=4120
taskSetName=New EmployeeINFO Dovetail.Carrier.Core.RuleManager.RuleManagerConsumer – (null) Resolved message data for: Dovetail.Carrier.Tasks.Messages.RunTaskSet
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Running Task Set “New Employee” for Case 4120
DEBUG Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Found 3 tasks for “New Employee”INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Running Task 268435479 for Task Set “New Employee”
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Running Task 268435480 for Task Set “New Employee”
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Running Task 268435481 for Task Set “New Employee”DEBUG Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) TaskValueCollection resolved: {
{ “Title”: “Order computer” }
{ “IsGeneral”: “true” }
}
DEBUG Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) TaskValueCollection resolved: {
{ “Title”: “setup domain and email accounts” }
{ “IsGeneral”: “true” }
{ “Notes”: “don’t forget to grant the correct privileges” }
}
DEBUG Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) TaskValueCollection resolved: {
{ “Title”: “order business cards” }
{ “IsGeneral”: “false” }
}
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Subcase created: IDNum=4120-6,ObjID=268435968
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Subcase created: IDNum=4120-4,ObjID=268435966
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Subcase created: IDNum=4120-5,ObjID=268435967INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Publishing message to dispatch Subcase 4120-6 to IS HelpDesk
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Publishing message to assign Subcase 4120-5 to mdavis
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Publishing message to dispatch Subcase 4120-4 to IS HelpDeskINFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Dispatching Subcase 4120-6 to IS HelpDesk (from Task 268435481 for Case 4120)
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Dispatching Subcase 4120-4 to IS HelpDesk (from Task 268435479 for Case 4120)
INFO Dovetail.Carrier.Tasks.Reporting.TaskManagerReport – (null) Assigning Subcase 4120-5 to mdavis (from Task 268435480 for Case 4120)
Subcases created
Back in Dovetail Agent, we can see that 3 subcases were automatically created.
Task Manager Video
The following video shows the process in action from within Dovetail Agent.
Extensibility
I’ll have some additional posts coming soon discussing how to extend Dovetail Task Manager, including:
- Creating Custom Actions
- Pushing messages into Carrier to do things other than run tasks and task sets
- Pushing messages into Carrier from outside of Rulemanager
I’ll demonstrate ways for Carrier to invoke custom code, including integrating with other systems.
I think this is where the real power of this functionality becomes super exciting. Stay tuned.