As we all know or for those who are not aware, Microsoft plans to restructure its certifications path due to which below dynamics CRM certification are going to retire:
Retiring on April 30, 2019
MB2-715 Microsoft Dynamics 365 customer engagement Online Deployment (originally published Feb. 24, 2017)
MB2-717 Microsoft Dynamics 365 for Sales (originally published Feb. 21, 2017)
MB2-877 Microsoft Dynamics 365 for Field Service (originally published Dec. 8, 2017)
If you have been following my blog , I have been preparing and also creating blog for MB2-877 Field Service exam. However because of this news I have stopped publishing more blogs. I might continue with these blog once we get the updated syllabus from Microsoft.
In this blog we are starting with the topic – Optimize resource scheduling from module 3 “Scheduling and dispatch work orders”:
Identify licensing requirements for resource scheduling add-on
Resource Scheduling Optimization(RSO) is an add-on capability for the Dynamics 365 for Field Service application that enables you to automatically schedule work orders for the most appropriate resources, by optimizing bookings for the shortest travel time, available work hours, and many other constraints. Below licenses are required in order to use RSO.
⦿ Requires a valid production instance of Field Service ⦿ Licensed per resource you want to optimize
Create optimization profiles
Optimization is based on profiles that define what you want to optimize and how you want to optimize it Example: Optimize currently scheduled items for the next three hours to minimize travel time.
I would really suggest you to go through the brief article here : RSO Configuration as I will not be able to perform these steps to show you how its done. It requires a valid field service license. So we will need to just understand the concept!
Define objectives and constraints
When setting up RSO , you will have objectives and constraints that needs defining. Objectives are nothing but your primary goal i.e what you want to achieve using RSO, while constraints are boundaries you apply to your goal.
Objectives can be:
Maximize total working hours: The version of the engine results (iteration) with the total highest aggregate work time will win this objective. Minimize total travel time: The version of the engine results (iteration) with the total lowest aggregate travel time will win this objective. Locked Booking: The engine will try and schedule the iteration/scenario that successfully creates/assigns the most “Locked” schedules to appropriate resources. High priority Requirement: The fitness function will evaluate this objective, and will give priority to the solutions with the highest score for priority.
Constraints can be:
Schedule Within Working Hours: Verifies that the task is not scheduled out side of the resource’s working hours. Meets Required Characteristics: Verifies the resource meets all the required skills needed to complete the work. Locked to Resource: If marked, Resource Scheduling Optimization will not change any locked resources in the booking requirement. Scheduling Windows: If marked, Resource Scheduling Optimization will not change any locked scheduling windows in the booking requirement. Restricted Resources: If marked, Resource Scheduling Optimization will check resource preference to see if it’s “restricted”. If the requirement has a restricted resource in which there is no expiration, or expiration in the past, Resource Scheduling Optimization will not schedule this resource for this booking requirement.
Configure resource optmization You can configure resource optimization, which majorly covers three points, When RSO will run, What RSO will optimize & How booking will be optimized.
We could not do much handson on this topic due to the limitation of having a paid field service trial but will try/focus on as much as handson on other topics. see you in the next blog!
In this blog we are starting with the topic – Implement the Schedule Assistant from module 3 “Scheduling and dispatch work orders”:
Apply constraints to resource queries & Filter data Using scheduling assistant you can apply below constraints resource query, Scheduling assistant really helps to find the right resource for your work order by allowing you to enter filters like Duration , Radius within which you need a resource , Start and End time , Territory , Resource type etc.
To schedule a work order using scheduling assistant, go to a work order which needs scheduling and click on “Book” from the ribbon command bar and you will be presented below. Based on your criteria you get resource > select the resource and click on book. A resource booking will be auto created:
Specify a search radius You can specify/modify a default search radius for your organisation by using Resource Scheduling > Administration > Schedule Parameters
Troubleshoot Schedule Assistant
If items are not populating on the Schedule Assistant, there are few things you can try:A. Try increasing your search radius so that you get some more resources and slots.
B. Check the work location
C. Verify correct addressing (the addresses on various records)
That’s it for this, it was a really short one! I will see you in the next blog “Optimize resource scheduling”.
In this blog we are starting with the topic – Implement the Schedule Board from module 3 “Scheduling and dispatch work orders”:
Identify features and uses of the booking requirements view Here are some important points regarding the requirement view which you can find below when using scheduling board:
A. Unscheduled items are displayed at the bottom of the Schedule Board in Booking Requirements B. Will display all unscheduled requirements for any entity that has been enabled for the universal scheduling C. Predefined view for unscheduled Work Orders is included as part of the Field Service Solution D. Additional requirement views can be defined to provide a more customized scheduling environment
Implement the integrated map feature
A. Helps determine best resource for job based on proximity B. Each resource is color coded for easy identification C. Routes are created and updated as resources are assigned jobs
Manually schedule work orders
You can manually schedule orders – Ways to manually schedule a Work Order:
Drag unscheduled Work Order from list view
Drag unscheduled Work Order from map view
Blocking out a spot on the Schedule Board directly
Re-assign and re-schedule work order
for re-assigning or re-scheduling a work order a user can simply drag and drop the work order to other placeholder ( time + resource).
Move incomplete work orders
As seen above where in we have dragged and dropped a work order to other resource and rescheduled it to a different type , you can in similar way to move incomplete orders to a future date. i.e if you notice at the end of the day an order has not completed which was scheduled to be completed today, you can schedule it for available time tomorrow.
Generate driving instruction for field agents
with your schedule board you have option to generate driving route and email your agents or get the print outs. To do this click on the work order and click on actions > Get directions:
then click on Directions post verifying the address and click on print or email:
Create additional schedule boards
You can create new schedule board for your organization, by default each organization has one schedule board. to click a new one , click on + button and define the properties such as default views, map settings etc:
You can create Private or Public boards.
Create web resources to define custom booking rules
Booking rules in Dynamics 365 for Field Service allow a System Administrator to create warning or error messages that users see when creating or editing a resource booking record, based on custom conditions. For example, a booking rule could be created to warn a user when they attempt to book a work order to a resource on the schedule board that doesn’t have the skills required for the job.
Set up booking rules to validate a booking when it is created or modified.
From the main menu, click Field Service > Administration, and then choose Booking Rules.
On the Active Booking Rules screen, click +New in the upper left corner.
Type a Name for the new booking rule.
Select a Web Resource that has been previously created by the System Administrator to contain the validation logic and warning text.
Enter the Method Name.
That’s it for this blog – I will see you in the next blog.
In this blog we are starting with the first topic – Manage Scheduling options from module 3 “Scheduling and dispatch work orders”
Describe options for scheduling work orders including the Schedule Board and Schedule Assistant & Determine when to use each scheduling optionOnce you have a work order, you need to schedule it in order for the field work. There are three ways of doing it:
⦿ Schedule Board
⦿ Schedule Assistant
⦿ Resource Scheduling Optimization
Schedule board provides a a brief and easy view on how many of your resource are allocated to how many work orders and if they have some more capacity.
⦿ Drag & drop interface for scheduling and rescheduling ( showed below in the image)
⦿ Filter by Resource Type, Services, etc.
⦿ Scheduler settings allow configuration of dispatcher time zone, grouping etc
Scheduling assistant really helps to find the right resource for your work order by allowing you to enter filters like Duration , Radius within which you need a resource , Start and End time , Territory , Resource type etc.
To schedule a work order using scheduling assistant, go to a work order which needs scheduling and click on “Book” from the ribbon command bar and you will be presented below. Based on your criteria you get resource > select the resource and click on book. A resource booking will be auto created:
Resource Scheduling Optimization
Resource Scheduling Optimization(RSO) is an add-on capability for the Dynamics 365 for Field Service application that enables you to automatically schedule work orders for the most appropriate resources, by optimizing bookings for the shortest travel time, available work hours, and many other constraints.
Few important points about RSO:
⦿ Add-on service used for optimizing schedules based on defined optimization profiles
⦿ Requires a valid production instance of Field Service
⦿ Licensed per resource you want to optimize
⦿ Used to optimize any entity enabled for use with the schedule board. ⦿ Optimization is based on profiles that define what you want to optimize and how you want to optimize it
Example: Optimize currently scheduled items for the next three hours to minimize travel time.
Describe stages of the scheduling process and steps that occur during each stage
A typical work order scheduling process consist of three stages:
A. Work Order Creation
⦿ Identifies the Service & Billing Accounts
⦿ Defines the type of Work Order
⦿ Indicates the Tasks, Products, Services, Skills, etc. needed
⦿ Includes Price List and Tax information
⦿ Preferences for service delivery can be defined
B. Resource Requirement Definition
⦿ Pulls the customer and required duration from the Work Order
⦿ Pulls in any preferences for delivery such as time and date windows, as well as any resource preferences
⦿ Indicates any additional relevant scheduling information such as skills, territories, etc.
⦿ Created automatically when a Work Order is created
⦿ Requirement records are used by scheduling features to locate, assign, and schedule specific resources
C. Resource Booking
⦿ Once a resourse who meets the necessary requirements is identified and scheduled a Resource Booking record is auto created
⦿ Defines who is responsible for completing the Work Order
⦿ Contains time and status information including estimated and actual Travel information such as miles and durations can be populated
⦿ Booking statuses are updated as technicians update information from the mobile application
That’s it for this blog – I will see you in the next blog where we will cover the next topic “Implement the Schedule Board”
In this blog we are going to cover the second topic “Create and manage work orders” from module 2:
Create work order from an incident
We have already learned that a work order can be added from a case or an opportunity. To add a work order from case, go from Field Service > Field Service > Case:
select an existing case or create a new one and click on tab “Related” > Work order :
Then click on “Add new work order” . A side screen will open, fill out the details and click on save & close:
Add status and substatus information to a work order
There are system predefined statuses are available that you can associate with a work which are as below:
now these system statuses can have sub-statuses associated with them. for i.e under open – scheduled you can have ” waiting for the manager approval” or ” resource not available at the moment” etc.
Now when you add a sub status and save a work order – it is clearly visible in the footer out of the box:
Configure work order type and priority
A. Work Order Type
Work Order Type is an option of categorization of work orders such as “Maintenance” , “Repair”, “Training” etc.
To define a work order go from field service > field service settings > work order types and click on new :
Add required field such as incident required , associate a price list : The main point here is when you add this work order type to a work order , the price list you add here , that gets added by default on the work order:
Then you can associate this with a work order and notice when you do that the price list associated on work order type gets added to the work and becomes a default price list , however you have option to overwrite it.
Priority records let you prioritize your work orders. You can also assign each priority value a custom color, which will display in the outline of the resource booking time slot on the schedule board. This allows dispatchers to visually distinguish a job’s priority while managing the schedule.
To create priorities for your field service work orders , go from field service > Resource Scheduling and click on Priorities :
click on add new priority and give it a name and select level of important select 1 for the top priority and 2,3,4… for the lower ones subsequently :
Late this can be assigned to work order on the work order setting tab:
this can be seen on the scheduled board with colour representing the priority, in below the green colour represents the priority of the work order :
Organize work orders and resource by geography A Service territory helps Organize Work Orders and resources by geographical area. In this blog here : Configure Additional Options , I have followed an approach to create a territory and assigned that to a resource , you can also associate this territory to a work order’s Settings tab :
Which then can easily be located on the map view by adding the territory filter:
Describe the process for closing work orders & Close a work order
When you moved through business process of a work order – when work order is completed, the status is set to Open – Completed however that doesn’t mean that a work order is literally completed in crm. There may be some approvals/information required etc before accomplishing the definition of done. Finally when everything is done – the status should be changed to “Closed -Posted” which signifies that a work is completed.
There may be additional Settings that you can do around these settings under field service administration such as what should be the default status when a work order is completed or when an invoice should be created etc.
That’s it for this blog – i will see in you the last blog “Manage incidents” of module 2 “Manage Work Orders”.
In this blog we are staring with the module 2 “Manage Work Orders” which is 15-20% content of the exam. The first topic is “Describe the work order lifecycle” :
Describe work order fields
A work order in Dynamics 365 for Field Service has information on what work needs to be done. It is used to coordinate and schedule resources and activities. It can be used for different types of work, such as installations, repairs, or preventive maintenance.
A work order is usually created from a case or opportunity. It is then scheduled either manually or using the schedule assistant and then dispatched. Once the work is complete, it is reviewed and approved by a manager.
When you are creating a work order you will have to capture main important below information :
A. Description of the issue/ work order to be performed B. Customer/Account C. Location D. Products/Services that are required E. Tasks or steps to follow F. Priority & Estimated time to complete G. Skills/Characteristics needed
this is how a typical work order looks like in Dynamics CRM 365 UI :
Describe work order life cycle stages & 3.Identify booking status and work order status values for work order stages
A work order in Dynamics 365 for Field Service more or less goes through upto 5 stages. They may vary based on the type of service the company provides:
What happens in each of these stages is very nicely mentioned on docs.microsoft here : Work Order LifeCycle with categories as below:
A. What happens in each stage B. Who performs the task in each stage C. Work order status in each stage D.Work order schedule status in each stage
Describe uses and capabilities for billing accounts, service accounts and sub-accounts
A service account in Dynamics 365 for Field Service is an account for which a work order is created or requires the service.
On the other hand a billing account is the account which will pay for the services.
let’s have a look on a work order:
Point to note is : if there is no billing account is associated with the order ; by default service account becomes the payer.
if you navigate to field service > Accounts > open an account and open the field service tab you will see below:
You have option define some field service related information on this account. we will focus on the field “Billing Account”.
A. if these is not filled , the service account will be the billing account on the work order by deafult. B. you can define here who needs to pay the bill such as other organization or account. C. All future billing for the current account will be billed to the associated account here.
So that’s it for this blog and i will see in the next blog with the MODULE 2 TOPIC – Create and manage work orders
In this blog we will cover up the last topic from the module 1 “Integrate other tools with Field Service”
Automate processes by using Microsoft Flows In Your field service you can very well take advantage of powerful Microsoft flows which takes traditional workflows to the next level and allows you to automate processes that span multiple systems. Here are some main points:
a. Build process automation that span systems
b. Visual designer to compose automations
c. Connect to services to access data
d. Built on top of Microsoft Azure Logic Apps
e. Can be on demand from PowerApps or triggered by event
To know more about them : https://flow.microsoft.com/en-us/
Build flows using Visual Designer You will have a visual designer which you use when designing a flow, in the example below you can utilize a flow for sending an exchange email when a new file is added in drobox to anyone: Apart from it , you get many predefined flow templates that you can use such as an approval process template , getting text messages on work order processes etc.
You can create a flow or utilising existing ones either from the main entity bar:
Or direcly by going to microsoft flows app by clicking on the main 365 navigation and by clicking on ‘Flows‘:
Identify uses for the Twilio solution
Twilio is an API that allows developers to make phone calls means make and receive phone calls programmatically. It also has an interface that you can use to send and receive text messages using web service APIs. You can have the same capability using Microsoft Flow because Microsoft Flow does interact with the Twilio APIs as well to send SMS messages using Flow, but there is also a Twilio solution that can be downloaded and installed into your Dynamics 365 organization.
So main points are: a. Allows software developers to programmatically make and receive phone calls and send and receive text messages using its web service APIs.
b. Twilio has a Dynamics 365 Solution that can be installed into an organization (Requires a Twilio Account)
Identify opportunities to integrate Glympse with the Connected Field Service solution. The Glympse solution is available through App Source. If you go into the Dynamics 365 marketplace, you can download and configure the solution. Its integration that enhances Microsoft Dynamics 365 Field Service experiences with live map technician view and appointment ETA.
The Main points are :
Provide real-time notification to techs & customers
Notification sent through SMS or email
Uses GPS location in Field Service mobile application
Can be configured for voice messages
Available through App Source
How how these journey would like on the phone:
So, this is the last blog of the Module 1 – “Set Up & Configure Field Service” Which covers 15-20% of the certification. We have come pretty much far but we have long way to go 🙂
I will see you in the next blog with new interesting module : Manage Work Order.
In this blog we will cover up the topic from the module 1 “Configure additional options”
Configure territories and organizational units You can create territories for your resources in field service.Now, remember that traditionally when you’re using territories with Dynamics 365, you’re really just dealing with one territory per resource. But in this situation, a resource might service multiple territories. So I do have the capabilities to add multiple territories in here based upon my specific situation. To add a territory go from field service > Field Service Settings > Territory : Click on “Add new territory” and fill out below information such as “name” and manager which is optional:
Once you save and close this territory now you can go and assign this to your resource by following below steps. Open Resource and click on “Related” Tab and select “Resource territory.” Finally say add a new resource territory which will help you to use the recently created territory:
Save and close:
Organizational Units. Below are the main points on organization units before we configure them:
a. They are Different from Business Units
b. Organizational units represent how your consulting company categorizes its different businesses.
c. Each Organizational Unit can have Latitude and Longitude define to assist in the scheduling process.
To Configure an orgnizational units go from field service > Resource Scheduling > Organization Units and click on add new organization unit:
Add below information and save and close. Later you associated this with a resource:
Identify skills types Now when you are setting up your resource you might want a placeholder to say this resource has this skill i,e a consultant or technician etc. To Define a skill or characteristic for a resource go From Field Service > Resource Scheduling > Resource Skill and click on New > Add required field such as name of the skill and select the type as “Skill” > click on save and close:
Post this this, it will be available to be associated to the resource. from your resource click on ” Field Service” Tab and in the “Resource Characterstics” Subgrid , click on New. Look for the skill that we have created and click on Save:
Configure characteristics and skills & Configure proficiency models below are useful points about characteristics/Skill: a. Skills / Characteristics are used to define areas in which resources are proficient
Can be broken into two types:
b. Used with proficiency models to denote a specific skill level in an area.
c. Proficiency model is look up to additional values can be added or removed.
Configuration: Before configuring Characteristics and skills we will first have to define a proficiency model as this is linked to a skill. You can configure a new one but i am going to use standard out of the box rating model by going to field service > Resource Scheduling > Proficiency Model:
Open the default existing model and you will field like min and max rating and also a sub grid below which actually tells the rating:
Now if you want to lets say customize it and would like to add a new rating ‘Expert’ what you will have to do is first make the max rating to ‘4’ so that 4 rating can be added. To that and save the record and what it does it add 4 options to the grid and ask you to enter the names for 4 rating:
select each rating and edit the label and we are ready to go and configure a characteristic to do this follow the steps given in the 2nd step above ‘Identify a skill type’ wherein i have added a characteristic as ‘Technical Consultant’. Now if you go to resource and add characteristic for it you will add the skill as ‘technical consultant’ and rating value as well which we defined.
One Important Point : We have been talking about Characteristic & Skill alot but on the grounds these two are exactly the same so dont get confused.
Implement resource roles and categories This option allows you to define what specific roles that a particular resource is going to play inside your organization. few points:
a. Define the role that a resource can play within an organizationb. Can be used for filtering on the Schedule Board
c. Often used with Project Service Automation to define generic place holders for needed resources on projects
To add a Resource Role/Category, go from field service > Resource Scheduling > click on Resource Roles:
add below information such as name, I have taken as ‘trainee‘ and other details such as utilization and Billing Type etc and click on save & close:
Now you will be able to associate this to a resource.
One Important Point : We have been talking about Roles & Category alot but on the grounds these two are exactly the same so dont get confused.
Explain differences between organizational units and business units They are very much different. The major difference between them is that a traditional business unit drives the security structure of you dynamics crm however an organizational unit is just a placeholder for categorization of your business.
That’s it for this blog, I will see in the last topic of this module in the next blog.
Identify Fields for bookable resources Let’s understand what is a bookable resource, well, a bookable resource in Field Service is anything that you’re going to need to carry out a work order. Now, it could be a user, so an employee of your organization that is actually going to go out in the field and work through something. And it doesn’t necessarily have be a person it could be anything in field service. To create a bookable resource ,from your field service >click on “Resource Scheduling” and then on “Resources”:
below the are main fields that needs defining when creating a bookable resource:Resource Type – Can be of type User or Contact or Account etc.
Skills & Certifications – Resource Skills and achievements
Roles & Categories – Resource’s Roles
Working Schedule – Resource’s work routine i,e start & end time.
Hourly Rate – Resource’s Charges.
Location Information – Work start and end location.
Schedule Board Display Options – Yes/No
Territory Information – Territory a resource belongs to.
you will have to complete all this information here on the different tabs available below such as “project service”, “field service” & Scheduling:
Enable mapping functionality
You can enable mapping functionality which is a concept of geo location, making sure that, when a work order is created, that we understand the exact physical location of where that work order is to be executed from a service technician perspective. By default this is Disabled in field service + Project Automation.
To Enable go to from Field Service > Resource Scheduling > Administration and click on Scheduling Parameters:
Change “Connect to Maps” field to “Yes”. Once you do that you will be presented with a warning popup. Click okay and the mapping functionality will be enabled.
Identify entities that are geocoded
Out of the box, accounts and work orders are all geo located to ensure that they are physically tied to an actual, mappable address that can be used through like Bing Maps or Google Maps or something similar to that functionality.
To see this open an account and from ribbon navigation click on “Geo Code“:
It will then actually try to map the address given on this account to an actual physical address on the map and give you suggestion. select and click okay and save the account.
Define start and end location for resources & Identify differences between address types
A resources might physically start their day at the office. So it might be a situation where the technician’s going to come into your office. Once they come into your office, they’re going to get the all the accessories they need for that particular day, their stack of work orders, and then they’re going to head off into the office. So with the option of start and end location you will be able to map your routing information based upon where they start their day. So if they start their day at the office, you know that that’s how you want to work through it. The other option could be that they’re starting their day from their physical resource address.
To define this – follow step 1 given above for creating a bookable resource and go to “Scheduling” tab:
you get couple of option which means as below:
a. Resource start and end locations are used to help plot a resource’s daily route
b. Start and end locations can be defined as:
Location Agnostic: Does not have a defined address
Resource Address: Uses the address defined for the resource
Organizational Unit Address: Uses the address defined on the resources organizational unit
c. Address play a direct role in whether a resource is suggested for a Work Order in the Schedule Assistant