---
schema_version: "1"
id: e361b818292b039429d5cf93472c35f32e688c73875af3ed10d3dcf6bae14e8b
title: SchedulingObjective
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_tooling/tooling_api_objects_schedulingobjective.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_schedulingobjective.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 1a0b4b4083e704dcca1aecfe906d1ea4bcc99cb18a07dfd931f1e783640a5357
description: Represents scheduling objective settings for Workforce Engagement. This object is available in API version 55.0 and later.
---
# SchedulingObjective

Represents scheduling objective settings for Workforce Engagement. This object is available in API version 55.0 and later.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/images/icon_note_important.png)

#### Important

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.

## Supported SOAP API Calls

create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()

## Supported REST API Methods

DELETE, GET, HEAD, PATCH, POST, Query

## Special Access Rules

This object 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

| Field | Details |
| --- | --- |
| DeveloperName | 
Type

string

Properties

Filter, Group, Sort

Description

The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/images/icon_note.png)

#### Note

When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.















 |
| FullName | 

Type

string

Properties

Create, Group, Nillable

Description

The full name of the associated metadata type in Metadata API. The full name can include a namespace prefix.

Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| Language | 

Type

picklist

Properties

Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort

Description

The language of the scheduling objective.

Possible values are the supported languages in Workforce Engagement.



 |
| MasterLabel | 

Type

string

Properties

Filter, Group, idLookup, Sort

Description

Label for the scheduling objective. In the UI, this field is Scheduling Objective.



 |
| Metadata | 

Type

mns:[SchedulingObjective](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_schedulingobjective.htm)

Properties

Create, Nillable, Update

Description

The scheduling objective’s metadata.

Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| SchedulingCategory | 

Type

picklist

Properties

Filter, Group, Restricted picklist, Sort

Description

What the scheduling logic applies the objective to.

Possible values are:

- A—Service Appointment
- B—Shift





 |
| SchedulingObjectiveType | 

Type

picklist

Properties

Filter, Group, Restricted picklist, Sort

Description

Specifies the type of scheduling objective.

Possible values are:

- AgentPreference—In the UI, this value appears as Maximized Preferences.
- BalanceNonStandardShifts
- BalanceShifts





 |