Microsoft Dynamics 365 Sales Business Process Flow Changes

Business Process Flow Changes in v. 9

In Microsoft Dynamics 365 for Sales, an important feature of the Opportunity entity is the Business Process Flow as shown below.

It’s common for Sales organizations to leverage the corresponding field on the Opportunity entity, which is known as “Pipeline Phase” to use in dashboards, views, and reports. Below is a view that shows this field.

As you can see, the Pipeline Phase corresponds to the currently active business process flow phase in the chevron-based representation. (Potential Major Investment active Phase = “Qualify” and Pipeline Phase = “qualify.”

When a phase is advanced in the Business Process Flow, the Pipeline Phase field is changed by the system to reflect the currently active phase.

Or … it WAS until version 9 of Microsoft Dynamics 365

Starting with Microsoft Dynamics 365 for Sales version 9, this changed.  Now, the Pipeline Phase does not automatically advance. This is because the Business Process Flow architecture has changed such that there is now an entity named “Opportunity Sales Process”, which is essentially a transect entity between Process and Opportunity, which a lookup to Opportunity.  Below is a view of this new entity:

This means that for every Opportunity, there is a record in the database for that Opportunity in that particular stage.  And for whatever reason, when an Opportunity Business Process Flow phase is advanced, there is no logic in the system to update the Pipeline Phase field on the Opportunity.

A Workaround for the Business Process Flow version 9 Issue

It’s possible that this will be fixed in a future update, if enough people complain about it. But until that happens, this can be solved with a workflow created for the new entity Opportunity Sales Process. See below for the steps.

Creating a Workflow to Solve the Business Process Flow v. 9 Problem

  1. Navigate to Settings, Processes
  2. Click “+NEW” to create a new Process.
  3. Give it a name, and choose the Opportunity Sales Process for Entity as shown below.

4. Check the two boxes “Start when: “Process is applied” and “Process changes” as shown below.

5. Click “Select” next to “Process changes” and choose the “Active Stage” field as shown below and then click OK.

6. Click “Add Step” and choose “Update”. You can give it a name (like “Update the Related Opportunity” to keep track of what is going on.)

7. Change the entity from Opportunity Sales Process to “Opportunity” as shown below.

8. Click “Set Properties” after you have changed to Opportunity.

9. Scroll down in the window that appears until you see at the bottom, “Pipeline Phase”. Then click in that field, ensure that the Operator is set to Opportunity Sales Process, and Active Stage and then click Add as shown below. You should see the yellow variable appear in the field as shown.

10. Scroll back up and Save and Close that window.

11. Back at the Process screen, Activate the process.

12. Test this by returning to your list of Opps showing the Pipeline Phase and opening one, then advancing the phase, then refreshing your list. You should see the phase advancing.  Below is the result of several of these actions. Compare it to the first list above and you will see that the Pipeline Phase has been updated.



Microsoft Dynamics 365 Customer Service Hub

Microsoft Dynamics 365 Customer Service Hub

The “Customer Service Hub”, shown below in Figure 1, is available as part of the Microsoft Dynamics 365 Service subscription.

Microsoft Dynamics 365 Customer Service Hub

Figure 1 – The Microsoft Dynamics 365 App known as the Customer Service Hub

For the most part, the same data available in the classic Microsoft Dynamics 365 Service module, such as Cases and Activities, is also available in the newly-designed Customer Service Hub.  It’s mainly a matter of preference, and some users may prefer one over the other.  Many users may find the design of the Customer Service Hub more modern, and more in keeping with other Microsoft Office components, such as Teams and Planner.

Certain tasks, such as navigating and creating and editing records is slightly different in the Customer Service Hub than classic Microsoft Dynamics 365. As an example, see figures 2 through 4 below, which is the method by which you would create a case in the Customer Service Hub.

In the steps below, we walk through the creation of a Case using the Customer Service Hub.

  1. On the Dashboard, click the small menu icon under “Filtered” on the Case view as shown below.

Customer Service Hub Step 1

Figure 2 – Click the icon to reveal “Create mode”

  1. Click the “ + New Case” icon that is revealed as shown below.

Customer Service Hub Step 2

Figure 2 – Creating a new case in the Customer Service Hub

  1. Populate at least the first two required fields as shown below, then any other relevant fields on the Quick Create: Case form and click “Save”

Customer Service Hub Step 3

The two required fields on this Quick Create form are Customer and Case Title.  Other fields are also useful. There are a total for 10 unlocked fields by default.  Generally, the more fields used, the better for reporting, tracking, and management purposes.

Figure 4  – Fields on the Quick Create: Case form in the Customer Service Hub

Accessing the Customer Service Hub

If your users decide that they would like to use the Customer Service Hub instead of the classic and traditional Microsoft Dynamics 365 interface, they can access the app through these steps:

  1. Log into Microsoft Office Portal.
  2. Click on the Dynamics 365 Icon.
  3. Choose the “Customer Service Hub” in the list of tiles.  See the screen shot below for an example of what your tile may look like.

Customer Service Hub Tile

This is a typical tile as shown in the Office Portal, under “Dynamics 365.” Substitute your tenant name for “Blackfin Cloud Services” and your tile should look almost identical.

Interface Choice

It’s a good thing that Microsoft has created this app, since ultimately, the users will decide whether they wish to use the classic interface made available with the Microsoft Dynamics 365 subscription, or the more modern Customer Service Hub.


Tracking Customer Last Contacted Date

Using Microsoft Dynamics 365 to track the Last Contacted Date

Often we receive a request to track the “Last Contacted Date” for a customer in Microsoft Dynamics 365.  Some Customer Relationship Management systems have this feature by default, but with Microsoft Dynamics 365 we need to build it ourselves. Fortunately, the platform is powerful enough to not only allow us to build this feature, but to govern it with specific conditions.

In this step-by-step, we will create a field named “Most Recent Contact” and then build simple logic behind that field to capture any activity that is related to the Account entity in Microsoft Dynamics 365, even if the activity is related to something “below” the Account, such as an Opportunity.


  1. First, create the field.  Note below the following:
    1. Data Type = Date and Time
    2. Field Type = Rollup
    3. Behavior = User Local (unless you have a need for date and time not tracked locally)
    4. Format = Date and Time (Date Only may be fine, but in this example, we want both the date and the time)

5. Click Save, then click Edit.

6. In the screen shot below, we are configuring this pretty simply. Here are the decisions we have made:

  1. We choose “Related: Activities (Regarding)” – this ensures that any activities created directly off the Account will inform this field.
  2. FILTERS (Optional) – we have none, but you should know that almost anything goes here, where you can decide that you only wish this to apply to completed activities, or perhaps activities of a certain type, etc. Choosing no filters like we have will result in all activities rolling up with the latest date.
  3. INCLUDE INDIRECTLY RELATED ACTIVITIES : Activity Parties (Activity). This is an important choice if you wish activities to count toward the Most Recent Contact not only directly related through the “Regarding” field, but through activities where the ACCOUNT is set as an Activity party.

IMPORTANT: For this Activity Party setting to work, the Account record must show up in the Activity Party (To: From:, etc. fields). For instance,  if the Activity is related through the Regarding field with an Opportunity, make sure the Account is added to the “To” field for this to work against the Most Recent Contact field.

4. FILTERS (OPTIONAL) under the Activity Party section you can place the same sort of filters as you can above so that the activity only applies under certain circumstances.  For this one, we leave it blank.

5. AGGREGATION – Max of Date Created.  Here we use the creation date of the Activity.  You can also use Actual End, if your staff is trained to “Complete” their phone calls. The way this is set up is that the date is set to when the user created the activity record.  What you use here depends very much on your business process. If people in your organization log their phone calls in real time, then Date Created may work. If your staff schedule calls for the future, then you may wish to use something like Date Due, etc.

7. Save the form and then Publish.

8. Test this by first creating an activity under the Account.

9. Then click the “Recalculate” icon on the field as shown below.

Once you click the icon to refresh the field you should see the date of the activity you just created (today’s date and time)

10. Repeat this with an activity that is regarding another record, such as an opportunity, but be sure to add the Account in the To field as shown below.

Return to the Account and check the field. You should see an updated value for this last Activity.*

*Again, remember that the Account must appear as an Activity Party (in the To or From) for this to work for activities that are not related directly to the account through the Regarding field.


Microsoft Dynamics 365 Collateral Entities

Microsoft Dynamics 365 Sales Process

The “Collateral” entities in the Sales module consist of Quotes, Orders, Invoices and Products. The first three of these can also be thought of additional stages of the sales cycle from an operational perspective, especially if the organization uses the full stack of sales entities to manage their business.  See figure 1 below for the operational stages as represented through entities.

Microsoft Dynamics 365 Collateral Entities

Figure 1 – Stages of the Microsoft Dynamics Sales Cycle, starting with a Lead and ending with an Invoice

If Microsoft Dynamics is used in the way in which the designers of the system envisioned, the sales team begins with a Lead, then “Qualifies” the Lead, which then creates the Opportunity.  From the Opportunity, it’s possible to create the Quote (which conveniently pulls all information from the Opportunity, including line items and their values) by scrolling down on the form to Quotes, and clicking the small “+” sign to create the Quote.  From the Quote, once it’s activated, it’s possible to create an Order with a single click in the same way that the Quote was created from the Opportunity. Finally, from the Order, the user can create an Invoice using the same one-click feature, and with the same result, where information is pulled from the Order and placed on the Invoice.

All along the way, it’s possible to generate documents to support these artifacts, mainly starting with the Quote.  For instance, figure 2 below shows a Quote that was created from an Opportunity with line items, and the menu has been selected to run the report named “Quote”.

Microsoft Dynamics 365 Quote from an Opportunity

Figure 2 – Generating a PDF Quote using the Microsoft Dynamics 365 Quote record.

Once the icon has been chosen, a screen appears that represents the standard layout for a quote document (as everywhere else, this is configurable), and which allows the distribution of the document in several formats as shown in the screen shot below.

Microsoft Dynamics 365 PDF Quote

Figure 3 – Choosing the Output of the Microsoft Dynamics 365 Quote

Choosing “Word” from the list above provides a Word document with the information from the quote, which can then be edited, formatted further, and distributed either as a Word document or a PDF. (Recommended in this context is to save the report as a Word Document, make the formatting changes, and “Save As” PDF for PDF distribution instead of choosing “Acrobat (PDF)” as shown above.)

An alternative to this method is to use the “Word Template” menu choice from the Ellipses on the Quote as shown below.

Quote Generation Summary

Figure 4 – Using the Word Template for Quote Summary Generation

The same alternatives apply to Order and Invoice.

Status Actions for Sales Entities

Operationally, it’s important to understand the various actions, stages and implications of what we can call “status actions” on the sales entities. This is important because each of these actions “unlocks” further actions to lead to other stages of the sales cycle.  For instance, you can’t work on the Opportunity until you have Qualified a Lead (if your organization is using Leads), you can’t create an Order from a Quote until you have “Activated” the Quote. These various actions are found in the menu of each respective entity form, and are first shown in tabular format, followed by screen shots so you can be aware of where to find these actions.

Entity Action Effect
Lead Qualify Closes Lead, Creates Opportunity
Lead Disqualify Closes Lead
Opportunity Close as Won Closes Opportunity, Read-Only
Opportunity Close as Lost Closes Opportunity, Read-Only
Quote Activate Read-Only, Exposes “Revise” and “Create Order”
Quote Revise Creates Draft Copy, Increments Revision ID
Quote Create Order Creates Order, Closes Quote and Potentially Closes Opportunity (this is a choice)
Order Create Invoice Creates Invoice
Order Fulfill Order Closes the Order (read-only)
Invoice Confirm Invoice Reveals the “Invoice PAID” icon
Invoice Mark Paid Closes the Invoice and sets status to Paid (read-only)


Table 1 – Sales Statuses for Microsoft Dynamics 365 Sales Entities




Using the Microsoft Dynamics 365 Case Entity

The Microsoft Dynamics 365 Case

The “heart and soul” of the Microsoft Dynamics 365 Service module is the Case entity. Whether you choose to call this a “Case,” as it is currently known, or “Service Request,” or simply “Ticket,” the entity is the method by which your customer service department tracks the assistance it provides to whomever it provides it to.

! Pitfall! We would like to respectfully suggest that you not get hung up on syntax. First, remember that the display name of entities like the Case in Microsoft Dynamics 365 can be changed to anything you like.  Also, don’t get hung up on the concept of “Customer” either.  The author has spent a fair number of years designing and deploying very successful Service deployments for organizations that have no “Customers,” per se, but tens of thousands of “Constituents,” “Students”, or generally speaking, recipients of … assistance. We are talking about very large public organizations that support people, as well as other organizations. Just because they don’t consider them their “Customers” doesn’t stop them from configuring Microsoft Dynamics 365 to suite their nomenclature, and their support objectives.

The Case entity has a number of features that have evolved over time to provide a wide range of functionality. Some of these include:

  • A hierarchical “tree” of Subjects
  • A Business Process flow that can be configured to provide steps and stages toward resolution
  • Embedded and distributable Articles to provide knowledge-based support information for customers and staff that are related to Cases automatically.
  • Service Level Agreement (SLA) notification and enforcement

Figure 1 below is a screen shot of the default Case form in Microsoft Dynamics 365

Microsoft Dynamics 365 Case Entity

Figure 1 – the Microsoft Dynamics 365 Case Form

In figure 1 above, we can see that the customer has requested some training specific to a product they have presumably purchased from your organization. We can see that there is a specific Entitlement associated with this Case of “40 Hours Onsite Support,” which implies that when this Case is resolved, and the number of hours logged, the hours will be subtracted from the Entitlement.

Like most forms in Dynamics 365, a wide array of information is presented that is related to the Case, such as the aforementioned Entitlement, but also recent cases, contact details, the origin, and the stage that the case is in.

To create a Case for a customer, it’s often most efficient to navigate to the customer record first and create the Case there. Figure 50 below shows a sub-grid of Cases on the Account form for the customer. The plus-sign provides a quick method as shown below.

Adding a Microsoft Dynamics 365 Case to an Account

Figure 2 – Adding a Case to an Account in Microsoft Dynamics 365

Case “Quick-Create” Form

Like many important entities in Microsoft Dynamics 365, the Case features a “Quick Create” form which appears at the top of the screen when adding cases using the method shown above in figure 2, which is to click the small “plus sign” in the sub-grid on the Account form.  The Quick-Create case is shown below.

Quick-Create Case Form

Figure 3 – the “Quick-Create” Case Form

Only the Case Title is required in this form since the Owner and Customer field are populated automatically.

! Best Practice ! In general, creating records under other records is more efficient than creating records from scratch – that is, clicking “+NEW” at the top of a list of records. This is because of a feature known as “Field Mapping.”  In figure 51 above, we can see that the “mapped” fields between the Case and the Account are “Customer”, and “Owner” (called “Assign to Others” on this form.) A more extreme example of this efficiency are the fields mapped between Contact and Account, so that if you create a Contact from an Account, there are no less than six mapped fields – and many more are possible through simple configuration!

Microsoft Dynamics 365 Case Business Process

Like the Microsoft Dynamics 365 Opportunity entity, the Case entity also features a Business Process Flow that appears by default at the top of the Case form as shown below.

Microsoft Dynamics 365 Case Business Process Flow

Figure 4 – Business Process Flow for the Microsoft Dynamics 365 Case Entity Form

And, like the Opportunity Business Process Flow, this process is designed to assist service staff with stepping through the process of resolving a case. By default, there are few steps, but the process by which they are added is simple:

  1. Create (or use an existing) field to represent what the staff should do.
  2. Add this “Step” to the Business Process Flow in the appropriate Stage.