Ready-made Shopify actions
Ready-made actions change your store through a simple form: no GraphQL, no JSON. Each one asks for the resource and a few fields, and tells you which permission it needs.
Add one
- Press + and, in Add a step, select Shopify. The window Add a Shopify action opens, with the ready-made actions at the top. They carry the badge Simple form.
- Or type what you want to do into Search steps, for example
add tagsorcancel. - Fill in the form. Every text field takes variables.
The actions
Tags and metafields
| Action | What it does |
|---|---|
| Add product tags, Add order tags, Add customer tags | Adds one or more tags. Tags it already has are left alone |
| Remove product tags, Remove order tags, Remove customer tags | Removes tags. Tags it does not have are ignored |
| Set product metafield, Set order metafield, Set customer metafield | Creates or overwrites one metafield. For a variant, pass the variant's id to Set product metafield |
| Delete product metafield, Delete order metafield, Delete customer metafield | Deletes one metafield. Nothing happens when it does not exist |
Products and inventory
| Action | What it does |
|---|---|
| Set product status | Sets a product to active, draft or archived |
| Update product details | Changes title, vendor, product type or description. Fields left empty stay as they are |
| Publish product to a sales channel, Unpublish product from a sales channel | Makes a product available on one sales channel, or removes it |
| Update variant price | Sets the price and, optionally, the compare-at price of one variant |
| Adjust inventory quantity | Adds to or subtracts from the available quantity of an item at a location |
| Set inventory quantity | Sets the available quantity to an exact number |
| Add product to a collection, Remove product from a collection | For manual collections. Shopify processes this in the background |
Orders and fulfillment
| Action | What it does |
|---|---|
| Update order note | Replaces the note, or adds a line to the existing one |
| Cancel order | Cancels an order, optionally refunding the payment and restocking the items. This cannot be undone |
| Mark order as paid | Records the outstanding amount as paid |
| Archive order, Unarchive order | Closes or reopens an order |
| Complete draft order | Turns a draft order into an order |
| Send draft order invoice | Emails the invoice of a draft order to its customer |
| Hold fulfillment order, Release fulfillment order hold | Puts a fulfillment order on hold, or releases every hold on it |
Customers and discounts
| Action | What it does |
|---|---|
| Update customer note | Replaces the note, or adds a line |
| Send customer account invite | Emails the invitation to activate the account. Only for stores with classic customer accounts |
| Create discount code | Creates a code for a percentage or a fixed amount off the whole order. Use the code in a later step, for example in an email |
The messages to Slack, Discord and Teams and Post JSON to a URL are ready-made actions too. See Slack, Discord and Teams messages and HTTP request.
The id field
Every action asks which resource to change: Product id, Order id, Customer id and so on. A GID or a plain numeric id both work. For the resource of the event, pick:
{{ event.payload.admin_graphql_api_id }}
For a resource a query step found, pick its id from that step, for example steps.variant.output.productVariants.nodes[0].id.
Tags field
Tags takes one tag, or several separated by commas. A variable works too: a list from an earlier step, or a value of the event such as the vendor.
What happens when it runs
- In a preview, an action changes nothing. It lists the inputs it would have run with.
- Shopify can reject a change, for example a price that is not a number. The step then fails with Shopify's message, and the run ends as Failed.
- An action that could not be started for a temporary reason is tried again automatically. An action that ran and failed is not repeated. See Automatic retries.
- Later steps read what the action returned as
steps.<id>.output. The variable picker lists the fields, for example the code of Create discount code. - A change your workflow makes comes back from Shopify as an event. Loop protection recognises that echo. See Loop protection.
When there is no ready-made action
The same window lists every mutation of the Shopify Admin API below the ready-made actions. See Every Shopify mutation and query.

