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.

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<FLOW_GetPicklistValues.DTO_Response> getPickListValues(List<FLOW_GetPicklistValues.DTO_Request> dtoRequests)Retrieves the picklist values for an SObject and record type combination.

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

ParameterTypeDescription
dtoRequestsListA 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

ExceptionDescription
IllegalArgumentExceptionIf more than one request provided, an exception will be thrown

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);

Inner Classes

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