Executive summary
- What: app intents declared on the admin.app.intent.link extension target now open as a full-page navigation in the Shopify admin instead of an overlay modal.
- Why: it brings app actions in line with how Shopify's own admin intents already behave, handing the merchant your real page rather than a constrained overlay.
- Who: teams shipping a Shopify app with an admin link extension declaring app intents. Merchants get the change without doing anything.
What changed
Until this release, every app intent Sidekick invoked appeared as a modal layered over the merchant's current page. Intents declared on the admin.app.intent.link target now navigate the merchant to the URL your extension declares, rendered as a full page. The change is live on every store and every API version, with no flag, scope, or setting to opt into or out of.
The contract between Sidekick and your app is unchanged. Your route still reads its invocation payload from the intents request signal, still registers tool handlers when it mounts, and still resolves the intent with an ok, error, or closed response. One exception survives: if the merchant has unsaved changes on the page they would leave, the intent opens in a modal so their work is not lost.
Extensions targeting admin.app.intent.render are unaffected and still render inline, as are admin intents your app invokes to launch Shopify-native editors. If your app declares both targets, only the link intents change.
Why it matters
For most Plus merchants this is invisible, and that is largely the point. When a merchant asks Sidekick to do something an installed app handles, they now arrive on that app's real page with its own layout and navigation rather than a narrow overlay. For the actions this target was designed for, the modal was always the compromise.
The risk is narrow. A route styled for a constrained overlay may look wrong at full viewport width. If your organisation maintains custom Shopify apps for merchandising, pricing, or fulfilment workflows, this warrants a short review rather than a project. There is a support angle too: teams that logged the new behaviour as a regression should close the ticket, because it is intended.
Role-specific impact
- Marketers: no change to campaign or content workflows. If your team reaches an app-owned editor through Sidekick, expect a full page where an overlay used to appear.
- Developers: verify each route behind a link intent target renders correctly at full width and still renders acceptably in a modal, since the unsaved-changes fallback keeps that path alive.
- Store admins: brief staff that the full-page navigation is the intended presentation, and confirm that path parameters resolve to real values rather than literal placeholders.
Use-case example
Real-world scenario
A Plus merchant runs a custom pricing app that Sidekick can open to adjust a B2B price list. The route was built for a modal roughly 600 pixels wide: a single-column form with a sticky footer. Rendered full page, the form stretches across the viewport and the footer floats far from the fields it belongs to. Nothing is broken, but the page reads as unfinished, and merchandising staff hesitate on a screen they previously used twice a week without thinking. Half a day of layout work, constraining the form to a sensible maximum width and restoring the footer, resolves it. The team verified the fallback by starting an unsaved edit elsewhere in the admin and invoking the action, which still routed through the modal.
Implementation checklist
- Search your extension configuration for targeting entries that include admin.app.intent.link. If there are none, no action is required.
- Open each declared route as a standalone page and review its layout at full viewport width.
- Re-check the same route inside a modal, which is what merchants with unsaved changes will continue to see.
- Confirm the route reads the intents request signal, which updates whenever a new intent is invoked.
- Confirm your tool registration runs when the route mounts, so Sidekick can call your tools while the merchant is on the page.
- Confirm you resolve every intent on success, failure, and cancellation.
- Test in a development store, then ask Sidekick to perform the action and check that schema values are substituted into the path.
FAQ
Q: Do we need to change our extension configuration?
A: No. The target, url, tools, and instructions declared in your extension config all continue to work as written. This is a presentation change on Shopify's side, not a schema change.
Q: Can we opt out and keep the overlay?
A: No. There is no flag, scope, or setting, and it applies on every API version and store. If a full page genuinely does not suit the action, the admin.app.intent.render target renders inline instead, though it requires API version 2026-04 or later.
Resources
Use extensions to surface app actions
Need guidance? Talk to Makro.