View this page in the latest version of Appian. Event History List Share Share via LinkedIn Reddit Email Copy Link Print On This Page Function a!eventHistoryListField( label, labelPosition, instructions, helpTooltip, emptyListMessage, eventData, eventStyle, formatTimestamp, displayUser, displayUserColorScheme, previewListPageSize, pageSize, showWhen, refreshAlways, refreshAfter, refreshInterval, refreshOnReferencedVarChange, refreshOnVarChange, userFilters, eventFilters, CollapseDetailsByDefault, showSearchBox, showReverseSortButton, commentLayout, mentionableUsers, commentCardColor ) Displays the event history for one or more record types. If you configured record events on your record type, we recommend using the Event History record type to populate this list. Parameters Name Keyword Types Description Label label Text Text to display as the list 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 list. 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". Empty List Message emptyListMessage Text Text to display in the list when no data is available. Default is "No events to display". Event Data eventData List of Event Data The record event data that populates the list, created using one or more instances of a!eventData(). Event Style eventStyle Text Determines how the component displays. Valid values: "PREVIEW_LIST" (default), "FULL_LIST", "TIMELINE", “LIST_WITH_COMMENTS”. The "PREVIEW_LIST", "FULL_LIST", and "LIST_WITH_COMMENTS" styles are sometimes referred to collectively as list styles. See the UX Design System for best practices on when to use which style. Date Display formatTimestamp Text Determines how the component formats the event data timestamp. Valid values include: "NULL", "DATE", "DATE_TIME" (default), “DATE_TIME_TIMEZONE”. User Image Style displayUser Text Determines if and how to display user avatars. Valid values include: "NONE", "INITIALS" (default), "IMAGE". User Color Scheme displayUserColorScheme Any Type If no profile picture is available, determines which color scheme to use for users in the event history list. Valid values: "PARACHUTE" (default), "VIBRANT", "CLASSIC" or define a custom color scheme using a!colorSchemeCustom(). See Chart Color Scheme for color scheme examples. Preview List Page Size previewListPageSize Number (Integer) The maximum number of rows to display in each page of the initial list when the "PREVIEW_LIST" event style is selected. To set the paging for the View All dialog, see pageSize. Valid values include 1-10. Default: 5. Page Size pageSize Number (Integer) The maximum number of rows to display in each page of the list when the "FULL_LIST" or "TIMELINE" event style is selected. When the "PREVIEW_LIST" event style is selected, this parameter applies to the list as it appears in the View More dialog. Valid values include 1-100. Default: 10. Visibility 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. Refresh after each user interaction refreshAlways Boolean When true, eventData will be refreshed after each user interaction and each interval refresh. Default: false. Refresh after record action completes refreshAfter List of Text String Refreshes eventData data each time a specified action completes. Valid values: "RECORD_ACTION". Refresh after an interval of time refreshInterval Number (Decimal) How often grid data gets refreshed in minutes. When null, eventData will not be refreshed on an interval. Valid values: "0.5", "1", "2", "3", "4", "5", "10", "30", and "60". Refresh after referenced variable changes refreshOnReferencedVarChange Boolean When true, grid data will be refreshed each time the value of any variable referenced in the eventData parameter is updated. To refresh grid data when another variable that is not used in the eventData parameter changes, use refreshOnVarChange. Default: true. Refresh after variable changes refreshOnVarChange Any Type Refreshes data each time any of these specific variables change. This allows you to refresh the data when a variable that is not referenced in the eventData parameter is updated. You can define a single variable (for example, refreshOnVarChange: local!var1) or a list of variables (for example, refreshOnVarChange: {local!var1, local!var2}). User Filters userFilters List of Variant List of user filter references to display, configured using the recordType! domain. For example, recordType!Order.filters.status. You may only reference user filters defined on the record type used for the eventData. This parameter only applies when there is only one instance of a!eventData(). Component Filters eventFilters List of Text Determines which out-of-the-box filters to show. These filters exist only on the component, not on the record type. Use any combination of the following values {"USER", "EVENT_TYPE", "DATE_RANGE"}. Initially collapse event details CollapseDetailsByDefault Boolean Determines if the event details are collapsed when the interface first loads. Default: true. Show search box showSearchBox Boolean Determines if the record search box should be shown. Default: true. Show reverse sort button showReverseSortButton Boolean Determines if the list should include a button to reverse the event data sort. Default: true. Comment Layout commentLayout Text If comments are enabled, determines whether to display events in a list or card view. Valid values: “LIST”, “CARD” (default). Mentionable Users mentionableUsers Text If comments are enabled, this constant specifies the group of users who can be mentioned in comments. Mentioned users will receive email notifications when mentioned in comments. Comment Card Color commentCardColor Text Determines the color applied to the comment background for list and card layouts. Valid values: any valid hex color or "STANDARD" (default). Usage considerations Using the eventStyle parameter The eventStyle parameter allows you to display your event history in the following styles: Style Description "PREVIEW_LIST" Displays a short list of events with the ability to view all events in a dialog. The dialog will display a longer list of events that users can search and filter on. This option is best when you want to display your event history in a record view or alongside other components. Note that you cannot use this style when the component displays in a dialog. "FULL_LIST" Displays a long list of events that users can search and filter on. This option is best when you want to display your event history as a single page in a site. "LIST_WITH_COMMENTS" Displays a list of events with the ability to add comments and view a unified activity stream of events and comments. This option is best when you want to enable ad hoc user collaboration in event history list components. "TIMELINE" Displays a timeline of events where events are organized by the timestamp field. This option is best if you want to analyze events based on time rather than event type. Display automation types If you are capturing the specific automation type that completed an event, you can use a!automationType() to display the automation type in the details parameter of the component. For example, in the a!eventData() function, you could use the following expression in the details parameter to explain when an order is completed by automation. 1 2 3 4 5 if( a!isNullOrEmpty(fv!data[recordType!Order Event History.fields.user]), a!automationType(fv!data[recordType!Order Event History.fields.automationTypeId]) & " completed this order.", {} ) Enable user collaboration You can enable comments on event history list components to allow users to collaborate, add context to events, and mention other users in discussions. To enable users to collaborate and comment on the event history list component: Confirm the Event History record type has a comment field of type Text. This field will store any user comments. Confirm the Event Type Lookup record type has an event type for adding comments. If you generated your event record types, this is the Commented on Record value in the eventName field. Configure the following parameters in the a!eventHistoryListField() function: Parameter Action eventStyle Set the value to "LIST_WITH_COMMENTS". commentLayout (Optional) Specify how to display comments. By default, comments display as cards. mentionableUsers (Optional) Specify a constant pointing to the group of users that can be mentioned in a comment. Configure the following parameters in the a!eventData() function: Parameter Action allowUsersToComment Set the value to true. comment Select the comment field from the Event History record type specified in the recordType parameter. baseRecordIdForComment Write an expression indicating the identifier that links a comment to a specific record in the base record type. In most cases, you can reference the common field that links the Event History record type to the base record type. You can index using a rule input or local variable to return the identifier. For example, if your interface has a rule input that points to the base record type, this would be: ri!record[recordType!Order.fields.Id]. Row limit for records-powered components Interface components that use a record type as the data source are known as records-powered components. Records-powered components can display a maximum of 5,000 rows. As a best practice, you should not display all 5,000 rows in a component since it may impact performance. Examples The following examples illustrate how to configure different styles of the event history list component. Record type object references are specific to each environment. If you copy and paste these examples into your interface, they will not evaluate. Use them as a reference only. Preview list of events The expression looks like this: 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 28 29 30 a!eventHistoryListField( label: "Event History Preview List", labelPosition: "COLLAPSED", eventData: { a!eventData( recordType: recordType!Order Event History, filters: null, timestamp: recordType!Order Event History.fields.timestamp, user: recordType!Order Event History.fields.user, eventTypeName: fv!data[recordType!Order Event History.relationships.eventType.fields.eventName], details: if( isNullOrEmpty(fv!data[recordType!Order Event History.fields.details]), "No additional details", fv!data[recordType!Order Event History.fields.details] ), recordTypeForTag: recordType!Order, recordIdentifier: recordType!Order Event History.fields.recordId ) }, refreshAfter: "RECORD_ACTION", eventStyle: "PREVIEW_LIST", previewListPageSize: 5, pageSize: 10, formatTimestamp: "DATE_TIME", collapseDetailsByDefault: false, displayUser: "IMAGE", showSearchBox: true, eventFilters: { "EVENT_TYPE", "DATE_RANGE" }, showReverseSortButton: true ) Full list of events The expression looks like this: 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 28 29 a!eventHistoryListField( label: "Event History Full List", labelPosition: "COLLAPSED", eventData: { a!eventData( recordType: recordType!Order Event History, filters: null, timestamp: recordType!Order Event History.fields.timestamp, user: recordType!Order Event History.fields.user, eventTypeName: fv!data[recordType!Order Event History.relationships.eventType.fields.eventName], details: if( isNullOrEmpty(fv!data[recordType!Order Event History.fields.details]), "No additional details", fv!data[recordType!Order Event History.fields.details] ), recordTypeForTag: recordType!Order, recordIdentifier: recordType!Order Event History.fields.recordId ) }, refreshAfter: "RECORD_ACTION", eventStyle: "FULL_LIST", pageSize: 10, formatTimestamp: "DATE_TIME", collapseDetailsByDefault: true, displayUser: "IMAGE", showSearchBox: true, eventFilters: { "EVENT_TYPE", "DATE_RANGE" }, showReverseSortButton: true ) Full list with comments In this example, the interface has a rule input that points to the Order record type. The baseRecordIdForComment parameter indexes into the rule input to return the identifier of the record associated with the comment. The expression looks like this: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 a!eventHistoryListField( label: "Event History List with Comments", labelPosition: "COLLAPSED", eventData: a!eventData( recordType: recordType!Order Event History, filters: null, timestamp: recordType!Order Event History.fields.timestamp, user: recordType!Order Event History.fields.user, allowUsersToComment: true, comment: recordType!Order Event History.fields.comment, baseRecordIdForComment: ri!record[recordType!Order.fields.Id], eventTypeName: fv!data[recordType!Order Event History.relationships.orderEventType.fields.eventName], ), refreshAfter: "RECORD_ACTION", eventStyle: "LIST_WITH_COMMENTS", commentLayout: "CARD", mentionableGroup: cons!ACCOUNT_MANAGERS, pageSize: 10, displayUser: "IMAGE" ) Timeline of events The expression looks like this: 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 a!eventHistoryListField( label: "Event History Timeline", labelPosition: "COLLAPSED", eventData: { a!eventData( recordType: recordType!Order Event History, filters: null, timestamp: recordType!Order Event History.fields.timestamp, user: recordType!Order Event History.fields.user, eventTypeName: fv!data[recordType!Order Event History.relationships.eventType.fields.eventName], recordTypeForTag: recordType!Order, recordIdentifier: recordType!Order Event History.fields.recordId ) }, refreshAfter: "RECORD_ACTION", eventStyle: "TIMELINE", previewListPageSize: 5, pageSize: 5, formatTimestamp: "DATE_TIME", collapseDetailsByDefault: true, displayUser: "IMAGE", showSearchBox: true, eventFilters: { "EVENT_TYPE", "DATE_RANGE" }, showReverseSortButton: true ) Feature compatibility The table below lists this component's compatibility with various features in Appian. Feature Compatibility Note Portals Incompatible Offline Mobile 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. Feedback Was this page helpful? SHARE FEEDBACK Loading...