You are here:
Considerations for the Apex-Defined Data Type
Understand these considerations when you’re building flows that include an Apex-defined data type.
Required Editions
| View supported editions. |
Flow Builder
- Cloud Flow Designer isn’t supported.
- A custom component that displays a value, like the Display Text screen component, can display all fields from an Apex-defined variable. For example, the {!Car} variable stores all field values that are defined in the Car Apex class. If a Display Text screen component has the {!Car} Apex-defined variable as the input attribute, the screen displays all the fields from the Car Apex class. If the Apex class is from a managed package, only the Apex class ID is displayed.
- The first time you open an element or resource window in an org with over 200 Apex classes
that have the
@AuraEnabledannotation, the window can take longer to load. - Deprecated Apex classes in a managed package appear in Flow Builder.
- If a flow invokes Apex, the running user must have the corresponding Apex class assignment in their profile or permission set.
- A flow doesn't support a list of lists data type if it's a field on a flow variable that's an Apex-defined data type.
Apex
- Supported data types in an Apex class are Boolean, Integer, Long, Decimal, Double, Date, DateTime, and String. Single values and lists are supported for each data type. Multiple Apex classes can be combined to represent complex web objects.
- The @AuraEnabled annotation for each field is required.
- A constructor with no arguments is required.
- Class methods aren’t supported.
- Getter methods for fields aren’t supported.
- Inner classes aren’t supported.
- An outer class that has the same name as an inner class isn’t supported.
- Referential integrity isn’t supported for Apex class fields. For example, a flow has an Apex-defined variable that represents the model field in the Car Apex class. If the model field is modified or deleted in the class, the flow fails.
Input and Output Values
- An Apex-defined variable value can't be set or stored outside the flow. The value can't be passed to a Subflow element.
Local Actions
- An Aura component that’s used as a local action can’t set an Apex-defined attribute.
Did this article solve your issue?
Let us know so we can improve!

