In last week’s first installment of this 3-part blog series, we described Requirement Groups and explained how they are used. In today’s part 2, we’ll be walking through how to create them. Enjoy!


Let’s start with a brief discussion on the difference between ANY and ALL in the context of Requirement Groups. These two settings are available at the Root level and at each option level.

  • ALL means that all requirements must be met before the scheduling engine can consider a requirement met.
  • Using the ANY setting (like we did in Part 1 of this series) allows us to choose only ONE set of requirements. The schedule assistant will show us all results that meet our requirements, and the Dispatcher can then select which option will be booked.

Each option line also has a choice to use ANY or ALL, and it works the same way. Let’s look at an example using ALL at the root level.

  • Root, All
    • Option 1, Any
      • Truck 1
      • Truck 2
    • Option 2, Any
      • Technician 1
      • Technician 2
    • Option 3, Any
      • Tool 1
      • Tool 2

Using ALL at the root level tells us that we need to make a choice from EVERY option group before we can consider this requirement met. By using ANY for each of the options, we’re saying that we only need ONE line from each option to meet the requirement. Below are several different combinations that would meet this requirement.

  • Truck 1 driven by Technician 1 carrying Tool 1
  • Truck 1 driven by Technician 2 carrying Tool 2
  • Truck 2 driven by Technician 1 carrying Tool 2

OK, let’s start creating!

Note: You are not required to create a template in order to create a Requirement Group. However, our “best practice” suggestion is to attach a Requirement Group Template to an Incident Type and use that on a Work Order.


1. Navigate to Field Service > Resources > Requirement Group Templates, and then select New.

2. Enter a name for the Requirement Group and select Save. You will see a grid view of requirement details with a root requirement named after the template.

3. Select the root, and then select Add Requirements. Fill the fields across the columns. If you need to add details that aren’t displayed in the columns, select the requirement, and then select Open Form to add details in the requirement form.


1. Navigate to Universal Resource Scheduling > Settings > Requirement Group, and then select New.

2. Enter a name for the requirement group.

3. Select a Requirement Group Template and then select Save.

This will look very similar to the template, as all the requirements from the template will be moved over to your Requirement Group. You can then edit or add to the requirements as needed.


Our “best practice” suggestion for the most effective use of this technology is to add a Requirement Group Template to an Incident Type, then assign that to a Work Order. Here’s how you do that.

1. Create a Requirement Group Template.

2. Associate the Requirement Group to an Incident Type.

  • Navigate to Field Service Settings > Incident Types.
  • Select an incident type (or create a new one).
  • Under Related entities, select Requirement Groups and select add a new one.
  • Select the Requirement Group Template from the dropdown menu and then select Save.

3. Add the Incident Type to a Work Order.

  • Navigate to Field Service > Work Orders > New.
  • Complete the work order details and add the Primary Incident Type before you select Save.
  • Navigate to Related > Requirement Groups to see the new record created.

When you book this work order, you’ll be shown all the various resource combinations that will meet your needs. By default, the Schedule Assistant will show you the options with the fewest number of resources at the top of the list.


Hopefully, you now understand how Requirement Groups can work alone or in combination with an Incident Type. In the final installment, we’ll cover complex scheduling examples.

Don’t forget to subscribe to our blog and 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.