SchedulingObjective

Represents a scheduling objective in Workforce Engagement. Scheduling objectives define business goals that the scheduling tools consider when identifying agents for shifts.

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

Important

Parent Type 

This type extends Metadata and inherits its fields.

File Suffix and Directory Location 

SchedulingObjective components have the suffix .SchedulingObjective and are stored in the SchedulingObjective folder.

Version 

Introduced in API version 55.0.

Special Access Rules 

This type is available only if Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires the Workforce Engagement Planner permission set.

Fields 

description 

  • Type: string
  • Required: No
  • Description: A description of this component. The description should explain the component’s purpose and behavior so that administrators and developers understand when to use it.

isProtected 

  • Type: boolean
  • Required: No
  • Description: Indicates whether the component is protected (true) or not (false). The default value is false.

masterLabel 

  • Type: string
  • Required: Yes
  • Description: Required. The name of the objective.

schedulingCategory 

  • Type: SchedulingCategory (enumeration of type string)
  • Required: Yes
  • Description: Required. What the scheduling logic applies the objective to.
  • Possible values:
    • A — Service Appointment
    • B — Shift

schedulingObjectiveParameters 

  • Type: SchedulingObjectiveParameter[]
  • Required: No
  • Description: Parameters associated with a scheduling objective, such as the number of days before and after a shift that the logic considers when balancing assignments.

schedulingObjectiveType 

  • Type: SchedulingObjectiveType (enumeration of type string)
  • Required: Yes
  • Description: Required. Specifies the type of objective.
  • Possible values:
    • AgentPreference — In the UI, this value appears as Maximized Preferences.
    • BalanceNonStandardShifts
    • BalanceShifts

SchedulingObjectiveParameter Type 

Represents a parameter that’s associated with a scheduling objective.

Fields 

parameterKey 

  • Type: ObjectiveParameterKey (enumeration of type string)
  • Required: Yes
  • Description: Required. The scheduling objective parameter key.
  • Possible values:
    • DaysAhead
    • DaysBack

value 

  • Type: string
  • Required: No
  • Description: The scheduling objective parameter value.

Declarative Metadata Sample Definition 

The following is an example of a SchedulingObjective component.

1<?xml version="1.0" encoding="UTF-8"?>
2<SchedulingObjective xmlns="http://soap.sforce.com/2006/04/metadata">
3    <masterLabel>Balance Shifts</masterLabel>
4    <schedulingCategory>B</schedulingCategory>
5    <schedulingObjectiveType>BalanceShifts</schedulingObjectiveType>
6    <schedulingObjectiveParameters>
7        <parameterKey>DaysAhead</parameterKey>
8        <value>30</value>
9    </schedulingObjectiveParameters>
10</SchedulingObjective>

The following is an example package.xml that references the previous definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <name>SchedulingObjective</name>
5	<members>Balance Shifts</members>
6    </types>
7    <version>55.0</version>
8</Package>

Wildcard Support in the Manifest File 

This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.