List Orders

shopify.list_orders
ActionBusiness appsconnection required

Calls the Shopify API with the connection's credentials.

List a page of orders in a Shopify store, filtered by status or date.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Shopify
Secret shape
the Shopify Admin API access token
Config it needs
shop
Resolved by
config.connection_id, else node.connection_id

Configuration

10 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
status
Order state to include. Shopify returns only open orders unless you ask for 'any'.
stringNo—one of "open", "closed", "cancelled", "any"—
financial_status
Payment state to filter on.
stringNo—one of "authorized", "pending", "paid", "partially_paid", "refunded", "voided", "partially_refunded", "unpaid", "any"—
fulfillment_status
Shipping state to filter on.
stringNo—one of "shipped", "partial", "unshipped", "unfulfilled", "any"—
limit
How many records to return in one page. Shopify's own default is 50 and its maximum is 250.
numberNo—1–25050
page_info
Cursor from a previous call's 'page_info' output. Set it to fetch the next page; leave it empty for the first page.
stringNo———
ids
Comma-separated list of ids to restrict the result to.
stringNo——450789469,450789470
since_id
Return only records with an id greater than this one — a cheap way to poll for what is new.
stringNo———
created_at_min
Only records created at or after this ISO 8601 timestamp.
stringNo—iso8601 format2026-01-01T00:00:00Z
updated_at_min
Only records last updated at or after this ISO 8601 timestamp.
stringNo—iso8601 format2026-01-01T00:00:00Z
fields
Comma-separated list of fields to return instead of the whole resource.
stringNo——id,email,created_at

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "created_at_min": "2026-01-01T00:00:00Z",
  "fields": "id,email,created_at",
  "ids": "450789469,450789470",
  "limit": 50,
  "updated_at_min": "2026-01-01T00:00:00Z"
}

Output

One shape.

result

FieldTypeExample
orders
The orders on this page, exactly as Shopify returned them.
array—
count
How many orders are on this page.
number—
page_info
Cursor for the next page, or empty when this was the last page.
string—
has_more
True when another page exists.
boolean—
{
  "count": 0,
  "has_more": false,
  "orders": [],
  "page_info": ""
}

Notes

  • The store and the API version come from the connection: 'shop' (your-store.myshopify.com) and an optional 'api_version' that defaults to 2026-07. Auth is the Admin API access token, sent as X-Shopify-Access-Token.
  • Lists page on an opaque cursor from Shopify's Link header, not on page numbers. Pass the 'page_info' a call returns back into the next call while 'has_more' is true; a request carrying page_info may only carry 'limit' and 'fields', so every other filter is ignored once you are paging.
  • Shopify rate-limits with a leaky bucket (X-Shopify-Shop-Api-Call-Limit). A 429 fails the step with the bucket state and the Retry-After seconds in the message: put a control.delay in front of the node or lower 'limit'.
  • Each write node also accepts the raw resource object for fields it does not model; that object is merged last and wins on a conflict.
  • The default status filter is 'open', so a run that expects every order — including archived and cancelled ones — has to set status to 'any'.

See List Orders run in a workflow.

In a technical demo we add the Shopify connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.