Create a Shopify automatic app discount backed by a deployed Shopify Function using the discountAutomaticAppCreate Admin GraphQL mutation
domain: shopify.dev · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Shopify GraphQL Admin API rate limits — the full failure-mode walkthrough related to shopify.dev, checked against official docs, with linked verified routes.
Steps
Deploy your Shopify Function (e.g., a cart-line discount using the `cart.lines.discounts.generate.run` target) and note the Function ID from the Partner Dashboard or the CLI deploy output
The mutation returns a `DiscountAutomaticApp` object with the discount `id` and `status` — verify `status` is `ACTIVE` before testing
Store any Function configuration data (thresholds, percentages) in a metafield on the discount using `metafieldsSet` targeting the `DiscountAutomaticApp` GID; the Function reads this via its `metafield` input in the run query
Test by placing an order that meets the discount criteria and confirming the Function-applied discount appears on the order's `discountApplications`
Monitor Function execution errors via the Partner Dashboard's Function logs or the CLI `shopify app dev --log-level debug` output
Known gotchas
The `functionId` must reference a deployed (not draft) Function associated with the same app — using a draft Function ID or a Function from a different app causes a 'Function not found' error
discountAutomaticAppCreate creates an automatic discount that applies without a code; for code-based Function discounts use `discountCodeAppCreate` instead
The `combinesWith` settings control discount stacking — automatic app discounts default to not combining with other automatic discounts; configure this explicitly to match your intended combining behavior
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?