Do you need to exclude users from assignments based on working hours, vacations or other absences? 


Decisions on Demand allows:

  • Administrators to associate working hours with each user
  • Users to register absences on their calendar  


Users will not receive Round Robin or Load Balanced assignments outside of working hours or during absences.


This functionality is included in Decisions on Demand v1.15 and later. For 1.14 we provide equivalent capabilities as an unmanaged package (please follow this link for details).  


Setting working hours for users

Decisions on Demand uses the standard Salesforce Business Hours settings as a foundation. 


To assign working hours for a user:

  • Create a Business Hours record (if it doesn't exist yet)
  • Assign the Business Hours to a user


Creating a Business Hours record

To create a Business Hours record:

  • Type 'Business Hours' into the Setup Quick Find box and then select it.


  • Create Business Hours objects for each of your teams
    For example:


Associating Business Hours to users

After creating the Business Hours records, you can assign them to each member of your team:

  • Navigate to the Assignment Business Hours tab

  • Click 'New'
  • Select a User and a Business Hours record
  • Click 'Save'
  • For multiple users with the same business hours you can clone existing Assignment Business Hours records


Users without associated business hours are considered to be available at all times


Recording vacations and other absences

To record a vacation or other absence, a user can create a new event on their calendar using either an 'Absence' Record Type or Event Type. 


NOTE: prior to first use, the Record Type or Event Type must be created -- see the Setup section below for details


  • Whether you are using the Record Type or Event Type, the first step is to create an Event on the user's calendar by first clicking on the 'View Calendar' link on Today's Events, located on the Home page:

    Alternatively, you can find the Calendar in the App Launcher:

  • In the Calendar, click on the 'New Event' button:
  • If you have created an Absence record type, you will be prompted to select it when creating the event:
  • Now enter the absence details


    Complete the start and end date and time. You may also select All Day Event

    Also, check that the Make sure that `Assigned To` user is correct (you can add events for other users if you have access to their calendar) and pick a relevant Subject.

    If you are not using an Absence Event Record Type, you should also make sure the Type is 'Absence'

    All other fields are optional.

Setup for absence events

Prior to using absence management, you need to add an Event Type and/or an Event Record Type called 'Absence'. 


Events using either the 'Absence' Event Type or Record Type will be considered absences for the purpose of Decisions on Demand assignments, and users will not receive assignments during the effective period of those events on their calendar.


Using a custom Event record type provides for the best end-user experience, as a custom layout can be associated with the record type making the required information easier to enter. The drawback is that the user must select a record type for any event (even those unrelated to absences) created in Salesforce. 


Both options are described below.


Absence Record Type 

To create a custom record type and associate it with a custom page layout proceed as follows:


  • Type 'Object Manager' into the Setup Quick Find box and then select it.


  • Then select 'Event' > 'Record Types'


  • If there are no existing record types, first create a 'Default' record type (you can choose another name too). This record type should be set as the default for all profiles, and associated with your default event page layout:
  • Now create an 'Absence' record type and enable it for all relevant profiles
  • Then apply the 'Absence Layout' for all profiles
    NOTE: if this layout is not available in your org (it was not included prior to version 1.19) you will first need to create this layout.
    To do so:
    • Navigate to the Page Layouts section and create a new layout
    • Edit the layout
      It should have at least the fields shown below

  • Click 'Save' to complete
  • Optionally, you can also edit the available values in the Event Type and Subject picklists.
    These have no influence on the Decisions on Demand functionality, but may help you to better manage absences for your team by providing additional detail on the type of absence.


Absence Event Type 

If you prefer not to create a new Event Record Type, you may instead add a new 'Absence' value to the Event Type picklist:

  • Edit the 'Type' field on the Event object

  • Add a new picklist value called 'Absence'

  • If your org has multiple Event Record Types, make sure to add the new value to all relevant types