Microsoft Dynamics 365 Uncategorized

API Access for Dynamics 365

For years, consuming the API for Microsoft Dynamics CRM and Microsoft Dynamics 365 was made more difficult by the burden of authentication. I used to work for a company with a very talented developer who constructed a authentication wrapper with an eye toward commercialization, such was the burden placed on developers who simply wanted to connect their apps to Dynamics. Now, however, with Azure and with an “App Registration” you can vastly simplify the authentication of the apps you write, and the apps you use from third-parties when connecting to Microsoft Dynamics 365. This video walks through that setup – the App Registration itself, which is always the first step, the permissions and secret for access to Dynamics 365 and what you must do with an Application User in Microsoft Dynamics 365 Customer Engagement in order for your app to have the proper permissions to execute the functions you it to execute. All without burning a license in Microsoft Dynamics 365.

Below is a video to walk you through the process.

Dynamics 365 Errors Microsoft Dynamics 365 Sales

The Dreaded “Service-Maintenance Based Records” Issue

If your Microsoft Dynamics 365 environment contains the Field Service solution, even if you don’t use it, you may come across an issue that a customer recently brought to our attention.  It’s the dreaded “Service-Maintenance Based Records” issue. This will manifest itself on the Opportunity entity, and is part of the Field Service module.  If your environment does not contain Field Service, you will most likely not have this issue, but many Microsoft Dynamics 365 instances will have this module, and therefore it would not be rare if you ran into it.

If you do, you will sometimes find yourself faced with an Opportunity record that uses the form “Opportunity: Field Service Information” and is therefore made read-only.

Below is an example of such an error on the Unified Interface:

The slightly maddening thing about this error is that since the record is read-only, you cannot change the form for the record. So if you have customized the Opportunity form, and you are stuck with the default Field Service form, you cannot manage the information that you find important on the Opportunity record.  And when this manifests itself, it appears to happen randomly to certain Opportunity records, and not others.

Steps to Take, and a Workaround

Because a customer raised this issue with Microsoft, we have the benefit of their suggestions.  Even though these suggestions did not solve the problem (we have come up with a workaround shown below), they are not bad things to do.

Upgrade the Field Service Version if it’s out-dated. To check the version, follow these steps:

  1. Login to the Administration Portal. Be sure to log in with Office 365 administrator credentials.
  2.  Click the “Admin” icon.
  3. In “Admin Centers” scroll down to “Dynamics 365” and click that icon.
  4. Choose your Production environment and click “Solutions” to see the list of Solutions installed.
  5. Click on the Field Service solution. If the solution is out of date, you will see “Upgrade Available” under the STATUS column for Field Service. On the right, it will show you what version is available (i.e. “New version:”)
  6. Click the “Upgrade” button.

This is a good idea, but it does not solve existing Opportunity records, which will have the Catch-22 issue mentioned above, where you cannot change the form on the record because it is read-only.

The Issue and the Workaround

The issue is that there is a field from the Field Service Solution on the Opportunity named “Order Type.” This is an option set with the following values:

  • Item Based
  • Word Based
  • Service-Maintenance Based

In version 6.x of the Service Module, there is some business logic that causes the Opportunity record to be read-only if “Order Type” = “Service-Maintenance Based.”  Therefore, changing the Order Type to “Item Based” will “fix” the issue with existing Opportunities.  And for those of you who are not using the Field Service Module, the following workflow can be triggered On Create to prevent the Order Type from being set to Service-Maintenance Record on any new Opportunities.  Here are the steps:

  1. Create an on-demand workflow named “Set Order Type”
    • Entity = Opportunity
    • Scope = Organization
    • Trigger = Create (UNLESS YOU USE FIELD SERVICE – in which case leave off all Triggers and use it as on-demand only*.)
    • Be sure to check “As an on-demand process” (so you can fix existing Opps as described below)
  2. The first and only step is Update record.
    • Description: Setting the record to Item based
    • Set Properties – look on the Opportunity form for a field named “Order Type” – probably will be on the lower right of the page under Additional fields.
    • Set this field to “Item based”
    • Click Save and Close
  3. Save the workflow, then Activate.

*Please note that if you set Create for the Trigger of this workflow, none of your new Opps will be set to Service-Maintenance Record. If this is your objective, then this workflow will work. If you are using Field Service, please leave off this Trigger.

Now fix the existing Opps.  You can do this two ways:

  1. Individual Basis. On the form, for these read-only records, one at a time as you find them, click “Run Workflow” and choose Set Order Type. Run the workflow, then refresh the screen, then change the form to Opportunity – Opportunity.  That should fix the one record.  ALTERNATIVELY …
  2. In Bulk. Create an Advanced Find like “All Opportunities where Status = Open and Order Type <> Item based.  Select all records in the results, and click Run Workflow against all of these records.

The second option will fix all existing open Opps (Qualified opps will be read-only, which is why we choose only the Open ones).

An Alternative Workaround

If you don’t want to create a workflow and you still want to fix all of your Opportunity records in one task, then you can also use the Data Refresh technique to achieve the same objective. This will not prevent future Opportunities from being locked in this manner, but it will change all existing locked records. This has the added advantage of changing Closed Opportunities as well.

  1. Create an Advanced Find of all Opportunities where Order Type = “Service-Maintenance Based”
  2. Add the Order Type to the column set and remove extraneous columns. You can leave the Topic column in addition to the Order Type column so you can at least see what you are changing.
  3. Export the results of this Advanced Find.
  4. Open the result file in Excel
  5. Activate the file (Enable Editing)
  6. Change the entire Order Type column values from “Service-Maintenance Based” to “Item based”
  7. Save the file.
  8. Import the file using the Import Data wizard.

This will unlock all of those records, and will also change the closed records as well.

Hope this helps. By the way, if you are interested in a guide to deploying Microsoft Dynamics 365 please have a look at my book here.

Microsoft Dynamics 365 Microsoft Dynamics 365 Marketing

Marketing with CRM … done right

If your organization is executing efficient, modern, and largely automated marketing efforts that work seamlessly with your Customer Relationship Management system, then bravo!  You may only want to scan this article to confirm your belief.

But if you feel like things might be better than they are, then I encourage you to read on.

Customer Relationship Management and Marketing … the hard truth

Just about everyone knows that CRM is required now, and most people understand that without effective marketing, it’s hard to grow a new business. And it’s pretty much a no-brainer that these two systems need to work hand-in-glove, as one.

As the primary decision-maker for your startup, you could be forgiven for presuming that in this day and age there would be tons of fully-integrated solutions wrapped in pretty packages on the shelf just waiting for you to grab, unpack, and hit the ground running.

Sadly, there are not as many as you think.

But before we even go there, let’s take a moment to define some basic criteria for success.  First, I think that we can all agree that nowadays we need to know who our potential customers are, our actual customers are, and the means by which to effectively reach them – and to know to what extent they are listening to us. That’s a baseline, but let’s put a little structure on these criteria:

Ideally, a CRM and Marketing Solution should support:

  • Intelligent Marketing
    • Email Tracking. Emails sent with links that track activity in my CRM
    • Web Forms that create Leads directly in my CRM when submitted
    • Website traffic that shows my potential and existing customers visiting my site and interacting with my products and services
    • Campaign Automation. Communication based on the interaction of my customers with my communications and website.
  • Native Integration.
    • I don’t want data in two places.
    • I don’t want to log into two or more systems.
    • I want to see the results of my marketing efforts in the context of my potential and existing customers.
  • No Data Constraints
    • I shouldn’t have to pay extra simply because I have thousands of leads in my database.


There are a small number of solutions that even come close to achieving all of those criteria for success. We have created a short list of those with a brief note for each solution.  This is followed by more detailed information.

Choice Matrix


  • Microsoft Dynamics 365 and ClickDimensions. ClickDimensions features a native integration with Microsoft Dynamics 365, and is not a standalone product. It is designed to work within the interface of Microsoft Dynamics in such as way as to become a native part of the overall Customer Relationship Management platform for a given organization. From the perspective of a modern marketer, ClickDimensions completes Microsoft Dynamics 365 by supplying the missing piece – Marketing Intelligence in the context of potential and existing customers the same system where you manage customer information. This particular solution is powerful because of a wide range of features available as your business scales upward, such as Surveys, Text Messaging, Event Management, and Social Marketing. And pricing is simple and not tied to the number of contacts or leads in your database.
  • Salesforce and Pardot. Salesforce is a powerful Customer Relationship Management system and the addition of Pardot completes the missing piece of Salesforce as a full-featured CRM, since a full suite of Marketing Intelligence is provided. If price is no object whatsoever (this solution costs more than just about any other in the marketplace), and if an organization is already using Salesforce and now needs a marketing solution, this combination is a good choice.
  • Mailchimp and CRM. There are no native integrations with Mailchimp and Customer Relationship Management systems, as Mailchimp is a standalone marketing platform. If Customer Relationship Management functionality is required in addition to Intelligent Marketing, a connector is required, or a company can opt to attempt to use the features of Mailchimp as a CRM, but very few companies would be satisfied by the small feature set that Mailchimp as a CRM brings to the table.
  • If your organization is a single-user organization or relies less on advanced customer relationship management sales and marketing features and more on inbound marketing techniques, then this solution may be a good choice – at least as a start. The CRM included with HubSpot is what you might call “essential” CRM, with little or no sales automation tools available, although by upgrading to more expensive plans there are some features available, like the ability to track products and services in your opportunities. This slight disadvantage with this solution is that for a complete suite of sales, marketing and services components, the price escalates pretty quickly.
  • Microsoft Marketing and Microsoft Dynamics Customer Engagement. For a long time, a large part that was missing from Microsoft Dynamics as an advanced Customer Relationship Management platform was Intelligent Marketing. There have been fits and starts from Microsoft to fill this gap, and Microsoft Marketing is the latest effort. The solution hits some of the most important criteria, such as marketing automation, formatted email templates, and nurturing campaigns, but the pricing is based on the number of contacts in your CRM system. In addition, the deployment is rather complex, as it leverages the Microsoft Dynamics 365 Portals component, the configuration of which is not for the faint of heart.
  • Act-On. The claim to fame for Act-On is known as “adaptive customer journeys,” which allows for dynamic choices during nurture campaigns. However, there is no native CRM component, and this requires a connection with your chosen Customer Relationship Management system, which means that the sophisticated marketing functions reside in a different system and database than do your potential and existing customers, all of their related information. There is an initial limit of 2,500 contacts, and the price goes up with the addition of more contacts in the system. There are also paid support plans.
  • Marketo. This company was purchased by Adobe in 2018 for almost 5 billion dollars, and mainly serves the large enterprise space. The system is quite robust, with all of the Intelligent Marketing criteria hit, although it’s rather complex to set up and manage. Deploying Marketo will almost certainly require professional services, and so total cost of ownership can reach fairly high levels even before the system is deployed. The most native integration is probably with Salesforce, since the system was built on the SF platform. Integrations with other CRM systems are not native, which results in sets of data in two places, with two systems to manage. For very large companies with robust technical resources, Marketo might be a good choice. For most others, probably not.

Your Journey

If there is one thing I’ve learned in the last dozen years of implementing Microsoft Dynamics, it’s that every organization is different. The solution you ultimately choose for your marketing efforts can be based on many factors.  Hopefully, this article will help sort out what is currently available to join your marketing efforts with your use of a Customer Relationship Management system.  Please don’t hesitate to reach out if you have any questions or if you think we may be able to help.


Our Agile Journey

Vytas Butkus recently presented the value of of an Agile Coach to both the discipline of project management, as well as to the individual who wishes to enrich themselves from a career perspective. It’s a timely discussion, considering the wild and growing popularity of Agile as an approach, philosophy, and a practical way of delivering good software.

It makes perfect sense that as companies and program managers scramble to implement Agile approaches in their projects that the role of Agile Coach will be more and more valuable, since there is nothing like a gentle but firm push from a specialist to right a wayward ship, especially if in the haste to move to Agile from whatever companies were doing before, the transition was not entirely and carefully thought out. To further the maritime analogy, the need for an Agile Coach is very much like the need for a Harbor Pilot on the home stretch of a transoceanic journey to say, deliver the latest set of Nike’s from factories in China.  A Master of Oceans, 50,000 Gross Tons is more than capable of navigating the Pacific Ocean, but would never think to attempt to push through the Straits of Juan de Fuca and down into Puget Sound without handing over the helm to a specialist who knows the shifting sands of those brackish waterways as well as her own bathtub. And so the Master steps down humbly and follows the advice of the Pilot to the letter.

As Vytas implies, the project manager who has recently switched to Agile would do well to follow that lead and learn well from the Agile Coach. As he also mentions, it need not be a full time job. A little goes a long way – especially given the inherently efficient nature of the Agile framework.

As for the second part of the title ” … and How do You Become One?”, Vytas provides some practical advice,  from obtaining a certificate to stepping through the process by becoming a Scrum Master (considered the lowest run on the Agile ladder) on some projects, and working your way up. With time, you will be qualified to become a coach. It’s quite relative in this regard : If you have more experience than the project manager with Agile … you are the coach!

The Certificates and Those Behind Them

To elaborate on Vytas’ first recommendation, we can characterize the various certifying authorities to help you decide which may be the most conducive to what your own plans are as you work your way toward the Agile Coach designation in one official capacity or another. Whether or not you wish to obtain a certificate, it’s useful to get to know the certifying organizations if, for nothing else, the large number of resources and benefits you receive if you join the community itself.

Below are the main certifying bodies along with their certifications, and one should not only think of these as milestone certificates, but as the body of knowledge they represent as well as the people who are involved. Visit any of the forums associated with these organizations and you will see what I mean. If you are seriously considering obtaining a certificate, think less of it as a milestone, and more of an ongoing journey toward a deeper understanding of Agile principles.

  1. Scrum Alliance – Certified Scrum Master, Certified Scrum Product Owner, and Certified Scrum Developer. The Scrum Alliance is an organization founded 18 years ago, quite some time before Agile became especially “hot” and it can be argued that much of their activity and evangelizing over the years has contributed to the popularity of the principles used today.  The organization is quite active, with regional and global events occurring quite frequently. The organization offers three “tracks” from three different, and interesting perspectives – the “Scrum Master” (which is more of a Project Manager perspective), the “Scrum Product Owner” (those who represent the “business” stakeholders), and the “Scrum Developer” (for programmers and builders of solutions). This is a sensible approach, because as anyone knows who has spent time on actual software development projects, these divisional perspectives actually exist.  Philosophically, Agile is supposed to be warmly inclusive of all three camps, but often the business side is left out of the process. The Scrum Alliance formalizes that welcome approach and simultaneously unifies and distinguishes all three camps through separate certification tracks across a unified perspective.  If you really want to broaden your point of view and increase your capacity for empathy, you may consider getting all three! In order to become certified with this organization, you must obtain training from certified trainers, and the course prices range from around $1,000 to around $1,400. It has been said that the test, compared to the PMI and PSM tests is easier, and so some criticize the Scrum Alliance for creating a condition where a two-day paid-for course plus a relatively easy test produces a certificate with no proof of actual project management experience.
  2. Project Management Institute (PMI-ACP). The PMI is a hallowed organization that offers a portfolio of certifications, and they are by no means solely “Agile” as the Scrum Alliance is. However, their experience at developing standards over the years, and their comprehensive Project Management Body of Knowledge (PMBOK) allowed them to rapidly develop and deliver a highly respected certification named the “Agile Certified Practitioner (PMI-ACP).  This certification has become the fastest growing product in their catalog, and the organization itself recognized the power of Agile in it’s 2015 “Pulse of the Profession” report.  In contrast to the Scrum Alliance certifications, PMI certifications require a proven number of hours of actual project management experience before you qualify to take the exam.  In the case of the PMI-ACP exam, the requirement is 2,000 hours of project experience, plus 1,500 hours with projects that used Agile methodologies.  In addition there is also a 21-hour training requirement. The cost of the exam itself is $435 for members of the organization and $495 for non-members.  Most people seem to think that the PMI exam is much more difficult than the Scrum Alliance exam.
  3. (Professional Scrum Master 1). is arguably the least “commercialized” of the Scrum certifying organizations discussed in this post.  The two above have constructed multi-million dollar revenue-generating enterprises around certification and training, whereas has not gone this route. Thus, the certification is certainly the least expensive to obtain. There is no prerequisite of experience or cost-based training, and the exam fee itself is $150.  There is also the PSM 2 and PSM 3 if you wish to continue the path of certification from this organization.  The organization has a passionate set of members who believe that the quality of the tests and body of knowledge is superior to the Scrum Alliance CSM path from the perspective of difficulty and real-world testing of knowledge and understanding of Agile and Scrum. There are even some posts on their site from people who have become certified in all three certificates (PMI, Scrum Alliance and and even they say that the path actually taught them more than the others. Because the PSM1, 2 and 3 tests are relatively inexpensive, but relatively robust, it can be argued that if you are looking for some serious education about Agile and Scrum, that you may get the most bang for your buck, so to speak, with the route. Training for the PSM1, 2 and 3 exams is widely available at various costs. Udemy is arguably the best deal, since they courses are frequently discounted.

Ultimately, while a certificate is important for a job search, what is likely more important are the benefits of the community, which in all three cases you will find a rich and diverse group of people who are actively and avidly practicing Agile. It would not be appropriate or useful for me to recommend one of these three over the others, but I can say that joining at least one of the organizations and obtaining at least one of the certificates is certainly better than not, and will only enrich you from a professional, intellectual and practical perspective.  So .. research, study, join, and prosper!



BUG ALERT: Filename Issues in Chrome version 72 and Microsoft Dynamics

Single Quote Filename Issues using Chrome Version 72 and Microsoft Dynamics

An issue appeared with the release of Chrome version 72 that impacts users who access Microsoft Dynamics CRM, 365, and other Dynamics products, wherein the filename of a file that is downloaded from the application (such as generated Word Templates, or Email Attachments) is wrapped with single quotes. So you end up with something like ‘mytemplate.docx’ instead of simply mytemplate.docx.

As you might imagine, this presents a problem with the operating system, which relies on the file extension to open the file properly.  Windows will not recognize a .docx’ extension.  So in order to open the file, the filename must be renamed to strip away the single quotes.

The developers of Chrome (Chromium, actually) are aware of this, and here is a thread that provides a lot of information as to when we might be able to see this fixed permanently.  So you don’t have to scroll through the thread, here are some important points:

  • Both Microsoft and the developers of Chromium are working on this.
  • First to be fixed on the Microsoft side is probably going to be Microsoft Dynamics 365.
  • It’s anyone’s guess who will fix it first, but on the Chromium side, it appears that a fix will be permanent in version 74, which is due out ” … in about four weeks.”
  • For On-Premise users there is a (surely unsupported) fix involving web.config.  (Scroll down in the Chromium thread shown above for that.)


Probably the best workaround is to use a different browser for now. Neither Firefox nor Edge seem to have this issue. This might be the best solution, since it appears that the issue will be resolved relatively soon.

If you are On-Premise, there is a web.config change that can be made, although it’s most likely unsupported, so environments that have strict controls over workarounds like this may reject this workaround.



Document Management Rendering in Microsoft Dynamics 365

Rendering your SharePoint Integration

By far, the best method of integrating document management with your Microsoft Dynamics 365 instance is through SharePoint Online. Yes, it’s possible to use the list component with an on-premise SharePoint instance, but it’s just so much more seamless and simple to manage if you go all-in on the cloud version of SharePoint.

One small complaint that I have heard is that when you integrate SharePoint in this way, you must reach the documents through the Associated View menu for the entity you are working with. This means that you must click at to the top of the screen and then choose “Documents” from the choices of associated entities that are presented. See below.

Figure 1 – Reaching the Document Management section of an entity record requires 2 clicks as shown above

The Almighty Click

Software users often complain about extra clicks. It makes sense – if you add up all of those clicks over ten years of clicking and then divide by half you would save a decent amount of time. And I will agree that Microsoft Dynamics 365 remains a pretty “clicky” interface.

And so the question has come up as to whether there is any way to reduce the number of clicks – or at least somehow make it so the documents were accessible right on the form, and not by clicking the associated entities.

The Web Resource

There is a way – it’s not strictly supported, but I wouldn’t say it’s explicitly unsupported either. And it currently works.  As always, you run the risk of it not working in future iterations of Microsoft Dynamics 365, but it’s a pretty easy thing to disable.  It consists of an iFrame, plus some JavaScript to render the iFrame on the form – and it’s really just the same iFrame that is used by the Document Management integration itself.

Demonstrating the Choices

Below is a video that demonstrates the choices between using this solution and the out-of-the-box document management.

An important thing to understand is that you must have Document Management installed and configured with SharePoint Integration for this to work.  All this solution does is just save you a click – but we all know that those can add up!

SharePoint Integration Rendering in Microsoft Dynamics 365 from Blackfin Cloud Services on Vimeo.


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