Skip to content

FLOW_GetPicklistValues

Class · Group: Utilities

apex
global inherited sharing class FLOW_GetPicklistValues

Invocable method to get all the picklist values for a particular object for a given record type. Delegates to UTIL_SObjectDescribe for ConnectApi retrieval and transformation. Caches responses in org cache to reduce repeated ConnectApi calls for the same requests.

Since: 1.0

Example:

apex
FLOW_GetPicklistValues.DTO_Request request = new FLOW_GetPicklistValues.DTO_Request();
request.objectApiName = 'Contact';
request.recordTypeApiName = 'Customer_Contact';
List<FLOW_GetPicklistValues.DTO_Response> responses = FLOW_GetPicklistValues.getPickListValues(new List<FLOW_GetPicklistValues.DTO_Request> {request});
List<DTO_PickList> pickLists = responses[0].pickLists;

See Also: DTO_PickList, DTO_PicklistValue, UTIL_SObjectDescribe


Methods

MethodDescription
global static List getPickListValues(List<List> dtoRequests)Retrieves the picklist values for an SObject and record type combination.

Inner Classes

ClassDescription
DTO_RequestRequest DTO containing the information required to retrieve picklist values.
DTO_ResponseProvides the outcome of the picklist values retrieval.

Method Details

getPickListValues

apex
@InvocableMethod(category='Utilities' description='Returns the available picklist values for a specified object and record type. Use to dynamically populate choice lists or validate picklist selections in a Flow.' label='Get PickList Values') global static List<FLOW_GetPicklistValues.DTO_Response> getPickListValues(List<FLOW_GetPicklistValues.DTO_Request> dtoRequests)

Retrieves the picklist values for an SObject and record type combination. Checks the org cache for stored values first and only calls ConnectApi if the values are not cached.

Parameters:

  • dtoRequests (List) - A list of requests indicating for which object and record type combination to retrieve picklist values

Returns: FLOW_GetPicklistValues.DTO_Response - A list of responses (only will ever contain 1 item)

Throws:

Since: 1.0

Example:

apex
List<DTO_Request> dtoRequests = new List<DTO_Request>();
DTO_Request request = new DTO_Request();
request.objectApiName = 'Contact';
request.recordTypeApiName = 'Customer_Contact';
dtoRequests.add(request);
List<DTO_Response> responses = FLOW_GetPicklistValues.getPickListValues(dtoRequests);