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!
Hey @shop_dev_app 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: