Create Order

shopify.create_order
ActionBusiness appsconnection required

Calls the Shopify API with the connection's credentials.

Create an order in a Shopify store from a list of line items.

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

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

FieldTypeRequiredDefaultConstraintsExample
line_items
Line items to order, as JSON: [{"variant_id": 447654529, "quantity": 1}] for catalogue products, or [{"title": "Fee", "price": "10.00", "quantity": 1}] for a custom item. Shopify refuses an order with no lines, so give at least one here or inside the raw 'order' object.
arrayNo—≥ 1 characters; array of object[{"quantity":1,"variant_id":447654529}]
customer_id
Numeric id of an existing customer to attach the order to.
stringNo———
email
Email address for the order confirmation.
stringNo—email format—
note
Internal note stored on the order.
stringNo———
tags
Comma-separated tags for the order.
stringNo———
financial_status
Payment state to record the order with, for orders taken elsewhere. Shopify only accepts this when the order is created.
stringNo—one of "pending", "authorized", "partially_paid", "paid", "partially_refunded", "refunded", "voided"—
order
Raw order fields for anything not modelled above (addresses, shipping lines, discount codes). Merged last, so it wins on a conflict.
objectNo———
  • At least one of line_items, order must be set.

Example configuration

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

{
  "line_items": [
    {
      "quantity": 1,
      "variant_id": 447654529
    }
  ]
}

Output

One shape.

result

FieldTypeExample
order
The order, as Shopify returned it.
object—
id
Numeric id of the order, as a string.
string—
{
  "id": "",
  "order": {}
}

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.
  • Creating an order through the API records a sale that happened elsewhere: it takes no payment. Use a draft order when you want Shopify to invoice.

See Create Order 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.