Salesforce Field Service – Automated Appointment Bundling

Automatically bundle Service Appointments that share specific criteria

Related Posts:

Related References:


This is a follow up to ‘Salesforce Field Service – Appointment Bundling, Part 1 – Setup‘, and I will be assuming that the setup steps performed there have been completed. In this post, we’ll look at a basic example of automated Service Appointment Bundling. We will use the default Bundling Policy and settings, and plan to look at additional customization options in a separate post. Live bundling is another option falling under this umbrella, and we’ll look at that further in a separate post as well.

Baseline Automated Bundling Rules

As stated in the Salesforce documentation, there are a few built in conditions that must be met for the automated bundling process to bundle appointments.

  • Two or more Service Appointments are available to be bundled.
  • Time between Earliest Start Permitted and Due Date values has to overlap with a 7 day period starting when the automated bundling process is initiated.
  • Bundles are split by Service Territory (multiple bundled SAs will not be from different Service Territories).
  • Also Required: At least one Appointment Bundle Policy with Automated Bundling set to true, one or more Appointment Bundle Service Territory, and one or more Appointment Bundle Restriction Rule.
    • Note here that the initially available Default Bundling Policy will have Automated Bundling set to true, and will have a default Appointment Bundle Restriction Rule requiring that each Service Appointment to be bundled must have a Street address (Additionally, the setting to have this restriction apply to Automated Bundling will be set to true by default). There will not be a default Appointment Bundle Service Territory, and we will set that up in the next step.


Setting up Automated Bundling is a straightforward process. The customization options allowed by Appointment Bundle Policy and related records will be explored in a separate post. This is where the setup gets far more complex in an effort to allow a wide range of business scenarios to be met. For now, we’ll stick with the basic setup so we can review the Automated Bundling itself.

First, we need to check for the pre-requisites noted above and, as previously highlighted, there is not an Appointment Bundle Policy Service Territory. To create one, click on ‘New’ from the Related List on the Default Bundle Policy. Add a Service Territory and Save. Repeat for any other Service Territories for which you want the Default Bundle Policy to apply.

Now we have the necessary data in place, and can activate our Automated Bundling. Navigate to ‘Field Service Settings’ => ‘Scheduling’ => ‘Bundling’.

Flip the toggle next to ‘Automated Bundling’ from Off => On. This will open up the scheduling options, where we can select when the automated bundling process should run (Day of Week/Month) and Time. Set the run time to whatever makes sense for your test or live scenario.

If you have not completed the required pre-configuration steps yet, you’ll receive a notice here of the required items.

In our case, we did this previously, so we wouldn’t get this notification – I captured it prior to completing the necessary steps.

Check it Out

Before the automated bundling process runs, we need to make sure there are some Service Appointments that will qualify for automated bundling. I’ve created 4 Service Appointments with an Earliest Start Date of Today and a Due Date of Today+ 7 Days. These Appointments share a Street address to meet the Restriction Rule requirement, and also have a Service Territory matching a Service Territory previously applied to the Scheduling Policy.

I also created two Service Appointments to test a couple negative scenarios. One Service Appointment was created without a Service Territory, and another without an address. Neither of these Service Appointments should be bundled by the Automated Bundling process.

Now we’re ready to test out the Automated Bundling functionality. When the process is scheduled to run we can observe the results. For the purposes of our testing, I’ve adjusted the run time to execute immediately so we can observe the behavior.

The scheduled job runs, and we see that new Bundle Service Appointment SA-0011 has been created using the ‘Default Bundle Policy’. Notice that ‘Manually Bundled’ is set to false since this bundling was done by the scheduled job.

Navigating to the Related List we can see that the 4 Service Appointments that qualified for scheduling have been added to the Appointment Bundle by the Automated process. Importantly, note that the two other Service Appointments that should not qualify (due to Restriction Rule and Service Territory criteria not being met) are not included in this bundle. Success!

Live (Automated) Bundling

Live Bundling is a further option under the Automated Bundling umbrella. This feature will trigger updates to Bundles based on record changes. We’ll look into this further in a follow-up post.

Wrapping Up

Thanks for reading. Give automated bundling a try if you haven’t already, and see if it can improve your Service Appointment scheduling process!

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *