Unlock Seamless Discount Workflows with Shopify’s New App Intent Support

Shopify now lets discount apps built with Functions register app intents, enabling custom create and edit flows directly from the admin UI. Learn what changed, who’s affected, and how to implement the new intents today.

Unlock Seamless Discount Workflows with Shopify’s New App Intent Support
6 sections

Shopify’s latest developer update introduces shopify/Discount app intents, a powerful way for discount apps that use Shopify Functions to surface their own create and edit experiences directly within the admin. This change means merchants can launch a custom discount flow without ever leaving the Shopify UI, and developers gain tighter integration with Sidekick and the disambiguation picker. Below we break down what’s new, who needs to pay attention, and the exact steps to take advantage of this capability.

What Changed: New Discount App Intents

The shopify/Discount intent now supports both create and edit actions for discount apps built with Shopify Functions. Apps register an intent via the shopify-intent.json meta‑schema, referencing the shopify/discount.json baseline schema. A matchValue on functionId ties each intent to a specific Function implementation, allowing a single app to expose multiple discount types. When a merchant clicks a discount link, Shopify either launches the app’s custom UI (via admin.app.intent.link or admin.app.intent.render) or falls back to a disambiguation picker if multiple intents match.

Who Is Affected: Developers vs. Merchants

The update targets apps that create new discount types using Shopify Functions. Existing discount apps that rely on Shopify’s default UI continue to work unchanged—no migration is required. For merchants, the change is transparent unless they install a Function‑backed discount app; in that case they’ll notice a smoother flow when creating or editing those discounts, staying within the app’s dedicated UI instead of the generic discount screen.

Why It Matters: Better Discount Creation & Editing

Merchants gain a consistent experience: whether they’re creating a new “Buy X Get Y” discount or editing an existing one, the app’s own UI can guide them through the specific fields and validation logic required by that Function. This reduces friction, eliminates the need to switch back to the generic discount UI, and lets developers showcase the unique value of their discount logic.

How to Implement: Registering App Intents

  • Build a Discounts UI Extension – If you already have a UI extension for discount settings, it will be auto‑promoted. No extra registration needed.
  • Add an intent entry in shopify-intent.json – Choose one of the two targets:
  • admin.app.intent.link – points to an existing React Router page in your admin app.
  • admin.app.intent.render – renders a focused inline UI extension (requires API version 2026-04 or later).
  • Map the intent to a Function – Include a matchValue that matches the functionId of the Shopify Function handling the discount type.
  • Define the value schema – For edit flows, include the discount GID (gid://shopify/Discount/...) so Shopify can open the correct discount record.
  • Deploy and test – After deployment, the new intent appears in the Sidekick disambiguation picker when multiple discount apps are installed.
  • Here’s a minimal shopify-intent.json example for a create flow using a React Router page:

    { "intent": "shopify/Discount", "target": "admin.app.intent.link", "matchValue": { "functionId": "gid://shopify/Function/123456" }, "url": "/discounts/custom-create" }

    And an example for an inline edit flow (API 2026-04+):

    { "intent": "shopify/Discount", "target": "admin.app.intent.render", "matchValue": { "functionId": "gid://shopify/Function/123456" }, "schema": { "type": "object", "properties": { "discount_gid": { "type": "string" } } } }

    Remember that each intent counts toward the per‑app intent limit, so register only the flows you truly need.

    Action Checklist for Developers

  • Verify your app uses Shopify Functions for discount types.
  • Decide whether you want a full‑page React Router flow (admin.app.intent.link) or an inline extension (admin.app.intent.render).
  • Update shopify-intent.json with the appropriate target, matchValue, and schema.
  • Ensure your app’s API version is 2026-04 or later if you use the render target.
  • Test the flow in the web admin; mobile support for link intents is still pending, so advise merchants to use the desktop UI for editing.
  • Publish the update and monitor the disambiguation picker to confirm the intent appears as expected.
  • Conclusion & Next Steps

    Shopify’s new discount app intents give developers a direct line to merchants’ discount workflows, reducing friction and increasing the perceived value of Function‑backed discounts. While existing apps need no immediate changes, taking advantage of intents positions your app for deeper Sidekick integration and a more polished merchant experience. Start by adding the intent registration to your next release, test in the web admin, and watch merchants enjoy a seamless, app‑driven discount journey.

    Ready to boost your discount app’s visibility? Register your intent today and let Shopify’s Sidekick guide merchants straight to your custom flow.

    Tags
    Sources

    Related Articles

    Filter Catalog Search Results by Media Type: Unlock Video and 3D Models

    Filter Catalog Search Results by Media Type: Unlock Video and 3D Models

    Shopify's Catalog API now returns video and 3D model media and lets you filter search results by media type. Learn what changed, who’s impacted, and how to add the new filter to your apps.

    September 30, 20263 min
    Shop Moves to shop.com – What Merchants and Developers Need to Know

    Shop Moves to shop.com – What Merchants and Developers Need to Know

    Shop’s web experience shifts from shop.app to shop.com. Learn what changes, who’s impacted, and the simple steps to keep your links and SEO intact.

    September 29, 20264 min
    Resilient Token Exchanges: Recover Offline Token Migrations Without Merchant Interaction

    Resilient Token Exchanges: Recover Offline Token Migrations Without Merchant Interaction

    Shopify now lets apps retry token migrations for up to seven days, returning the same access‑ and refresh‑token pair even without a user session. Learn who needs to act, what changed, and how to implement the new flow.

    September 29, 20263 min
    Unlock Smarter Shipping: Manage Packed Product Dimensions via Admin GraphQL API

    Unlock Smarter Shipping: Manage Packed Product Dimensions via Admin GraphQL API

    Learn how the 2027‑01 Admin GraphQL API lets apps read and write packed product dimensions, enabling automatic package selection for multi‑item orders. Step‑by‑step guidance for developers and actionable tips for merchants.

    September 29, 20264 min