Overview of Skedulo picklists

Get to know object picklists in the Skedulo web application.

Skedulo web application picklists

The Skedulo web application includes a number of picklists, or drop-down menus, on objects such as Jobs, Resources, Activities, and Regions. Picklists can also be added as custom fields to standard or custom objects. Picklists contain multiple pre-configured values in a list, which users can select to add standardized data to entities in the system.

An example of a picklist that is commonly encountered is the Jobs.Type picklist. It is a required field on all jobs created using the Skedulo web application, but not required when creating a job using the API.

Job Type picklist

Modify picklists

The way to manage picklist values depends on the picklist in question and on your system:

  • Picklists on the Skedulo Pulse Platform can be modified using Skedulo’s REST API.
  • Picklists on Skedulo for Salesforce can be modified in Salesforce.
  • Most standard picklists can be managed in the web app (Skedulo Pulse Platform and Skedulo for Salesforce); see the user guide for the list of picklists that can be managed this way.
  • Custom picklists can be managed in the Objects & fields admin settings in the Skedulo web app.

The documentation in this section covers how to manage picklists via the API in Skedulo Pulse Platform teams.

Retrieve all picklists in the team including their values

You can access picklist items as part of the Custom fields API. You can get an idea of the schema name and field name of the picklist from the Skedulo web application.

For example, the Job.Type picklist is on the Create Job page as well as the job details page and the list is called Type.

The endpoint to view or modify the picklist values for Job.Type is /custom/vocabulary/Jobs/Type.

However, sometimes the schema name and field name for the list may not be obvious and you need to look up the names so that you can identify the correct endpoint.

You can use the Skedulo Lens API to retrieve a complete list of Skedulo picklists and their field values from /custom/vocabularies.

curl --request GET \
  --url https://api.skedulo.com/custom/vocabularies \
  --header 'authorization: Bearer $AUTH_TOKEN'

This returns a JSON encoded list of all fields defined as picklists in Skedulo. This includes any picklist fields on custom objects and their field values.

To retrieve picklists for a specific Skedulo object or custom object, you can use the name of the object appended to the endpoint.

For example, you can return all picklists for the Resources object using the following request:

curl --request GET \
  --url 'https://api.skedulo.com/custom/vocabularies?names=Resources' \
  --header 'authorization: Bearer $AUTH_TOKEN'

You can also retrieve a specific picklist’s items using /custom/vocabulary/{schemaName}/{fieldName}.

For example, the following request returns just the Resources.Category picklist field value items:

curl --request GET \
  --url https://api.skedulo.com/custom/vocabulary/Resources/Category \
  --header 'authorization: Bearer $AUTH_TOKEN'

The JSON response lists the picklist vocabulary items:

{
  "result": [
    {
      "value": "Customer Service",
      "label": "Customer Service",
      "active": true,
      "defaultValue": true,
      "controllingField": null,
      "validFor": []
    },
    {
      "value": "Installation Technician",
      "label": "Installation Technician",
      "active": true,
      "defaultValue": false,
      "controllingField": null,
      "validFor": []
    },
    {
      "value": "Electrician",
      "label": "Electrician",
      "active": true,
      "defaultValue": false,
      "controllingField": null,
      "validFor": []
    }
  ]
}

Identify the picklist you want to modify and use the following format to make PUT, POST, or DELETE requests: /custom/vocabulary/{schemaName}/{fieldName}.

Modify or delete a picklist field value by appending the above endpoint with /{value}.