If you’ve been following this series from the beginning, you have hopefully learned what Requirement Groups are (PART 1) and how to create them (PART 2). Now let’s talk about how to apply them.


To begin the discussion on complex scheduling, let’s look at an example:

EXAMPLE – Robot Replacement

To give their customers the best experience possible, our sample company has determined that the robot replacement process includes these steps:

1. Assessment Team determines which new robot model would best replace the existing functionality.

2. Inventory Management staff verify that the appropriate robot is on hand.

3. Delivery staff get the robot to the homeowner.

4. Demolition Team removes the old robot and breaks it down for parts reclamation.

5. Installation Team performs configuration on the new robot.

6. Training Team works with the homeowner to show them the new functionality available to them with the new model robot.

7. Customer Service Team verifies that the homeowner is satisfied.

That’s a lot of people to coordinate! In our best-case scenario, all of this could be accomplished in one day by a capable team. Some of our Resources can perform more than one job, while others have just one specialty. Here’s how we could construct a Requirement Group to help us put together our team for this project.

Let’s break it down to see what our requirement group says we need for this project.

The root is set to ALL, meaning we need to have at least one resource from each subgroup.

  • Assessment – set to ANY, which means we only need one of the two choices
    • Optimization Specialist OR
    • A resource with the Assessment characteristic
  • Inventory – set to ALL, but since there’s only one line, we only need one resource
    • Inventory Manager is our only option
  • Delivery – set to ALL, which means we need a resource from each line
    • Robotics Engineer AND
    • A resource with the Delivery characteristic
  • Installation – set to ANY, which means we need only one of the three choices given
    • Robotics Engineer OR
    • Robotics Technician OR
    • A resource with the Robotics Hardware characteristic
  • Training – Set to ANY, which means we only need one of the four choices given
    • Robotics Engineer OR
    • Robotics Technician OR
    • A resource with the Control Systems Service characteristic OR
    • A resource with the Robotics Programming characteristic
  • Customer Service – set to ALL, but since there’s only one line, we only need one resource
    • A resource with the Customer Service characteristic is our only option

When we select Book, the Schedule Assistant gives us lots of options. When you click to open the details, you’ll see each requirement the resource is fulfilling (reversed, bottom to top).

In the Assessment subgroup we had 2 choices available.

Team 1 uses Davis for the Replacement Specialist option.

Team 2 uses Cheri for the Assessment Skill option.

Allison shows up on both teams, meeting different requirements.

On Team 1, Allison is fulfilling the Installation subgroup requirement for an Engineer.

On Team 2, Allison is fulfilling the Training subgroup requirement for a Software Specialist.


You could book either one of these teams to perform a complete Robot Removal and Replacement service.

Results on the Schedule Board
  • By default, the schedule assistant results will favor requirements with fewer resources and display them at the top of the list. If there are options that require the same number of resources, the schedule assistant results will favor the requirements listed first in the list (top to bottom).
  • When Requirement Groups are related to onsite work, the schedule assistant looks for groups of resources that can arrive at the same time. It doesn’t pay attention to when travel begins for each resource.
  • When the Dispatcher selects an option that contains multiple resources, then multiple bookings will be created; one for each Resource.

What staffing challenges can you meet using Requirement Groups? We’d love to hear your stories of how you’ve used creativity to solve difficult challenges.

If you want to learn more about the capabilities within Dynamics 365 for Field Service, please watch this webinar on demand: Discover the Connected Business Model for Field Service. We also have a blog called Route Optimization With Flow and Power Apps that explores other delivery fulfillment efficiencies.

Happy Dynamics 365’ing!

Avatar for Joe D365

Joe D365

Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.