App Pairing widget

Through Workshop's App Pairing widget, users can connect supported Palantir platform applications (such as Gotham's Gaia and Graph) to Workshop modules. This functionality enables cross-application workflows where data or object changes in one application automatically sync to its paired Workshop module, and vice versa.

App pairing gif between graph and workshop.

For example, a user can make changes to data in the Graph application that will update the corresponding data in their paired Workshop module. To establish this connection, a user adds the App Pairing widget to their Workshop module that pairs to their Graph application. This connection enables a user to select an object in Graph which will highlight in their Workshop module's object list.

Set up the App Pairing widget

Add the App Pairing widget to a Workshop module

To add the App Pairing widget to a Workshop module, navigate to Workshop and select + New Module. Similar to other Workshop widgets, you will have the option to add a widget in a Workshop section or in the module header. This functionality works when the widget is visible, so you should add it to your Workshop application header to ensure it remains visible.

App pairing widget card

Give your widget a name after you add it to the Workshop application's header. Every widget must have a user-facing name to enable its identification and discovery by other applications. Additional configuration is optional, and you can refer to the advanced configuration section below for more details.

App pairing widget set up

Create variables with shared state from other applications

After you add the App Pairing widget to your Workshop module, navigate to the right panel to update its configurations so it uses one of two built-in shared state types: Selection or Open data. Shared state types define which variables App Pairing will share across applications.

  • Selection: Allows sharing a selection of data between Workshop and the connected application. When you select objects in an application, then the same objects and their metadata will be selected in Workshop.
  • Open data: Allows sharing of visible data in a supported application with Workshop. For example, if a user opens a graph with 10 objects and pairs the Graph application with their Workshop module, then all 10 objects on the graph will be populated in the workshop module at the time of pairing.

App Pairing via the Open data state type is only supported in Graph.

App pairing widget configuration page

By default, there will be a pre-configured selected objects variable, since this is the most commonly used variable type. The default value will record the currently selected objects in Gaia or Graph when the widget is paired with a Gaia map or Graph analysis.

You can select Add Variable to add multiple Selection or Open data variables for your module's required data types, which you can learn more about in the advanced configurations section below.

Once configured, any updates from the paired application will update Workshop variables. When using the Selection variable, any updates to variables from within a user’s Workshop module will send an update to the paired application.

Pair the widget

You must pair the widget with an application for the shared state variables to update. To pair the widget, open the application you would like to pair with your Workshop module. Once open, the application displays as Discovered in the App Pairing menu added to the Workshop alongside the App Pairing widget.

App pairing widget pairing card

Select Pair next to the application you would like to pair with your Workshop module. The chosen application will display in the Paired section of the pairing menu.

App pairing widget gaia is paired in card

If no supported applications are discovered, the App Pairing widget will display the following message:

App pairing widget no apps discovered

If you are using the Custom widget via iframe to embed an external or another Palantir application (such as a Gaia map) within Workshop, then your application will automatically discover and pair with the embedded application. To unpair an embedded application from Workshop, navigate to the App Pairing widget icon and choose Paired application to render and select Unpair.

The App Pairing widget's pairing and unpairing panel is displayed.

Learn more about complex pairing logic in the advanced configurations section below.

Configure the App Pairing widget's appearance

The Appearance section of the Widget setup panel in the App Pairing widget's configuration menu enables you to customize the widget's rendering behavior in your Workshop application.

The Appearance section of the App Pairing widget's configuration panel is displayed.

Display name: Set the name of the widget for its discovery in other applications when pairing. The Workshop application's name is shown by default. Auto open mode: Disabled by default so the App Pairing menu opens only on selection, you can enable Auto open mode if you would like the App Pairing menu to open automatically and prompt users to choose the application to pair. Other configuration options include the following:

  • Enabled: The menu opens both initially and on application pairing change.
  • Only initially: The menu opens only when the application loads.
  • Only on pairing change: The menu opens every time the currently paired application changes.

Enable toasts: Disabled by default, you can enable toasts to notify your application's users when another application pairs with the current application.

Toasts which provide error identification and troubleshooting instructions will always render even if you toggle off Enable toasts.

Enable toggle to pause updates: Disabled by default, you can enable to pause and resume sending and receiving state updates in your widget. When updates resume after a pause, the widget synchronizes to the latest state.

Trigger commands when variables update

Use the Trigger commands on variable update section of the Widget setup panel in the App Pairing widget's configuration menu to trigger commands issued to other applications when variables in your application update.

Apply advanced configurations

You can customize the App Pairing experience through the following advanced configurations accessible through the widget configuration panel, offering you control over its otherwise automated features. You can also create custom variables if the existing built-in variables do not suit your use case, manually manage which applications pair with one another using the scope variable, or disable data enrichment between Workshop and your paired Gaia map or Graph analysis.

Within the Shared state variables section of the Widget setup panel, you can create Custom variables for data passed in your application that does not comply with the widget's default variable types.

The Shared state variables section displays a custom variable selection.

Describe the custom data type in the Media type string text box by entering a media type string or another variable data type.

Workshop supports the following variable data types:

  • Boolean
  • Date
  • Numeric
  • Numeric array
  • String
  • String array

App pairing widget variable configuration

Additionally, custom state variable configuration enables the App Pairing widget to support future application integrations without Palantir-made updates to its existing presets.

Within the Advanced section of the Widget setup panel, you can Disable data enrichment if you are certain that the paired application and Workshop pass compatible state payloads between one another. Both Gaia and Graph require enrichment to synchronize Object Synonym RIDs set variable types with Workshop.

App pairing widget disable data enrichment

Additionally, you can configure a Scope Id if you would like to manually coordinate which applications pair with one another. Use the Scope Id variable automatically generated by Workshop to ensure all applications are part of the same scope to enable pairing. You can add Workshop widgets to a scope using the Scope Id variable and link non-Workshop applications to a scope by adding &appPairingScopeId=[scope-id] to their URL. Manually pairing or unpairing an application alters the scope.