Create Product

shopify.create_product
ActionBusiness appsconnection required

Calls the Shopify API with the connection's credentials.

Create a product in a Shopify store.

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

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

FieldTypeRequiredDefaultConstraintsExample
title
Product title, as shoppers see it. The only field Shopify requires.
stringYes———
body_html
Product description as HTML.
stringNo———
vendor
Vendor or brand name.
stringNo———
product_type
Product category as free text, e.g. 'Snowboard'.
stringNo———
status
Whether the product is live in the store.
stringNo—one of "active", "archived", "draft"—
tags
Comma-separated tags for the product.
stringNo———
variants
Variants to create with the product, as JSON: [{"option1": "Small", "price": "19.99", "sku": "S-1"}]. Omit for a single default variant.
arrayNo—array of object—
product
Raw product fields for anything not modelled above (images, options, metafields). Merged last, so it wins on a conflict.
objectNo———

Output

One shape.

result

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

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.

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