Actions14
Overview
The Shopistuff node for n8n enables integration with the Shopify API, specifically for managing products.
For the Product → Get Many operation, this node retrieves multiple products from a Shopify store, supporting advanced filtering and field selection.
Common scenarios:
- Syncing product catalogs between Shopify and other systems.
- Generating reports or dashboards based on product data.
- Filtering products by collection, vendor, type, publication status, or date ranges.
- Retrieving only specific fields to optimize performance or reduce payload size.
Practical examples:
- Fetch all products in a specific collection created after a certain date.
- Retrieve up to 100 published products of a given vendor, including only their title and price fields.
- List all products updated within the last week.
Properties
Name | Type | Meaning |
---|---|---|
Return All | Boolean | Whether to return all matching products (true), or limit the number of results (false). |
Limit | Number | Maximum number of products to return (used if "Return All" is false). |
Additional Fields | Collection | Optional filters and options to refine the product search. See below for details. |
Additional Fields options:
Name | Type | Meaning |
---|---|---|
Collection ID | String | Filter products by a specific collection ID. |
Created At Max | DateTime | Only include products created before this date. |
Created At Min | DateTime | Only include products created after this date. |
Fields | String | Comma-separated list of product fields to include in the response. |
Handle | String | Filter products by their handle (unique string identifier). |
IDs | String | Comma-separated list of product IDs to retrieve. |
Presentment Currencies | String | Restrict presentment prices to specified ISO 4217 currency codes (comma-separated). |
Product Type | String | Filter products by their type. |
Published At Max | DateTime | Only include products published before this date. |
Published At Min | DateTime | Only include products published after this date. |
Published Status | Options | Filter by publication status: Any, Published, or Unpublished. |
Title | String | Filter products by their title. |
Updated At Max | DateTime | Only include products updated before this date. |
Updated At Min | DateTime | Only include products updated after this date. |
Vendor | String | Filter products by their vendor. |
Output
- The output is an array of product objects, each representing a Shopify product.
- The structure of each product object matches the Shopify Product API response.
- Each item is returned in the
json
property of the n8n output item.
Example output:
[
{
"id": 123456789,
"title": "Sample Product",
"body_html": "<strong>Good product!</strong>",
"vendor": "Acme",
"product_type": "Widget",
"created_at": "2024-06-01T12:00:00-04:00",
"handle": "sample-product",
"updated_at": "2024-06-05T09:30:00-04:00",
"published_at": "2024-06-02T08:00:00-04:00",
"variants": [...],
"options": [...],
"images": [...],
...
}
]
- If you use the "Fields" option, only those fields will be present in each product object.
Dependencies
- External Service: Requires access to a Shopify store and valid API credentials (configured as
shopistuffApi
in n8n). - n8n Configuration: Credentials must be set up in n8n under the Shopistuff node's credential section.
Troubleshooting
Common issues:
- Invalid credentials: If your API key or password is incorrect, you'll receive authentication errors.
- Missing permissions: The Shopify API user must have permission to read products.
- Too many results: If "Return All" is true and your store has thousands of products, execution may take a long time or hit rate limits.
- Incorrect filter values: Using invalid IDs, handles, or date formats can result in empty responses or errors.
Error messages:
"At least one line item has to be added"
– Not relevant for Get Many, but indicates required fields are missing in other operations.- Shopify API error messages (e.g., "Not Found", "Unauthorized") will be passed through in the
error
field if "Continue On Fail" is enabled.
How to resolve:
- Double-check your API credentials and permissions.
- Use valid values for filters (IDs, dates, etc.).
- If retrieving large datasets, consider using filters or limiting results.