Sidekick app actions: which intent type is a discounts app supposed to use?

Hey everyone :waving_hand:

I’m building the Sidekick create flow for my discounts app and I’m a bit stuck on which intent type to declare.

What I’ve found so far:

  • The application/* list has no discount or promotion type
  • shopify/* for app actions only has customer, order, product
  • shopify/Discount seems to be Intents API only — declaring it in an extension fails deploy with Intent is invalid: type ‘shopify/Discount’ is not supported

I asked Partner Support and they weren’t sure either, so posting here as they suggested.

I did notice some discount apps already offer create-in-conversation, and from what I can tell at least one runs on application/loyalty-program.

So I’m wondering is using application/campaign or application/loyalty-program the accepted way for discount apps right now? Or is there a
proper type planned for this?

Would love to hear from anyone who’s shipped this for a discounts/promotions app, or from the Shopify team on what the intended path is. Thanks!

Please do not tag Shopify staff that have not already engaged in a thread, this is outlined in the Code of Conduct.

Please remove these tags.

removed shopify staff

Hey @shop_dev_app :waving_hand: thanks for the detailed writeup, and your reading of the list is correct.

I did some digging here. To start, I wouldn’t recommend using application/campaign or application/loyalty-program. Seeing another app on a type isn’t evidence that it’s permitted and the docs put it plainly: don’t pick an unrelated type as a placeholder.

What I’d focus on instead: skip intents for now and use a data tool on admin.app.tools.data that returns a url into your embedded app. Anything on the app: protocol resolves against your app’s base URL, so you can send the merchant to your own create screen. You likely already have a route that configures a discount, so in most cases you can return that.

Also, I can’t give you a guarantee or a timeline on a proper type. Keep an eye on the changelog for updates on a discount intent:

Hope this helps!