Shipped/Major Mesh framework improvements

July 28, 2026

Major Mesh framework improvements
Major Mesh framework improvements

Three additions to the Mesh framework are now generally available to all teams. Together they let custom integrations act on behalf of the person using them, work directly with the content open in the editor, and give authors a better way to connect data.

Identity delegation

Mesh integrations run in an iframe, so they don't inherit the signed-in user's session. Integrations that write to Uniform have relied on a custom backend holding a shared service account. Every change then runs with the same fixed permissions, history can't show who made it, and the backend needs its own authentication layer to keep the service account from being misused.

With identity delegation, Uniform issues a short-lived credential for the person using the dashboard. Your server exchanges it with your integration secret, and the Uniform API calls that follow run as that user. Use it for importers that write entries, compositions, or assets, and for custom authoring tools where each editor should only be able to do what their role allows.

  • History shows the real user as the author of each change.
  • The user's Uniform roles and permissions apply to every call.
  • Interactive flows no longer need long-lived service account keys to distribute and rotate.
  • The integration secret and access token stay on your server and never reach the browser.
  • React helpers in @uniformdev/mesh-sdk-react, server helpers in @uniformdev/mesh-sdk/server, and a reference app handle the token exchange and secure session cookies.

Enable identityDelegation on your integration manifest and generate credentials from the integration's Credentials tab. Requires @uniformdev/mesh-sdk 20.72.3 or later.

Get started with identity delegation.

Editor state API

A Mesh location renders in its own iframe, separate from the composition, entry, or pattern the author is editing. The editorState object gives the location a live handle to that content, so a tool can act on the whole composition or entry.

Use it to translate or bulk-edit every text property and switch to the target locale, to generate or restructure content by inserting and moving nodes, to power a custom inspector or validation panel, or to calculate values such as a price, slug, or summary from other fields.

  • Read the full content tree, including nodes, properties, and metadata.
  • Update property values; insert, move, or delete nodes; and insert patterns.
  • Enable locales, switch the active locale, and change the editor's selection.
  • Changes appear in the editor immediately and behave like manual edits: they are saved only when the author saves.

editorState is available in the Editor tools, Parameter type, and Data resource selector locations. Requires @uniformdev/mesh-sdk 20.66.1 or later.

Get started with the Editor state API.

Data resource selector location

When authors connect a parameter or field to a dynamic token, they pick a value by navigating the raw JSON returned by the data resource. Authors who aren't familiar with JSON can find this hard to use. The Data resource selector location lets your integration replace that tree with a UI built for your data.

Show readable labels for only the fields that matter, such as title, price, or image. Preview resolved values like product images next to each option. Present the data with controls that fit the source, such as a media grid or a variant table.

  • Authors connect the right value faster and make fewer mistakes.
  • metadata.allowedTypes limits the options to values that are valid for the target parameter or field.
  • The location includes editorState, so a selector can read the surrounding composition or entry.

Add dataResourceSelectorUrl to a data archetype in your integration manifest. Requires @uniformdev/mesh-sdk 20.66.1 or later.

Get started with the Data resource selector location.

Get started

The Mesh integration starter kit includes reference implementations of the Editor state API and the Data resource selector location. To build a new integration, see custom Mesh integrations.

Features