Business process flows overview

 

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM Online, Dynamics CRM 2016

You can help ensure that people enter data consistently and follow the same steps every time they work with a customer by creating a business process flow. For example, you might want to create a business process flow to have everyone handle customer service requests the same way, or to require that people get approval for an invoice before submitting an order. Business process flows use the same underlying technology as other processes, but the capabilities that they provide are very different from other features that use processes. To learn how to create or edit a business process flow, see Create a business process flow.

Watch a short video (4:49) about Dynamics 365 Business Process flows.

In This Topic

Why use business process flows?

What can business process flows do?

Multiple entities in business process flows

Multiple business process flows are available per entity

Business process flow privileges

Business process flow considerations

Why use business process flows?

Business process flows provide a guide for people to get work done. They provide a streamlined user experience that leads people through the processes their organization has defined for interactions that need to be advanced to a conclusion of some kind. This user experience can be tailored so that people with different security roles can have an experience that best suites the work they do by using Dynamics 365.

Use business process flows to define a set of steps for people to follow to take them to a desired outcome. These steps provide a visual indicator that tells people where they are in the business process. Business process flows reduce the need for training because new users don’t have to focus on which entity they should be using. They can let the process guide them. You can configure business process flows to support common sales methodologies that can help your sales groups achieve better results. For service groups, business process flows can help new staff get up-to-speed more quickly and avoid mistakes that could result in unsatisfied customers.

What can business process flows do?

A business process flow definition is represented as a custom entity and an instance of a process is stored as a record within that entity. Each record is associated with a data record (such as an Account, Contact, Lead, or Opportunity) and in case of cross-entity processes, with a data record for each participating entity.

With business process flows, you define a set of stages and steps that are then displayed in a control at the top of the form.

Business process with stages

Each stage contains a group of steps. Each step represents a field where data can be entered. People advance to the next stage by using the Next Stage button. You can make a step required so that people must enter data for the corresponding field before they can proceed to the next stage. This is commonly called ”stage-gating”.

Business process flows appear relatively simple compared to other types of processes because they do not provide any conditional business logic or automation beyond providing the streamlined experience for data entry and controlling entry into stages. However, when you combine them with other processes and customizations, they can play an important role in saving people time, reducing training costs, and increasing user adoption.

Business process flows integrated with other customizations

When you or your user enters data using business process flows, the data changes are also applied to form fields so that any automation provided by business rules or form scripts can be applied immediately. Steps can be added that set values for fields that are not present in the form and these fields will be added to the Xrm.Page object model used for form scripts. Any workflows that are initiated by changes to fields included in a business process flow will be applied when the data in the form is saved. If the automation is applied by a real-time workflow, the changes will be immediately visible to the user when the data in the form is refreshed after the record is saved.

Although the business process flow control in the form does not provide any direct client-side programmability, changes applied by business rules or form scripts are automatically applied to business process flow controls. If you hide a field in a form, that field will also be hidden in the business process flow control. If you set a value by using business rules or form scripts, that value will be set within the business process flow.

Concurrent process flows

Concurrent business process flows let customizers configure multiple business processes and associate them with the same starting record. Users can switch between multiple business processes running concurrently, and resume their work at the stage in the process that they were on.

System business process flows

Dynamics 365 includes the following business process flows. To understand how business process flows work, review these system business process flows:

  • Lead to Opportunity Sales Process

  • Opportunity Sales Process

  • Phone to Case Process

Multiple entities in business process flows

You can use a business process flow for a single entity or span multiple entities. For example, you may have a process that begins with an opportunity, then continues to a quote, an order, and then an invoice, before finally returning to close the opportunity.

You can design business process flows that tie together the records for up to five different entities into a single process so that people using Dynamics 365 can focus on the flow of their process rather than on which entity they are working in. They can more easily navigate between related entity records.

Multiple business process flows are available per entity

Not every user in an organization may follow the same process and different conditions may require that a different process be applied. You can have up to 10 active business process flows per entity to provide appropriate processes for different situations.

Control which business process flow will be applied

You can associate business process flows with security roles so that only people with those security roles can see or use them. You can also set the order of the business process flows so that you can control which business process flow will be set by default. This works in the same way that multiple forms for an entity are defined.

When someone creates a new entity record, the list of available active business process definition is filtered by the user’s security role. The first activated business process definition available for the user’s security role according to the process order list is the one applied by default. If more than one active business process definitions is available, users can load another from the Switch Process dialog. Whenever processes are switched, the one currently rendered goes to the background and is replaced by the selected one, but it maintains its state and can be switched back. Each record can have multiple process instances associated (each for a different business process flow definition, up to a total of 10). On form load, only one business process flow is rendered. When any user applies a different process, that process may only load by default for that particular user.

To make sure a business process is loaded by default for all user (behavior equivalent to “pinning” the process), a custom Client API script (web resource) can be added on form load that specifically loads an existing business process instance based on the business process definition ID. For reference on SetActiveProcessInstance and GetProcessInstances functions, refer to the following article: Xrm.Page.data.process (client-side reference).

Business process flow privileges

In earlier releases, business process flows were attached to security roles, and only a user with the security role could read and update the business process flow attached to the security role. If a business process flow was not attached to a security role, users with that security role won't be able to see the business process flow when navigating to a record of the entity that the business process flow was attached to.

With December 2016 update for Dynamics 365, privileges in business process flows have been redone and require a new understanding due to the fact that a custom entity is created for each business process flow definition you create. Each business process flow definition that is represented as a custom entity now comes with its own set of privileges that can be edited within a security role just like any other system or custom entity. You can specify the privileges in the Business Process Flows tab for a security role.

Business process flow privileges

You can assign the following privileges on a business process flow:

  • Create: Allows creating an instance of the business process flow, which is done at the same time as creating a new record.

  • Read: Allows viewing the business process flow on a created record.

  • Write: Allows updating the business process flow. For example, changing state and navigation.

  • Delete: Allows deleting an instance such as when a record is deleted.

  • Append: Allows cross-entity navigation from an entity. For example, the Lead entity in the Lead to Opportunity Sales Process business process flow.

  • Append To: Allows cross-entity navigation to an entity. For example, the Opportunity entity in the Lead to Opportunity Sales Process business process flow.

Note

  • The System Administrator and System Customizer security roles have access to all business process flows by default.

  • On upgrading to the December 2016 update for Dynamics 365, your existing business process flows are assigned the Read, Write, and Append privileges on the attached security roles to allow uninterrupted usage.

Business process flow considerations

You can define business process flows only for those entities that support them. You also need to be aware of the limits for the number of processes, stages, and steps that can be added.

Business process flows that call a workflow

You can now call on-demand workflows from inside a business process flow. You can configure this from the new business process flow designer by dragging a workflow component to a process stage or to the Global Workflows section. For more information about using workflows in business process flows, see Business process flow automation in Dynamics 365.

When you include a workflow that you want to trigger on Stage Exit of a stage in your business process flow, and that stage is the last stage in the flow, the designer gives the impression that the workflow will be triggered when that stage is completed. However, the workflow will not be triggered because a stage transition does not take place. You will not receive a warning or error preventing you from including the workflow on the stage. When a user interacts with the business process flow, finishing or abandoning the process does not result in a stage transition, and therefore the workflow is not triggered. Consider the following examples:

  • You create a business process flow with two stages, S1 connects to S2, with a workflow on stage S2 and set the trigger to Stage Exit.

  • You create a business process flow with three stages, S1 connect to S2, then S2 branches to S3. You include a workflow on S2 and set the trigger to Stage Exit.

The workflow will not trigger in either case. To work around this issue, you can add a Global Workflow and add the workflow you want to trigger to it so that the workflow is triggered for the business process rather than a stage of the process. You can set the trigger for a Global workflow to Process Abandoned or Process Completed to cause the workflow to trigger when a user abandons or completes the business process.

Entities that can use business process flows

Only entities that use the updated forms can use business process flows. This includes custom entities and the following system entities:

  • Account

  • Appointment

  • Campaign

  • Campaign Activity

  • Campaign Response

  • Competitor

  • Contact

  • Email

  • Entitlement

  • Fax

  • Case

  • Invoice

  • Lead

  • Letter

  • Marketing List

  • Opportunity

  • Phone Call

  • Product

  • Price List Item

  • Quote

  • Recurring Appointment

  • Sales Literature

  • Social Activity

  • Order

  • User

  • Task

  • Team

To enable a custom entity for business process flows, select the Business process flows (fields will be created) check box in the entity definition. Note that you can’t undo this action.

Note

If you navigate to the business process flow stage that contains the Social Activity entity and choose the Next Stage button, you’ll see the Create option. When you choose Create, the Social Activity form loads. However, because Social Activity isn’t valid for Create from the Dynamics 365 application user interface, you won’t be able to save the form and you’ll see the error message: “Unexpected error.”

Maximum number of processes, stages, and steps

To ensure acceptable performance and the usability of the user interface, there are some limitations you need to be aware of when you plan to use business process flows:

  • There can be no more than 10 activated business process flow processes per entity.

  • Each process can contain no more than 30 stages.

  • Multi-entity processes can contain no more than five entities.

See Also

Watch a short video (4:49) about Dynamics 365 Business Process flows
Create a business process flow
Enhance business process flows with branching
Process Enablement with Microsoft Dynamics CRM
Workflow Processes
Dialogs
Actions