Akeneo icon

Akeneo

Akeneo by pixelInfinito

Actions3

Overview

This n8n custom node integrates with the Akeneo PIM (Product Information Management) system, specifically targeting the Product resource and supporting the Create operation. It allows users to programmatically create new products in their Akeneo instance, including setting product attributes such as SKU, family, parent, enabled status, categories, groups, prices, and uploading an associated image file.

Common scenarios:

  • Automating the creation of new products in Akeneo from other systems (e.g., e-commerce platforms, ERPs).
  • Bulk importing product data into Akeneo.
  • Enriching product information with categories, groups, and pricing details during onboarding.

Practical example:
A retailer wants to automatically add new products to Akeneo whenever a new item is added to their ERP, including assigning it to categories, setting its price, and uploading a product image.


Properties

Name Type Meaning
SKU String The unique identifier for the product (required).
Family String The product family code, grouping similar products.
Parent String The parent product identifier (for variant products).
Enabled Boolean Whether the product is enabled/active in Akeneo.
Categories Fixed Collection List of category codes to assign the product to.
Groups Fixed Collection List of group codes to associate with the product.
Price Fixed Collection One or more price entries, each with amount and currency.
File Path String Local file path to an image to upload and associate with the product (optional).

Output

  • json.response: Contains the response from Akeneo's API after attempting to create the product. This typically includes the created product's data or error details if the operation failed.
  • json.responseFile (optional): If a file was uploaded (via "File Path"), this field contains the response from Akeneo regarding the media file upload.

Example output:

{
  "json": {
    "response": {
      "identifier": "SKU123",
      "family": "shoes",
      "categories": ["men", "summer"],
      "enabled": true,
      ...
    },
    "responseFile": {
      "code": "media_file_code",
      "original_filename": "logo.png",
      ...
    }
  }
}

If binary data is involved (image upload), the node only returns metadata about the upload, not the binary content itself.


Dependencies

  • External Service: Requires access to an Akeneo PIM instance with REST API enabled.
  • API Credentials: Needs Akeneo API credentials (clientid, secret, username, password, and domain) configured in n8n.
  • Local File Access: For image uploads, the specified file path must be accessible by the n8n worker.

Troubleshooting

Common issues:

  • Invalid credentials: If API credentials are incorrect, authentication will fail.
  • Missing required fields: Omitting the SKU or other required properties will result in errors from Akeneo.
  • File not found: If the provided file path does not exist or is inaccessible, the file upload will fail.
  • API errors: Any validation or business logic errors from Akeneo (e.g., invalid family code, non-existent categories) will be returned in the json.response or json.message.

Error messages:

  • "error": { ... } in the response indicates an issue with the request; check the message for details.
  • File upload errors may return messages like "File not found" or HTTP 400/401 errors from Akeneo.

How to resolve:

  • Double-check all input property values, especially required ones.
  • Ensure the file path is correct and readable by the n8n process.
  • Verify that referenced families, categories, and groups exist in Akeneo.
  • Confirm that your API user has sufficient permissions.

Links and References

Discussion