Task Flows

In Microsoft Dynamics 365 we have two types of Business Process Flows available, the “classic” ones we’ve had for sometime and the slightly newer concept of task flows. Task flows are utilised within the mobile client and are quite different to other business flows. In this post, I will review how task flows work and how they compare to “classic” business process flows.

Task flows have a different focus to business flows. Task flows are aimed at helping people complete smaller goals that maybe specific to their personal interactions with a customer, rather than being part of a larger company wide process.

Task flows offer guided processes to mobile users, they differ from other business processes in some significant ways, including;

  • Task flows are at a user level, meaning each process becomes unique to a user. This differs from business flows, as with those there is a concept of a stage. And the stage within a particular process is common to all users.
  • Task flows are concurrent, meaning multiple users can be running different task flows on the same record at the same time.
  • Task flows can have editable controls from multiple entities. Meaning you can edit information from multiple entities on the same page. With business flows this isn’t possible as each stage relates to a single entity.
  • Conditional branching is more flexible as it can be applied to the primary entity and any n:1 related entity. Whereas in business flows you can only branch based on the entity in the previous stage.

Note: Prior to Dynamics 365 Task flows existed but were in preview. This meant they couldn’t be included in solutions and weren’t role based. Task flows are now part of the core application and you can include them in solutions and enable for specific roles.

Using Task Flows

Before looking at how to configure task flows, let’s see one in action. Dynamics 365 ships with a few examples task flows, one of which is called “After meeting”. A common task for a mobile user will be to either create or update the details of meetings as they happen.

See below how I have used the task flow icon to show the task flows available to me.

Dynamics 365 user can also select one to two task flows from the new “My Workspace” area of the mobile client. See below that I can select “After Meeting” or “Update Contact”.

Users can decide which two task flows are shown here directly from the settings for their mobile app. (As shown below.)

Having selected “After Meeting”, a panel opens on the right-hand screen for the primary entity of the task flow. In this example, appointment. Here I can select an existing appointment or use the “+” icon to create a new one.

In the right panel the user is then given a useful dialog in which they can record the meeting detail. Notice how the fields are logically grouped under headings of Summary, Attendees and Notes.

Also, notice the “Next” button at the bottom of the screen.

In this example clicking next will do different things depending on the specific meeting. If the meeting was regarding an account, the user will confirm the account details. But if it was regarding an opportunity the next option would allow them to update the related opportunity. In my example the appointment is regarding an account, so clicking next gave me the following screen. I could then complete the task flow by selecting done or I could use the back button to return to the appointment to make further edits.

Viewing Task Flows in Settings

Task flows are maintained in the processes area of settings. (Just like business process flows.) Task flows and business flows both have the same category of “business process flow”. Out of the box it might not be immediately obvious which are which! This is simply resolved by creating a personal view that includes an additional column called “Business Process Type”.

Creating Task Flows

To create a task flow, first ensure the primary entity you want to work is enabled for business process flows and available for mobile access. You can see below that both of these options are selected in the properties on the entity.

Important Note:
I have shown the “After Meeting” task flow in this blog post. It is not possible to create other task flows on appointment! You can amend the out of the box “After Meeting” task flow but you can only have one task flow on appointment. (You can have multiple task flows on other custom or system entities.)

You create task flows in the same way as business flows. Meaning you load the processes options in settings (or from your solution) and select new. By default, the business process flow will be a classic one. To create a task flow simply select the mobile only option. (shown below).

If you are familiar with creating business process flows in Dynamics 365 you’ll find the process flow designer operates in a very similar manner. The main difference is no concept of stages exists! As an example I’ve shown the out of the box “After Meeting” task flow below.

Page

All task flows will have at least one page. A page is simply a container for the fields, labels and section labels. In the example above notice that the first page has been called “Verify Meeting Details” and that it contains multiple labels and fields as required.

To add additional pages simply drag a page into your task flow. In the example above you can see different pages for each type of regarding entity. The navigation to these pages is controlled by conditions. (More on those in a second!)

Composition

A page can include field, labels and section labels. You add these by simply dragging them into appropriate positions on your page.


Section labels are show as coloured headings, labels are black text and fields are entry fields. To demonstrate this I’ve shown one of each below.


When we add a field, several properties are defined. Including its name, source and the data field. The source can be the primary entity or any N:1 entity.

A maximum of 100 fields can be added to any task flow page. (Hopefully this will be more than enough for any mobile user!)

Tip:
It might be worth considering a limitation at this point. Say the task flow is for an appointment, when the appointment is regarding an account we can edit fields from the account. Including the primary contact field. But we cannot go any deeper. By this I mean we could not include any fields from the primary contact. (Such as job title etc.)


Conditions

Conditions allow us to add conditional branching into task flows. Typically, this will be to control which page is displayed next. A condition can be applied to any field on the primary or regarding entities included in the task flow. The details of the condition are entered in the properties tab.


Other Capabilities

From the ribbon bar on task flows we can do a number of functions, including

  • Update, this option will update the current task flow. Update will save your change and make it live. (Users will need to re-load the mobile client for the change to take effect.)
  • Validate, the task flow will be validated when you update. But you can also use this option to check your work whilst creating the task flow.
  • Deactivate, if you want to stop the task flow from running use this option.
  • Business rules, you can use business rules with task flows. These can be very useful to optionally hide / show fields, conditionally make fields mandatory etc.
  • Enable Security Roles, by default your task flow will be available to all roles. But it is possible to control which users can use this task flow by using the enable security roles option.

I hope this post has given you a good overview of task flows. Task flows are a simple feature but one that can add many benefits for mobile users. Enjoy. J

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s