aov-bundle-upsell
🤖 MCP
Recipes
How is this offer set up?

How is this offer set up?

Reading one offer's configuration back, without opening the app. Useful before changing something, and the fastest way to answer "why is this bundle discounting the wrong thing".

Ask: "How is my 'Summer Starter Kit' bundle configured?"

Step 1: Find the id

get_offer needs an id, and an id only comes from get_offers. Names do not work.

Search by name:

"Find my offer called Summer Starter Kit"

The assistant calls get_offers with query: "Summer Starter Kit" and gets back the id, type, status and headline discount.

If nothing comes back, drop to a shorter word. The search matches the offer name, and a name typed from memory rarely matches exactly. query: "summer" finds more than the full title does.

Step 2: Read the configuration

get_offer with that id returns type, status, an admin_url straight to the offer in the app, and a fields object holding everything else, discount, schedule, and the products or collections the offer applies to, in the same shape update_offer takes. Call get_offer_fields for that offer's type to see what each field inside fields is called and what it can hold.

A Product Fixed Bundle also returns bundle_status (whether Shopify has finished building the bundle product). A Mix & Match or Bundle Builder offer also returns bundle_discount_source, whether its saving comes from a Shopify discount code or is built into the bundle's own price.

Step 3: Read the product targeting carefully

This is where the useful answers are, and where the type matters. The products field means different things across the six types: the products a Frequently Bought Together offer suggests are not the products a Volume Discount offer applies tiers to.

Ask the assistant to state which role the products play for this offer's type rather than listing them flat. The offer-type guides say what each type does with them:

⚠️

The products inside fields are what was saved when the offer was configured, not a live Shopify lookup. A product renamed, unpublished or deleted since can still appear here under its old name. If an offer reads correctly and behaves wrongly, an out-of-date product reference is a good first suspect, check it in Shopify rather than trusting the name here.

On a Read and write connection, the same fields shape is what you send back to update_offer to change the offer, and get_offer_fields is the reference for every value it accepts.

Step 4: Compare two offers

The genuinely fast use of this tool: two ids, one question.

"Compare how my two volume discount offers are configured and tell me what's different"

The assistant calls get_offers with type: "volume-discount", then get_offer on each, and reports the differences. Doing that by eye across two browser tabs is where configuration mistakes survive.

What you finish holding

One offer's type, status, schedule, discount and target products, or a diff between two. Enough to decide what to change before you open the app to change it.

Product
Install AppWebsiteAvada Apps
Resources
DocumentationFAQPrivacy Policy
Company
Avada GroupContact
© 2026 Avada Group. All rights reserved.