Shopify v2

Shopify is a commerce platform used to manage products, inventory, orders, customers, and other store data through the Shopify Admin APIs.

The Flowgear Shopify Node lets you run curated Shopify Admin GraphQL queries and mutations in a Workflow by using a store connection, a cached schema, and template-driven GraphQL documents.

Revision History

0.0.0.12 - Corrected Node name.
0.0.0.15 - Maintenance release.
0.0.0.16 - Normalized mutation responses around the Flowgear contract and clarified query error surfacing.
0.1.0.0 - Added explicit eager first-request handling and lazy cursor continuation.
0.1.0.2 - Updated Runtime compatibility.
0.1.0.3 - Query now returns one response per page, scalar list fields use CSV values, mutations return Flowgear.Request, and endpoints must use HTTP or HTTPS.

Connection

The Connection stores the Shopify store details, access token, and cached GraphQL schema used for templates and validation.

Property Type Description
Shop URL String Required. Shopify store URL or domain, for example mystore.myshopify.com. When no scheme is supplied, https:// is used.
Access Token Masked Required. Private Admin API access token for the store.
API Version String Shopify Admin API version to target, for example 2025-01. The default is latest.
Use Custom Endpoint Boolean When true, the Node calls the GraphQL endpoint supplied in Custom Endpoint instead of the generated Admin API endpoint.
Custom Endpoint String Full GraphQL endpoint URL used when Use Custom Endpoint is enabled. It must be an absolute HTTP or HTTPS URL.
Schema String Hidden. Cached GraphQL schema populated by Acquire Metadata.

Setup Notes

  1. Create a private or custom app in Shopify, and then generate an Admin API access token with the scopes required for your operations.
  2. Set API Version when you want to target a specific Admin API version.
  3. Run Acquire Metadata on the Connection so Flowgear can cache the GraphQL schema used for templates and variable validation.
  4. Enable Use Custom Endpoint only when you need to override the standard Shopify Admin GraphQL endpoint.

Shop URL, Access Token, API Version, and Custom Endpoint values are used exactly as entered, so do not include leading or trailing spaces.

Methods

The Shopify Node exposes one method for queries and one method for mutations. Both methods provide schema-derived GraphQL templates.

Query

Executes a Shopify Admin GraphQL query and returns one response per page.

Parameter Type Description
Connection Connection Shopify Connection that contains the store settings and cached schema.
Query String GraphQL query document to execute. Templates populate this automatically for supported operations.
Body Array Zero or one variables object. Bind child fields or supply a one-item array; multiple payloads are rejected.
Return Type Description
Response Array Provider-shaped Shopify GraphQL responses, one item per page.

Mutation

Executes a Shopify Admin GraphQL mutation as a single request.

Parameter Type Description
Connection Connection Shopify Connection that contains the store settings and cached schema.
Query String GraphQL mutation document to execute. Templates populate this automatically for supported operations.
Body Array Zero or one variables object. Bind child fields or supply a one-item array; multiple payloads are rejected.
Return Type Description
Response Array GraphQL response that preserves Shopify data and errors, and adds a top-level Flowgear object with IsSuccess, Message, and Request. Request contains the original variables supplied to the mutation.

Usage Notes

  • Run Acquire Metadata again whenever Shopify schema changes affect the operations you use.
  • Validation and the first GraphQL request complete while the Node invoke is awaited. Later query pages are requested only as the output is consumed.
  • To page a query, select pageInfo { hasNextPage endCursor } on the connection and bind its after argument to a variable. Repeated cursors and multiple active paged connections in one query fail instead of duplicating or skipping records, so query independently paged connections separately.
  • Query returns one response per page. If downstream Steps need a single combined object, aggregate the pages explicitly.
  • Mutation always executes exactly one request, even when its response contains a pageable connection.
  • Supply at most one variables payload in Body. Prefer leaving the parent Body value unset and assigning its child fields. A parent value takes precedence over child bindings. To send multiple variable payloads, use separate Shopify Steps.
  • Invalid JSON, non-object variables, and multiple payloads fail before Shopify is contacted.
  • When the schema is cached, scalar list fields use CSV values for inputs and outputs, including nested input objects and aliased response fields. Native JSON array inputs are still supported. Use commas without added spaces for numeric lists, quote values that contain commas or quotes using CSV escaping, and note that an empty string means an empty list while "" means a list containing one empty string.
  • Query responses stay provider-shaped and do not add mutation default fields.
  • If a GraphQL query call fails, the Node surfaces that provider error instead of returning a normalized success row.
  • Shopify Admin API rate limits still apply, so reduce request frequency or payload size when you encounter throttling.

Known Issues

  • Template discovery and variable validation depend on the cached schema populated by Acquire Metadata.
  • This version supports one variables payload per execution and does not expose multi-payload batching for GraphQL requests.