Skip to main content

Automate HS code lookup & enrichment with Google Sheets and customs API (beta)

Workflow preview

Workflow preview
100%
Automate HS code lookup & enrichment with Google Sheets and customs API (beta) preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

" I used to spend hours every week just copy pasting product descriptions to find the right tariff codes for our international shipments. It was tedious and prone to errors. " Accounting specialist...

Best for

  • Document Extraction automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.chattrigger, n8n-nodes-base.httprequest, n8n-nodes-base.set, n8n-nodes-base.googlesheets, n8n-nodes-base.splitinbatches, n8n-nodes-base.gmail, n8n-nodes-base.aggregate, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Thomas.

Original n8n.io source

1.1 Workflow description

Title
Automate HS code lookup & enrichment with Google Sheets and customs API (beta)
Workflow name
Automate HS code lookup & enrichment with Google Sheets and customs API (beta)

"I used to spend hours every week just copy-pasting product descriptions to find the right tariff codes for our international shipments. It was tedious and prone to errors." - Accounting specialist.

This workflow eliminates that manual work entirely. It automatically finds customs tariff numbers (also known as HS Codes or "Zolltarifnummern") for your products and enriches your data in Google Sheets. It offers two powerful modes: bulk processing for entire product lists and an on-demand chat interface for quick single lookups.

new features

  • added the API score in percentage (80 to 100% is perfect, 70-80% still good)
  • added description of the found HS Code to better verify the accuracy -please keep in mind, that is still a beta https://www.zolltarifnummern.de/services/api

What this workflow does

  • Bulk Enrichment from Google Sheets: Reads a list of product descriptions from a specified Google Sheet.
  • External API Lookup: For each product, it queries the zolltarifnummern.de API to find the most relevant customs tariff number.
  • Automated Data Update: Writes the found tariff numbers back into the correct row in your Google Sheet.
  • On-Demand Single Lookup: Use the integrated Chat Trigger to instantly look up a tariff number for a single product description without leaving n8n.
  • Completion Notification: Sends a confirmation email via Gmail once the bulk processing job is finished.

Nodes Used

  1. Google Sheets
  2. HTTP Request
  3. Loop Over Items (Split in Batches)
  4. Set
  5. Gmail
  6. Chat Trigger
  7. Manual Trigger

Preparation

A Google Sheet prepared with at least two columns: one for your product descriptions (e.g., ProductDescription) and an empty one for the results (e.g., TariffCode). How to set up this workflow Configure Google Sheets (Read):

Open the "Read Item Descriptions" node. Select your Google Sheets credentials. Enter your Spreadsheet ID and the name of the sheet containing your product data. Make sure the "Columns to Read" field includes the name of your product description column. Configure Google Sheets (Update):

Open the "Write Customs Tariff to Sheet" node. Select the same Google Sheets credentials. Enter the same Spreadsheet ID and Sheet Name. Under Columns, set Matching Columns to your product description column name. This is crucial for updating the correct rows. Configure Email Notification:

Open the "Send Completion Email" (Gmail) node. Select your Gmail credentials. In the Send To field, enter the email address where you want to receive the completion notification.

Run the Workflow:

For Bulk Processing: Activate the workflow and execute the "Abfrage starten" (Start Query) Manual Trigger. For a Single Lookup: Use the Chat Trigger. Open the chat pane, type a product description, and hit send. The workflow will return the suggested tariff number.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Chat Trigger

Type / Role
@n8n/n8n-nodes-langchain.chatTrigger - chatTrigger
Config choices
Version 1.1

Block 2 - Customs Tariff API Query

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 3 - Output Customs Tariff Number

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - Read Item Descriptions

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 5 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 6 - Write Customs Tariff to Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 7 - Customs Tariff API Query Batch

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 8 - Send Completion Email

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 9 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 10 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Start Query

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 14 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - prepare data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

3. Summary Table

Workflow Automate HS code lookup & enrichment with Google Sheets and customs API (beta)
Complexity advanced
Nodes 15
Categories Document Extraction
Author Thomas
Published 29 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8034/8034.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate HS code lookup & enrichment with Google Sheets and customs API (beta) do?

" I used to spend hours every week just copy pasting product descriptions to find the right tariff codes for our international shipments. It was tedious and prone to errors. " Accounting specialist...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction use case.