Actions14
Overview
The Shopistuff node for n8n allows you to interact with the Shopify API, specifically to manage products.
For the Product → Create operation, this node enables you to create a new product in your Shopify store with detailed attributes such as title, description, images, options (like size or color), tags, and more.
Common scenarios:
- Automating the addition of new products from another system (e.g., ERP, PIM, spreadsheet).
- Bulk uploading products with rich metadata and images.
- Integrating product creation into e-commerce workflows (e.g., after supplier approval).
Practical example:
You could use this node to automatically add a new T-shirt product to your Shopify store when a new row is added to a Google Sheet, including its images, available sizes, and vendor information.
Properties
Name | Type | Meaning |
---|---|---|
Title | String | The name of the product. This is required and will be used as the main identifier for the product in Shopify. |
Additional Fields | Collection | Optional fields to further describe the product. Includes: |
Body HTML | String | A description of the product. Supports HTML formatting. |
Handle | String | A unique, human-friendly string for the product, used in URLs and by Shopify's Liquid templating language. |
Images | Collection | List of image objects associated with the product. Each image can have properties like source URL, dimensions, position, etc. |
Created At | DateTime | When the product image was created. |
ID | Number | Unique numeric identifier for the product image. |
Position | Number | Order of the image in the list (first image is the "main" image). |
Product ID | Number | The ID of the product associated with the image. |
Variant IDs | Number[] | Array of variant IDs associated with the image. |
Source | String | Location (URL) of the product image. Can include Shopify image modifiers (e.g., _small, _2048x2048). |
Width | Number | Width of the image (determined on upload). |
Height | Number | Height of the image (determined on upload). |
Updated At | DateTime | When the product image was last modified. |
Options | FixedCollection | Custom product property names (e.g., Size, Color, Material). Up to 3 options, each with a name and value. |
Product Type | String | Categorization for filtering/searching products. |
Published At | DateTime | When the product was published (ISO 8601 format). Set to null to unpublish. |
Published Scope | Options | Where the product is published: "Global" (Online Store + POS) or "Web" (Online Store only). |
Tags | String | Comma-separated tags for filtering/search (up to 250 tags, each up to 255 characters). |
Template Suffix | String | Suffix for the Liquid template used for the product page. If empty, uses default template. |
Vendor | String | Name of the product's vendor. |
Output
The node returns the created product object as received from Shopify.
The structure typically includes (but is not limited to):
{
"id": 123456789,
"title": "Example Product",
"body_html": "<strong>Good product</strong>",
"vendor": "Vendor Name",
"product_type": "Category",
"created_at": "2024-06-01T12:00:00-04:00",
"handle": "example-product",
"updated_at": "2024-06-01T12:00:00-04:00",
"published_at": "2024-06-01T12:00:00-04:00",
"tags": "tag1, tag2",
"options": [
{
"name": "Size",
"position": 1,
"values": ["S", "M", "L"]
}
],
"images": [
{
"id": 987654321,
"src": "https://cdn.shopify.com/s/files/...",
"position": 1,
"width": 800,
"height": 600,
"created_at": "2024-06-01T12:00:00-04:00"
}
],
...
}
- All standard Shopify product fields are included.
- If an error occurs and "Continue On Fail" is enabled, the output will contain an
error
field with the error message.
Dependencies
- External Service: Requires access to a Shopify store and valid Shopify API credentials (API key/password or private app token).
- n8n Credentials: You must configure the
shopistuffApi
credential in n8n for authentication. - Environment: No special environment variables beyond n8n and Shopify requirements.
Troubleshooting
Common issues:
- Missing Required Field: If the "Title" is missing, the node will throw an error indicating that the product title is required.
- Invalid Image URLs: If an image source URL is invalid or inaccessible, Shopify may reject the product creation.
- Option Formatting: Incorrectly structured options (e.g., missing name/value) may cause errors.
- API Authentication Errors: Invalid or expired Shopify credentials will result in authentication failures.
Error messages:
"At least one line item has to be added"
– Not relevant for product creation, but if encountered, check the operation selected.- Shopify API errors (e.g.,
"422 Unprocessable Entity"
) – Usually due to missing or invalid fields. Check all required fields and data formats. "error": "Some error message"
– If "Continue On Fail" is enabled, errors will appear in the output under theerror
key.
How to resolve:
- Double-check all required fields, especially "Title".
- Ensure all image URLs are correct and publicly accessible.
- Verify your Shopify API credentials in n8n.
- Review Shopify's product API documentation for field requirements.
Links and References
- Shopify Admin API: Products
- n8n Documentation: Creating Custom Nodes
- Shopify Product Resource Reference