Get discount data

In workflows that require discount data, you can use the Get discount data action to retrieve discount information from your store.



The Get discount data action contains the following fields, which are used to build the query:

Fields used in the Get data actions.
Sort data byRequired. The parameters by which the data returned by the search query is sorted.
Maximum number of resultsRequired. The maximum amount of results that can be returned by the search query that you select. You can return up to 100 at a time.
QueryRequired. Choose from common queries or select Advanced to create your own.

Query String

This is an example query for getting active discounts that use a code:

method:code AND status:active

The method and status variables are filters available on the Discount node query and can be used multiple times or combined with other variables.

When querying data, it's helpful to know:

  • List of available discount filters.
  • Queries must follow a certain syntax
  • Query field names for all queries can be found in the developer docs for the QueryRoot object.
  • Query field values are not always documented. In some cases, the values can be found by looking at the API docs. Alternatively, you can often find the field values in the URLs in the Admin when you filter. For example, to find some Order query values, filter the Orders page in the Admin, and then check the URL.
  • You can run or test a query in your shop by using the Shopify GraphiQL app.
  • Be mindful of what happens if your query fails. Often the API will return all results (instead of none).

Returned data

All Get data actions return a list of anywhere from 0 and 100 resources. Depending your use case, you might want to use this data in various ways:

  • If you need to handle each list item individually, such as to add a tag for each, then you can use the For each action.
  • If you need to aggregate data, such as count how many results were returned, then you can use the Count or Sum actions.
  • If you need output the list, such as send an email with all the items, then you can use returned data directly in susbsequent actions.

To access the returned data in steps that follow this action, use the variable named Get discount data, which is a list of discounts. You can use this variable in both conditions and actions. For example, you can send the list of automatic app discounts in a Send internal email action like this:

{% for discount_item in getDiscountData %}
{% if == "DiscountAutomaticApp" %}
-  {{}}
{% endif %}
{% endfor %}


You can use this action in any workflow, including the Scheduled time trigger. In a workflow that uses the Scheduled time trigger, the workflow starts at a time that you've specified, rather than as a result of an event. Because there is no specific event in your store or from an app that starts the workflow, there is no data automatically included.


Example of a workflow that repeats once a week, checks for active discounts that use a code, and sends an email report.

In this example workflow, a workflow is scheduled to run every Monday at 9:00 am. The Get discount data action is used to collect data for active discounts that use a code. It counts the number of discounts. If one or more discounts is returned, then it sends the details in an email.

API Reference

Can't find answers you're looking for? We're here to help you.