Add actions to widgets

You can do the following to create dynamic and interactive apps with Experience Builder:

  • Connect widgets with data and configure them with dynamic content.
  • Configure interactions between a widget and the framework (data source).
  • Configure interactions between widgets.

You can add two types of actions to widgets: message actions and data actions. Message actions respond to triggers and perform actions automatically, such as filtering a list to show only records within a map’s current extent. Data actions provide an Actions button that users can click in widgets at run time and select from a list of actions to perform, such as exporting records to a file or as an ArcGIS item.

Message actions

Experience Builder apps are data driven, which means that the data displayed by widgets can change universally when the underlying data updates. You can define interactions between a widget and the data by configuring message actions in response to triggers. For example, you can create an interaction so that when the Map widget changes its extent, the other widgets (such as a List widget) are filtered and display only features within the current extent. To do this, set Extent changes in the Map widget as a trigger and set Filter data records in the data view used by the List widget as an action. Because the widgets are data driven, the filter action is applied to the data at the framework level and every widget using the same data view is synchronized automatically. You can also define interactions between widgets. Actions provided by a widget only take effect in that widget. For example, you can synchronize the extent of two Map widgets when users zoom or pan one of them by setting Extent changes of one Map widget as a trigger and change the extent of the other Map widget as an action.

These interactions are defined and managed in the Action panel of the source widget that provides the triggers. The Message action configurations have three parts:

  • Triggers from the source widget
  • Targets that respond to the trigger (widgets and the app framework)
  • Actions from the target related to its intended use

The source widget’s trigger can only be added once; however, you can add multiple actions for that specific trigger from the same or a different target.

Triggers

Triggers are events generated by the source widget. Once a trigger occurs, any actions added to it are run in response. The following table describes the seven triggers that are currently supported:

TriggerDescription
Button clickA trigger occurs when a Button widget is clicked or when a Views Navigation widget button is clicked.
Data addedA trigger occurs when a data source is added with the Add Data widget.
Data filtering changes1A trigger occurs when a filter is applied to the data source.
Extent changesA trigger occurs when the map’s extent changes through panning, zooming, resizing, and so on.
Records createdA trigger occurs when result records are loaded in the source widget.
Record selection changesA trigger occurs when a record is selected or a selected record is cleared.
Views changeA trigger occurs when a view is selected with the Views Navigation widget.

1The Data filtering changes action does not support dynamic imagery layers.

To view a widget’s available triggers, open its settings and click Add a trigger on the Action tab. The following table lists source widgets and their supported triggers:

Source widgetButton clickData addedData filtering changesExtent changesRecord selection changesRecords createdViews change
Add DataYes
ButtonYes
ChartYes
Feature InfoYes
FilterYes
ListYesYes
MapYesYes
Near MeYes
QueryYesYes
SearchYesYesYes
SelectYes
TableYes
Utility Network TraceYes
Views NavigationYesYes

Targets

Targets perform the actions. A target can be a widget or the framework. If you use the framework as the target, the action is performed globally—throughout all relevant widgets and pages in the app.

Actions

Unlike the triggers that are defined by the framework, actions are provided by targets (especially widgets) to perform specific business logic. Some actions may need additional configuration depending on how the target responds to the message from the trigger. For example, if you’re configuring a filter action for a data view and the trigger is based on different data, you can filter the target data view by establishing an attribute or spatial relationship. You can also set SQL conditions.

If you want to establish an attribute relationship between a trigger field and an action field, the records in the trigger field must exactly match the records in the action field, including capitalization.

Different targets provide different actions that correspond to different triggers. Available actions appear once you add a trigger and select the target. The following table lists targets and their corresponding actions:

TargetAction1Trigger: Button clickTrigger: Data addedTrigger: Data filtering changesTrigger: Record selection changesTrigger: Extent changesTrigger: Records createdTrigger: Views change
FrameworkFilter data records—Keep only the records in the data view that meet the conditions for further display or processing through the app.YesYes
FrameworkSelect data records2—Mark the records as selected and put them into the Selected features view.Yes
Business Analyst widgetSelect feature—Mark the feature as selected.Yes
Elevation Profile widgetSelect line—Mark the line feature as selected and generate an elevation profile.Yes
Map widgetAdd to map—Add data to the web map or scene as a layer.Yes
Map widgetPan to3—Keep the current scale and center on a specified location.YesYesYesYesYes
Map widgetZoom to4—Zoom to a specified location.YesYesYesYesYes
Map widgetFlash—Flash a feature on the map.Yes
Map widgetFilter—Keep only the features that meet the conditions for viewing in the Map widget.Yes
Map widgetShow on map5—Display the created records on the map as a new layer.Yes
Near Me widgetSet location—Define the search location and find nearby features.Yes
Sidebar widgetOpen sidebar—Open the sidebarYesYesYes
Sidebar widgetToggle sidebar—Open or close the sidebar.Yes
Widget Controller widgetOpen widget—Open widgets in the controller.YesYes

1For framework actions, if the action data is the default view, the action affects all widgets using the data and its views. If the action data is a specified view, the action only affects the widgets using that view. For widget actions, the action is only performed on the target widget. (For example, the map filter action only filters the records in the map and doesn’t affect all other widgets using the same layer.)

2The selected state of a record is synchronized throughout the app and the selected records are saved in the data’s Selected features view. Widgets may have a different configuration for displaying a selected record.

3If a Map widget is configured with both the Zoom to and Pan to actions, the Zoom to action takes precedence. This means that if the user pans and zooms the map at the same time, the Pan to action is ignored.

4When you add a Zoom to action, you can change the Zoom scale settings in the Action settings window. Choose Custom to adjust the zoom level of the map, or choose Automatic to use the map's default scale. The Zoom to action includes the rotate behavior for web maps and web scenes and the tilt behavior for web scenes.

5When you add a Show on map action, you can customize the symbols for created records. Choose Use custom symbols to customize the fill, outline, transparency, and more for points, lines, and polygons. Choose Use layer defined symbols to use symbols from the layers associated with the current action in the source widget.

If a data source has related data, you can use the layer's relationship to configure a message action. The following trigger, targets, and actions support related data:

TriggerTargetActions
Record selection changesFrameworkSelect data records, Filter data records
Record selection changesMapFilter, Flash

Data actions

You can configure data actions for users to process data in the app at run time. They can click the Actions button on source widgets and pass a dataset to a specific widget (such as viewing query results in a table) or the app framework (to export data).

These interactions are defined and managed in the Action panel of the source widget that provides the run time dataset. The data action configurations have two parts:

  • Targets that receive the dataset (widgets and the app framework)
  • Data actions provided by the target, performed only when users specify an action

The dataset passed to the target varies depending on the source widget. For example, the Chart widget passes all statistic data to the Table widget, regardless of whether a selection exists.

The following two tables list available source widgets, targets, and supported data actions (target: data action):

Source widgetFramework: ExportFramework: Related data1Framework: Set filterFramework: StatisticsAnalysis: Set as Analysis inputDirections: Directions fromDirections: Directions to
AnalysisYesYes
Add DataYesYesYesYes
ChartYesYesYes
Feature InfoYesYesYesYesYesYesYes
ListYesYesYesYesYesYesYes
MapYesYesYesYesYes
Map LayersYesYesYesYes
Near MeYesYes
QueryYesYesYesYesYesYesYes
SelectYesYesYesYesYesYes
TableYesYesYesYesYesYesYes
Source widgetDirections: Plan routeElevation Profile: View elevation profileMap: Pan toMap: Show on map2Map: Zoom toMap: Add to map3Near Me: Set locationTable: Add to tableTable: View in table4
AnalysisYesYesYesYes
Add DataYesYesYesYesYes
ChartYesYes
Feature InfoYesYesYesYesYesYesYes
ListYesYesYesYesYesYesYesYes
MapYesYesYesYesYesYes
Map LayersYesYes
Near MeYes
QueryYesYesYesYesYesYesYesYes
SelectYesYesYesYesYesYesYes
TableYesYesYesYesYesYesYes

1Arcade fields do not display as expected with the Related data action. Experience Builder currently does not support arcade.

2When you add a Show on map action, you can customize the symbols for created records.

3You cannot add the same layer from the Add Data widget to a map multiple times. Once you use the Add to map data action with the Table or Add Data widget, it disappears as an option for that layer in both widgets. If you configure the Analysis widget to add result layers to the map automatically, Add to map is unavailable as a data action for those results.

4You can add many types of data with the Add Data widget, but only data types that the Table widget supports (feature layers and scene layers with associated feature layers) can trigger the Add to table data action.

When a data action is performed on a target widget, the target widget includes a button for clearing it. For example, when a user selects data in a List widget and chooses to view the selection in a Table widget, a button appears next to the new sheet that allows them to remove the sheet from the table. Similarly, when they choose the Show on map data action, a button appears in the map to clear it from the map. (Refreshing the page clears all data action results.)

Data action levels

Data actions can affect some or all of the data from a source widget. Data actions that affect all the records in an entire data source are called data source level actions. Data actions that only affect selected records, loaded records, or the current record are called record level actions.

The following table lists source widgets and their supported levels of data actions:

Source widgetData source levelRecord level
All recordsSelected recordsLoaded recordsCurrent record
Add DataYes
ChartYesYes
Feature InfoYesYes
ListYesYes
MapYes
Map LayersYes
Near MeYes
QueryYesYesYes
SelectYes
TableYesYesYesYes

The following table lists all of the possible targets and their supported data action levels:

TargetActionData source levelRecord level
AnalysisSet as Analysis inputYesYes
Elevation ProfileView elevation profileYes
DirectionsDirections fromYes
DirectionsDirections toYes
DirectionsPlan routeYes
FrameworkExportYesYes
FrameworkRelated dataYes
FrameworkSet filterYes
FrameworkStatisticsYesYes
MapZoom toYesYes
MapPan toYesYes
MapShow on mapYes
MapAdd to mapYes
Near MeSet locationYesYes
TableAdd to tableYes
TableView in tableYes

Configure interactions

Configure message actions and data actions in the Action panel of the source widgets.

Configure message actions

Message actions are configured in the settings of the source widgets (the widgets that provide triggers).

To configure message actions, complete the following steps:

  1. In the Action panel, on the Message action tab, click Add a trigger.

  2. Select the trigger, select the target, and add and select the actions.

    Some actions, such as Filter, Flash, and Select Data Records, require additional configuration. The Action settings options appear when you select the action. Each trigger can only be added once.

  3. To add multiple actions for the same trigger, click Add action.

    Actions for the same trigger occur in sequential order.

  4. Drag the actions grouped under a trigger to change the order.

  5. To modify these configured settings later, click the action’s Settings button Settings.

  6. To change an action or target after adding an action, delete it and add a new one.

    Deleting a trigger also deletes all the actions added to it.

Configure data actions

Data actions are configured in the settings of the source widgets, with the exception of Export, which is configured for the data source in the Data panel. Data actions are enabled by default, and the widget's Actions button automatically includes all its available data actions.

To configure data actions, complete the following steps:

  1. In the Action panel, on the Data action tab, uncheck or check the data actions to specify the options for the widget's actions menu. Otherwise, turn off Enable data action to exclude the Actions button from the widget.

  2. For each checked data action, select target widgets for the source widget to interact with, such as a Map widget.

    You can only select target widgets that are on the same page as the source widget.

  3. To exclude the Export data action, go to the Data panel and turn off Allow export for the data source.

Example usage

Add message actions to support app design requirements such as in the following scenarios:

  • You want to build an app that compares two maps, two scenes, or a map and a scene, so the extents of the two Map widgets should always be synchronized. You can add an Extent changes trigger to both widgets, select the other widget as the target for each, and choose the Pan to or Zoom to action.
  • You add a List widget next to a Map widget and you want the list to only display the records within the map’s current extent. You can add an Extent changes trigger to the Map widget, select the Framework Filter Data Records action, choose the action data as the data view configured in the List widget settings, and configure the action with a spatial relationship to the extent.

Use data actions to support app design requirements such as in the following scenarios:

  • You add a Chart widget to represent a set of numerical or qualitative data as a graph, and you want to provide the user an option to view statistics data generated by the chart in a Table widget. When you add a Table widget next to the Chart widget, the View in table data action is added to the Chart widget automatically. At run time, the user can click the Actions button in the Chart widget and select View in table to display the statistics data in the Table widget.

  • You add a List widget to display a data record and a Map widget to display a different data record. You want to provide the user an option to show a feature on the map that corresponds with a record selected in the list to compare different data on one map. At run time, the user can click the Actions button in the List widget and select Show on map.

  • You display data records in a Table widget and want users to have the option to export the data. With Allow export enabled for the data source, they can click the Actions button on the Table widget and export selected records or all records.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.