Shopify
E-Commerce integration · 11 node(s) including 1 trigger.
00Overview
Manage orders and products in your Shopify store
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting Shopify
Add your credentials as a Flomation environment secret, then pick them in each node. The connection fields are:
| Field | Type | Details | |
|---|---|---|---|
| Admin API Access Token | secret | shpat_... — or use Client ID + Secret below | |
| Client Secret | secret | shpss_... — minted into a 24h token automatically |
${secrets.your_secret}.02Order
Shopify: Create Order
ecommerce/shopify/order_create · Action
Create an order in your Shopify store. Provide line items as JSON; set common fields directly or add any other order field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Line Items (JSON) | object | Required | [{"variant_id":447654529,"quantity":1}] |
| Customer Email | string | name@email.com | |
| Note | text | ||
| Tags | string | vip, wholesale (comma-separated) | |
| Financial Status | string | choices: Pending, Authorized, Paid, Partially Paid, Refunded, Partially Refunded, Voided | |
| Fulfillment Status | string | choices: Fulfilled, Partial, Restocked | |
| Billing Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address1":"1 Main St","city":"London","country":"GB","zip":"SW1"} | |
| Shipping Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address1":"1 Main St","city":"London","country":"GB","zip":"SW1"} | |
| Discount Codes (JSON) | object | [{"code":"SAVE10","amount":"10.0","type":"percentage"}] | |
| Send Order Confirmation Email | boolean | ||
| Send Shipping Confirmation Email | boolean | ||
| Test Order | boolean | ||
| Additional Fields (JSON) | object | {"currency":"GBP","source_name":"web"} |
Returns: id, result, tool_result, success, error
Shopify: Delete Order
ecommerce/shopify/order_delete · Action
Permanently delete an order from your Shopify store by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Order ID | string | Required | 450789469 |
Returns: id, tool_result, success, error
Shopify: Get Order
ecommerce/shopify/order_get · Action
Retrieve a single order from your Shopify store by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Order ID | string | Required | 450789469 |
| Fields | string | Comma-separated fields to return (optional) |
Returns: id, result, tool_result, success, error
Shopify: Get Many Orders
ecommerce/shopify/order_get_all · Action
List orders from your Shopify store, with optional filters. Enable Return All to auto-paginate every matching order.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Return All (auto-paginate every match) | boolean | ||
| Limit | integer | 50 per page (max 250); Return All still fetches every match | |
| Page Info (cursor) | string | Next-page cursor from a previous run (ignored when Return All is on) | |
| Status | string | choices: Open, Closed, Cancelled, Any | |
| Financial Status | string | choices: Any, Authorized, Paid, Partially Paid, Partially Refunded, Pending, Refunded, Unpaid, Voided | |
| Fulfillment Status | string | choices: Any, Shipped, Partial, Unshipped, Unfulfilled | |
| IDs | string | Comma-separated order IDs | |
| Since ID | string | Return orders after this ID | |
| Created After | datetime | ||
| Created Before | datetime | ||
| Updated After | datetime | ||
| Updated Before | datetime | ||
| Fields | string | Comma-separated fields to return (optional) |
Returns: results, count, next_page_info, result, tool_result, success, error
Shopify: Update Order
ecommerce/shopify/order_update · Action
Update an existing order in your Shopify store. Only the fields you set are changed.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Order ID | string | Required | 450789469 |
| Customer Email | string | name@email.com | |
| Note | text | ||
| Tags | string | vip, wholesale (comma-separated) | |
| Shipping Address (JSON) | object | {"address1":"1 Main St","city":"London","country":"GB","zip":"SW1"} | |
| Additional Fields (JSON) | object | {"buyer_accepts_marketing":true} |
Returns: id, result, tool_result, success, error
03Product
Shopify: Create Product
ecommerce/shopify/product_create · Action
Create a product in your Shopify store. Set common fields directly; supply variants, images, and options as JSON, or any other field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Title | string | Required | Burton Custom Freestyle 151 |
| Price | string | 19.99 (sets the default variant's price) | |
| SKU | string | SB-001 | |
| Description (HTML) | text | <strong>Great snowboard!</strong> | |
| Vendor | string | Burton | |
| Product Type | string | Snowboard | |
| Tags | string | winter, sale (comma-separated) | |
| Status | string | choices: Active, Draft, Archived | |
| Handle | string | burton-custom (auto-generated from title if blank) | |
| Variants (JSON) | object | [{"option1":"Small","price":"19.99","sku":"SB-S"}] | |
| Options (JSON) | object | [{"name":"Size","values":["Small","Medium"]}] | |
| Images (JSON) | object | [{"src":"https://example.com/img.jpg"}] | |
| Additional Fields (JSON) | object | {"template_suffix":"special"} |
Returns: id, result, tool_result, success, error
Shopify: Delete Product
ecommerce/shopify/product_delete · Action
Permanently delete a product from your Shopify store by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Product ID | string | Required | 632910392 |
Returns: id, tool_result, success, error
Shopify: Get Product
ecommerce/shopify/product_get · Action
Retrieve a single product from your Shopify store by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Product ID | string | Required | 632910392 |
| Fields | string | Comma-separated fields to return (optional) |
Returns: id, result, tool_result, success, error
Shopify: Get Many Products
ecommerce/shopify/product_get_all · Action
List products from your Shopify store, with optional filters. Enable Return All to auto-paginate every matching product.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Return All (auto-paginate every match) | boolean | ||
| Limit | integer | 50 per page (max 250); Return All still fetches every match | |
| Page Info (cursor) | string | Next-page cursor from a previous run (ignored when Return All is on) | |
| Title | string | ||
| Vendor | string | ||
| Product Type | string | ||
| Handle | string | ||
| Collection ID | string | ||
| IDs | string | Comma-separated product IDs | |
| Since ID | string | Return products after this ID | |
| Published Status | string | choices: Any, Published, Unpublished | |
| Created After | datetime | ||
| Created Before | datetime | ||
| Updated After | datetime | ||
| Updated Before | datetime | ||
| Fields | string | Comma-separated fields to return (optional) |
Returns: results, count, next_page_info, result, tool_result, success, error
Shopify: Update Product
ecommerce/shopify/product_update · Action
Update an existing product in your Shopify store. Only the fields you set are changed.
| Field | Type | Details | |
|---|---|---|---|
| Shop Subdomain | string | Required | my-store (from my-store.myshopify.com) |
| Client ID | string | Dev Dashboard app Client ID (if not using a token) | |
| Product ID | string | Required | 632910392 |
| Title | string | ||
| Description (HTML) | text | ||
| Vendor | string | ||
| Product Type | string | ||
| Tags | string | winter, sale (comma-separated) | |
| Status | string | choices: Active, Draft, Archived | |
| Handle | string | ||
| Variants (JSON) | object | [{"id":808950810,"price":"24.99"}] | |
| Options (JSON) | object | ||
| Images (JSON) | object | [{"src":"https://example.com/img.jpg"}] | |
| Additional Fields (JSON) | object |
Returns: id, result, tool_result, success, error
04Triggers
Shopify Webhook Trigger
trigger/shopify_webhook · Trigger
Triggers a flow when a Shopify webhook event is received (orders, products, ...). Verify with your app's API secret key.
| Field | Type | Details | |
|---|---|---|---|
| App Secret Key | secret | Required | Shopify app API secret key (for X-Shopify-Hmac-Sha256 validation) |
| Topic Filter | string | Comma-separated topics: orders/create,orders/updated,products/update |
Returns: content, topic, shop_domain, api_version, webhook_id, resource_id, body, triggered_at
05Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Deleting an order or product is permanent and cannot be undone, so guard delete steps carefully in live flows.
- Line items, variants, images, options, and addresses must be supplied as raw JSON rather than filled in field-by-field.
- Enabling Return All auto-paginates through every matching record, which on large catalogues can be slow and consume your store's API rate allowance.
- When connecting with a client ID and secret, the app must be installed on the target store and belong to the same organisation, or the connection is rejected as not installed.
- Newly created or updated records can take a short moment to appear in subsequent list or get steps, so avoid immediately reading back a record you just wrote.