Home / n8n Workflow Templates / Automate Manufacturer Data Import from Google Sheets to Shopware 6

Automate Manufacturer Data Import from Google Sheets to Shopware 6

Import multiple Manufacturers from Google Sheets to Shopware 6

This workflow imports manufacturer data including names, websites, descriptions, and logos from a Google Sheet into Shopware 6 using API synchronization and OAuth2 authentication.

Manual7 nodesIndustry Verticaltutorialautomate-everythingsubmitted

About this workflow

Import Multiple Manufacturers from Google Sheets to Shopware 6 – Workflow Analysis

This n8n workflow template automates the process of importing multiple product manufacturers from a Google Sheet into a Shopware 6 e-commerce platform. It enables businesses to efficiently manage and synchronize manufacturer data—including names, websites, descriptions, translations, and logo images—directly from a structured spreadsheet, reducing manual entry and minimizing errors.

What the Workflow Does

The workflow retrieves manufacturer data from a Google Sheet, formats it into a valid import structure compatible with Shopware 6’s sync API, imports each manufacturer into Shopware, and conditionally uploads their logo if provided. It supports multi-language content for international stores and ensures media (logos) are correctly associated via unique identifiers using MD5 hashing. The entire process is triggered manually and executed in batches for scalability and reliability.


Key Features and Capabilities

  • Multi-Language Support: Handles up to three additional language translations per manufacturer by dynamically mapping translation fields.
  • Media Handling: Automatically uploads manufacturer logos to Shopware and links them using consistent media IDs based on the manufacturer name.
  • Upsert Logic: Uses Shopware's upsert functionality to either create new manufacturers or update existing ones without duplication.
  • Batch Processing: Processes manufacturers in batches using the Split In Batches node, which helps avoid timeouts and API rate limits.
  • Conditional Execution: Only attempts logo upload when a media entity is successfully created during the import step.
  • Secure Authentication: Leverages OAuth2 with Client Credentials grant type for secure access to both Google Sheets and Shopware APIs.
  • Reusable Structure: Easily extensible for more languages or additional fields by modifying the Code node logic.

Main Nodes and Their Purposes

Node Purpose
When clicking "Execute Workflow" A manual trigger that starts the workflow execution upon user input.
Settings Stores configuration variables such as the Shopware URL and default language code (de_DE) for use across other nodes.
Get Manufacturer from Google Sheet Reads all rows from a specified Google Sheet containing manufacturer data (name, website, description, logo URL, etc.).
Create Import Request Body Uses JavaScript code to transform raw sheet data into a structured JSON payload compatible with Shopware 6's /api/_action/sync endpoint. It includes:<br>– Core manufacturer details<br>– Translations for multiple languages<br>– Media ID generation using MD5 hashing of the manufacturer name
Loop Over Manufacturers Splits the list of manufacturers into individual items for sequential processing using batch splitting. Ensures one-by-one handling for reliable API interactions.
Import Manufacturer Sends the prepared manufacturer data to Shopware 6 via an HTTP POST request to the sync API. Performs upsert operations so duplicates are avoided.
If has Logo Conditional check that evaluates whether the response from Shopware includes a media entity (indicating a logo should be uploaded).
Upload Manufacturer Logo Executes only if a logo URL exists; sends the image from the external URL directly to Shopware’s media upload endpoint, setting correct file extension and name.
Sticky Notes Provide inline documentation and setup instructions for users (e.g., configuring credentials, preparing the Google Sheet).

Use Cases and Benefits

Use Cases:

  • Onboarding new brands into a B2B or B2C online store.
  • Syncing updated manufacturer information (including localized content) across multilingual shops.
  • Automating digital asset management by linking brand logos during creation.
  • Migrating legacy product data from spreadsheets into modern e-commerce systems.

Benefits:

  • Time Savings: Eliminates hours of manual data entry in Shopware backend.
  • Accuracy: Reduces human error through automated parsing and validation.
  • Scalability: Supports bulk operations and can handle hundreds of entries via batching.
  • Localization Ready: Built-in support for translating names and descriptions improves global market readiness.
  • Extensibility: Can be adapted to import products, categories, or suppliers using similar patterns.

Step-by-Step Workflow Logic

  1. Workflow Initiation
    The user manually triggers the workflow by clicking "Execute Workflow".

  2. Configuration Setup
    The Settings node sets essential environment variables:

    • shopware_url: Base URL of the Shopware instance
    • default_language_code: Default locale (e.g., de_DE)
  3. Fetch Data from Google Sheets
    The Get Manufacturer from Google Sheet node pulls all rows from a predefined spreadsheet. Each row represents a manufacturer with columns like:

    • name (required, unique)
    • website
    • description
    • logo_url
    • Optional translation fields: translation_language_code_1, translation_name_1, etc.
  4. Transform Data Using Code
    The Create Import Request Body node processes each item:

    • Extracts core fields and optional translations.
    • Builds a nested translations object keyed by language codes.
    • Generates a deterministic media ID using md5("media-" + name) to ensure consistency across runs.
    • Constructs a final manufacturer object structured for Shopware’s sync API.
  5. Batch Processing Loop
    The Loop Over Manufacturers node splits the array of transformed items into single-item batches, enabling sequential processing.

  6. Import to Shopware
    For each batch:

    • The Import Manufacturer node sends a POST request to https://your-shopware-url.com/api/_action/sync.
    • Includes the import-manufacturer parameter with the full payload.
    • Uses OAuth2 authentication configured under “SW6 Demo” credentials.
  7. Conditional Logo Upload Check
    After import, the If has Logo node checks if the API response contains a media entity:

    • Path checked: $json.data['import-manufacturer'].result[0].entities.media
    • If present, proceeds to upload; otherwise skips.
  8. Logo Upload to Shopware
    The Upload Manufacturer Logo node:

    • Calls the media upload endpoint with the media ID returned from the import.
    • Passes the external logo_url as a parameter to let Shopware fetch and store the image.
    • Sets dynamic query parameters:
      • extension: Derived from the logo URL (e.g., .png, .jpg)
      • fileName: Based on the manufacturer name
  9. Completion
    Once all items are processed and (if applicable) media uploaded, the workflow ends.


Final Notes

This workflow exemplifies how n8n bridges SaaS platforms like Google Sheets and Shopware 6 to automate complex business processes. With clear documentation via sticky notes and modular design, it serves as both a practical tool and a learning resource for developers and non-developers alike. By following the included TODOs—such as connecting accounts, creating the proper spreadsheet format, and configuring OAuth2 integrations—users can quickly deploy this automation in production environments.

How to use: download the JSON, then in n8n choose “Import from File”.