View this page in the latest version of Appian. Record Picker Component Share Share via LinkedIn Reddit Email Copy Link Print On This Page About the record picker component a!pickerFieldRecords( label, labelPosition, instructions, helpTooltip, placeholder, maxSelections, recordType, filters, value, saveInto, required, requiredMessage, readOnly, disabled, validations, validationGroup, accessibilityText, showWhen, showRecordLinks, marginAbove, marginBelow ) Displays an autocompleting input for the selection of one or more records, filtered by a single record type. Suggestions and picker tokens use the title of the record. Parameters Name Keyword Types Description Label label Text Text to display as the field label. Label Position labelPosition Text Determines where the label appears. Valid values: "ABOVE" (default) Displays the label above the component. "ADJACENT" Displays the label to the left of the component. "COLLAPSED" Hides the label. The label will still be read by screen readers; see accessibility considerations for more information. "JUSTIFIED" Aligns the label alongside the component starting at the edge of the page. Instructions instructions Text Supplemental text about this field. Help Tooltip helpTooltip Text Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is "COLLAPSED". Placeholder placeholder Text Text to display in the field when it is empty. Does not show if the field is read only. Maximum Selections maxSelections Number (Integer) Maximum number of allowed selections. Once this number is reached, further selections are blocked until a selection is removed. Record Type recordType RecordType Required, singular. Filters picker to select records of this type. Filters filters Any Type A single logical expression or a list of query filters can be provided to apply additional filters to the record set. Queries inherit the default filters defined on the referenced record type. Service-backed record types can only be filtered using a logical expression if they use optimized data access. Selected Records value Any Type Array of currently selected records. This will be either a List of Text, List of Number (Integer), or record map, depending on the recordType selected. Save Selection To saveInto List of Save One or more variables that are updated with the array of selected records when the user selects or removes a record. Use a!save() to save a modified or alternative value to a variable. Required required Boolean Determines if a value is required to submit the form. Default: false. Required Message requiredMessage Text Custom message to display when the field's value is required and not provided. Read-only readOnly Boolean Determines if the field should display as not editable. Default: false. Disabled disabled Boolean Determines if the field should display as potentially editable but grayed out. Default: false. Validations validations List of Text String Validation errors to display below the field when the value is not null. Validation Group validationGroup Text When present, the requiredness of the field is only evaluated when a button in the same validation group is pressed. The value for this parameter cannot contain spaces. For example, “validation group” is not a valid value. You need to add an underscore between words: “validation_group”. See the following recipes for more information: Configure Buttons with Conditional Requiredness Validation Groups for Buttons with Multiple Validation Rules' Accessibility Text accessibilityText Text Additional text to be announced by screen readers. Used only for accessibility; produces no visible change. Show When showWhen Boolean Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true. Show Record Links showRecordLinks Boolean Determines whether selected records display links to their summary views. Default: true. Margin Above marginAbove Text Determines how much space is added above the component. Valid values: "NONE" (default), "EVEN_LESS", "LESS", "STANDARD" , "MORE", "EVEN_MORE". Margin Below marginBelow Text Determines how much space is added below the component. Valid values: "NONE", "EVEN_LESS", "LESS", "STANDARD" (default), "MORE", "EVEN_MORE". Using the record picker component The following sections cover important details about the record picker component. Suggestions and permissions Maximum suggestions: The record picker can display a maximum of 25 suggestions. Search basis: Suggestions are based on the fields used in the record title. However, if you use a service-backed record type with direct data access, the search is based on the search property configured in the record data source expression. Permissions: Only records that the user has permissions to see appear in the suggestions list, as determined by the record-level security or the default filters in the record type. Record title performance Because suggestions rely on the record title, the record picker must evaluate the record title expression for each potential suggestion. If the record title uses queries, integrations, or other complex expressions, the picker can be significantly slower. For best performance, use record fields or related record fields in the record title. If you need to display data from a related record in the title, create a relationship and reference the related record field directly rather than querying for it with a!queryRecordType(). Selections and placeholders Nulls: Any nulls in the array passed to selected records are not displayed. A [Not Available] token is displayed for any invalid identifiers in the selected records array. Array output: The component always saves an array regardless of how many selections have been made. Record links: By default, all selected records include a link to the record's summary view unless showRecordLinks is false. Consider setting showRecordLinks to false when selecting reference data from the picker. See Select a record from a record type without a link to the record for an example. Placeholder behavior: Whether placeholder text clears on focus or input varies by device and browser. Web service load with service-backed record types If you use a record picker with a service-backed record type, the picker places more load on the web service than a record list or read-only grid does. Understanding this difference can help you design your record data source to avoid performance issues. Search calls: Each character a user types into the picker triggers a separate call to the web service. Unlike the record list, where a search only executes after the user presses Enter, the picker generates significantly more web service calls during a single search. Label retrieval: The component makes one web service call per selected record to retrieve label information. Keep the expected number of selections low to avoid excessive calls. Filters: Filters applied in the component are processed the same way as default filters and user filters. Handle any picker-specific filters in your record data source expression and data retrieval rule. If the record picker does not meet your needs, use a custom picker instead. Examples The following examples demonstrate the record picker component. These examples reference record types from another environment and will error if you try to use them in yours. Use them as a reference only. Select a record from a record type 1 2 3 4 5 6 7 8 9 10 11 12 a!localVariables( local!storedRecord, a!pickerFieldRecords( label: "Choose an Employee Record", /* For the "recordType" parameter below, replace the record type reference (recordType!Employee) * with a valid record type reference in your environment. */ recordType: recordType!Employee, value: local!storedRecord, saveInto: local!storedRecord ) ) Displays the following: Select a record from a record type with filters 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 a!localVariables( local!storedRecord, a!pickerFieldRecords( label: "Choose an Employee Record", /* For the "recordType" parameter below, replace the record type reference (recordType!Employee) * with a valid record type reference in your environment. */ recordType: recordType!Employee, filters: a!queryLogicalExpression( operator: "AND", filters: { a!queryFilter( field: recordType!Employee.fields.department, operator: "=", value: "Engineering" ), a!queryFilter( field: recordType!Employee.fields.startDate, operator: ">", value: date(2022, 1, 1) ) } ), value: local!storedRecord, saveInto: local!storedRecord ) ) Displays the following: Select a record from a record type without a link to the record 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a!localVariables( local!storedRecord, a!pickerFieldRecords( label: "Choose a Case Priority", /* For the "recordType" parameter below, replace the record type reference (recordType!Priority) * with a valid record type reference in your environment. */ recordType: recordType!Priority, value: local!storedRecord, saveInto: local!storedRecord, /* Since the Priority record type only contains reference data (the different case priority levels), * we can hide the record links to prevent users from navigating to their summary views. */ showRecordLinks: false, ) ) Displays the following: Feature compatibility The table below lists this component's compatibility with various features in Appian. Feature Compatibility Note Portals Incompatible Offline Interfaces Incompatible Sync-Time Custom Record Fields Incompatible Real-Time Custom Record Fields Incompatible Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. Process Reports Incompatible Cannot be used to configure a process report. Process Events Incompatible Cannot be used to configure a process event node, such as a start event or timer event. Process Autoscaling Incompatible Cannot be used in autoscaled processes. Event Consumer Filter Conditions Compatible Can be used in filter conditions. Event Consumer Event Handlers Compatible Can be used in event handler expressions. Old versions There are older versions of this interface component. You can identify older versions by looking at the name to see if there is a version suffix. If you are using an old version, be sure to refer to the corresponding documentation from the list below. Old Versions Reason for Update a!pickerFieldRecords_20r2 Supports updated record types that use record type field references. a!pickerFieldRecords_22r1 Updated the filters parameter so it can now accept a single logical expression or a list of query filters to determine which records appear in the picker To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page. Feedback Was this page helpful? SHARE FEEDBACK Loading...