Shopify
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.1.0.0 - Added explicit eager first-request handling and lazy cursor continuation.
0.0.0.16 - Normalized mutation responses around the Flowgear contract and clarified query error surfacing.
0.0.0.15 - Standardized the public V2 help article.
0.0.0.12 - Corrected Node name.
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 | Shopify store URL or domain, for example mystore.myshopify.com. |
Access Token |
Masked | Admin API access token for the store. |
API Version |
String | Admin API version to target. Leave this empty to use latest. |
Use Custom Endpoint |
Boolean | When true, the node calls the GraphQL endpoint supplied in Custom Endpoint. |
Custom Endpoint |
String | Full GraphQL endpoint URL used when Use Custom Endpoint is enabled. |
Schema |
Object | Cached GraphQL schema populated by Acquire Metadata. |
Setup Notes
- Create a private or custom app in Shopify, and then generate an Admin API access token with the scopes required for your operations.
- Set
API Versionwhen you want to target a specific Admin API version. - Run
Acquire Metadataon theConnectionso Flowgear can cache the GraphQL schema used for templates and variable validation. - Enable
Use Custom Endpointonly when you need to override the standard Shopify Admin GraphQL endpoint.
Methods
The Shopify Node exposes one method for queries and one method for mutations.
Query
Executes a Shopify Admin GraphQL query.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Shopify Connection that contains the store settings and cached schema. |
Query |
String | GraphQL query document. Templates populate this automatically for supported operations. |
Body |
Array | Optional stream containing a single variables payload. Leave this empty when the query does not require variables. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Aggregated GraphQL response that returns the Shopify data payload for the query. |
Mutation
Executes a Shopify Admin GraphQL mutation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Shopify Connection that contains the store settings and cached schema. |
Query |
String | GraphQL mutation document. Templates populate this automatically for supported operations. |
Body |
Array | Optional stream containing a single variables payload. Leave this empty when the mutation does not require variables. |
| Return | Type | Description |
|---|---|---|
Response |
Array | GraphQL response that preserves Shopify data and errors, and adds a top-level Flowgear object with IsSuccess and Message. |
Usage Notes
- Run
Acquire Metadataagain whenever Shopify schema changes affect the operations you use. - Validation and the first GraphQL request complete while the Node invoke is awaited. Query pagination is handled automatically, and later cursor pages are requested only as the output is consumed.
- Supply at most one variables payload in
Body. Multiple variable payloads are not supported. - Query responses stay provider-shaped and do not add mutation default fields.
- If the first GraphQL query call fails, the Node surfaces that provider error instead of returning a normalized success row.
- Mutation responses preserve Shopify
dataanderrorswhile adding the top-levelFlowgearobject for default success or failure metadata. - 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.