Mesh locations
Locations in the Mesh framework define the areas of the Uniform dashboard that can be extended by a Mesh integration by rendering custom UI in an iframe.
How locations work#
Locations are defined in the integration manifest that tells Uniform:
- Which locations your integration implements
- Which URLs to use for each location
- Configuration options for each location
Each location is served by a URL, which can be unique to that location or shared across several locations.
When a location URL is invoked, it loads in an iframe. This iframe then performs communication through message events to the Uniform dashboard.
Uniform provides the @uniformdev/mesh-sdk-react
npm package to help you build the UIs for your locations.
Each location receives two types of data:
Value - The main data object that your location can view and modify
- Contains the primary information your location is responsible for editing
- Example: For a Data Source location, the value contains the Data Source definition (name, configuration, settings)
- Your location can request changes to this data through the Mesh SDK
Metadata - Supporting information provided for context (read-only)
- Contains related data to help your location function properly
- Example: For a Data Type editor, metadata includes the current project ID and a copy of the parent Data Source
- This data cannot be modified by your location
Location types#
Locations are grouped into the following categories:
Basic locations#
These are locations that define how the integration appears in the Integration settings page and how it can be configured when installing it in a project.
Install location#
The Install location is shown in a drawer when you are about to install an integration. The content of the drawer is defined by the integration manifest. In addition to the integration name and logo, the Install location allows specifying a description and a documentation link.
Unlike other locations, the Install location is not rendered in an iframe.

Manifest configuration:
Settings location#
The Settings location is shown after the integration is installed in a project or when you are editing the integration settings. It allows you to define various integration settings that can be configured for the concrete integration instance of the current project.

Common settings include various display options or authentication settings to external systems if the integration needs to access them in client-side code.
Manifest configuration:
Managing API credentials
If your integration defines it's own data connectors to data sources for edge-based data fetching, then do not save the access credentials in the Settings location. Instead store them in the Data source location that has a secure way to store them on the edge.
Data connectors#
The data connectors in a Mesh integration enables you to define and configure data sources in Uniform. For each data source you can specify archetypes, such as Query
or Single item
, which determine how data is fetched from external systems using data resources that are instances of data types.
The data connector locations provide the user interfaces needed for setting up and configuring data sources, data types and data resources within the Uniform dashboard.
Data connectors have the following locations:
- Data source - Defines a specific API of an external system, including the base URL of the API and the common connection details and authentication credentials.
- Data type - Defines the configuration UI for a specific data query to an endpoint of a data source and defines the URL and query parameters that are used when performing the data query. A data type is based on an archetype that represent different kinds of data.
- Data resource - Defines an instance of a data type that is used on a composition or entry, such as a specific blog post or a list of products.
Manifest configuration:
HTTP fallback behavior
If any location of a data connector is is not specified in the integration manifest, the UI from the standard HTTP Request
data connector will be used in its place automatically. This enables integration developers to produce fewer UIs if only looking to customize part of a data connector.
Data Source location#
The Data Source location allows you to extend the Uniform Data Source configuration with custom UI and provides you with methods to securely manage the connection details and authentication credentials of the data source.
This location is rendered when creating or editing a data source of the type defined in the data connector.

Manifest configuration:
The data source location is configured as part of the data connector:
Secrets management#
Query string and header values, as well as any variable values on a data source, are encrypted secrets. Only users with manage data source or admin permissions may decrypt secrets. All others can use them via delegation when fetching data types, without seeing the secret values.
This secure approach ensures that sensitive authentication credentials and API keys are properly protected while still allowing authorized users to configure and use the data source.
Data Type location#
The Data Type location provides a custom interface for configuring how data is retrieved from your external systems. While a data source defines the connection to your API, a data type specifies the exact endpoint, query parameters, and request structure needed to fetch specific kinds of content.
This location appears when you create or edit a data type that belongs to your data connector. Common use cases include:
- Configuring API endpoints for different content types (e.g.,
/api/products
,/api/reviews
) - Setting up query parameters and variables for the API endpoint
- Defining request headers
When rendering this location, you receive useful metadata including the project ID and a copy of the parent data source to provide context for your configuration interface.

Manifest configuration:
The data type location is configured within the data archetype:
Data type security
Data types are not intended to contain secret values such as authentication tokens. Values stored in data types are viewable by any user of your Uniform project with common permissions. To store secret values, please use Data Sources which are secured.
Data Resource location#
The Data Resource location defines the user interface that content authors use to select or query data from external systems for a specific data archetype. This location typically has the greatest impact on the authoring experience, as it is the primary way users interact with external data in Uniform.
This location is rendered when creating or editing a data resource of the data archetype defined in the integration in a composition, component pattern, composition pattern, entry, or entry pattern.

Manifest configuration:
The data resource location is configured within the data archetype:
Typical features of the data resource location include:
- Item pickers for selecting one or more items (for example, choosing a product from a list)
- Query builders for dynamic data queries
- Search and filter options to make it easier to find the right data
- Paging and sorting controls
- Deep links to edit data directly in the external system
Canvas locations#
In the Mesh manifest, the canvas
group contains several individual locations that you can implement to customize the authoring experience of Uniform.
Parameter Type location#
The Parameter Type location allows you to provide custom input controls for component parameters or entry fields.
This location is rendered in the property panel when a component parameter includes a parameter type that is defined in the integration manifest.

Manifest configuration:
Parameter Type Configuration location#
The Parameter Type Configuration location defines the configuration UI for a custom parameter type inside of the component definition.
The configuration options typically include:
This location is rendered when creating or editing a parameter that is using a custom parameter type that was defined in the integration manifest.

Manifest configuration:
The configuration location is defined as part of the parameter type:
Editor tools#
Editor tools allow you to extend the functionality of the Uniform's visual editor. These tools appear as additional menu items in the left side rail of the visual editor.
Editor tools can be enabled for the following contexts:
- Compositions and Composition patterns
- Component patterns
- Entries
- Entry patterns
It is possible to provide custom URLs for each of the contexts.

Manifest configuration:
Personalization selection algorithms#
Allows you to register custom algorithms for selecting variations for personalization components.
The location is rendered in the Context tab of the property panel of a personalization component when a custom matching method is configured.
Manifest configuration:
Asset locations#
You can extend extend Uniform's asset management with custom asset libraries that connect to external DAM systems or asset sources.
Asset Library location#
The Asset Library allows you to browse the assets of a custom asset library that was defined in the integration manifest.
This location is rendered in the Experience > Assets section of the Uniform project.

Manifest configuration:
Asset Parameter location#
The Asset Parameter location provides a custom interface for selecting assets when using asset parameters in components or entry fields. This location is rendered inside the asset selection modal when authors are picking assets.
This location allows you to create a tailored asset selection experience that integrates with your external asset management system which enables search, filtering, and preview capabilities within the Uniform interface.

Manifest configuration:
The asset parameter location is configured as part of the asset library:
Project locations#
Project locations allow you to extend the Uniform project with custom applications and tools.
Project Tools location#
The Project Tools location allows you to embed full custom pages.

Once an integration is installed that implements this location, the user will be able to access the custom page from the Tools section in the main navigation.

Manifest configuration:
Common use cases for the Project Tools location include:
- Embedding of external applications like analytics tools
- Provide custom editorial tools like a importers or editorial calendar
- Add project specific documentation pages or a Storybook as a component reference
Dashboard tools location#
Add custom dashboards to the project dashboard page.
Once an integration is installed that implements this location, the user will be able to access the custom dashboard through a custom tab in the project dashboard.

Manifest configuration:
Common use cases for the Dashboard tools location include:
- Quick links to common content or content filters
- Editorial dashboards for content editors that connect to external systems
- Links to internal training or onboarding resources
- Status or health dashboards for content operations
Routing in Mesh locations#
Since Mesh locations are rendered inside iframes, standard browser navigation doesn't work for moving between different sections of the Uniform dashboard. The Mesh SDK provides routing helpers that allow your integration to programmatically navigate users to other areas of the platform.
This is particularly useful when your integration needs to direct users to related content, such as opening a composition in the Canvas editor, navigating to settings pages, or linking to content in other projects.
Using the router#
The router is available through the useMeshLocation
hook:
Navigation options#
Navigate within the current project:
The router automatically handles the project context, so you don't need to include the project ID in the path. For example, if you want to navigate to the entries of a project the path would be /dashboards/canvas/entries
.
Open in a new tab:
Navigate to a different project: