Update VNTANA product attributes from scheduled Excel (.xlsx) attachments

Go to Workflow
0 views
Built by Ben Conway Ben Conway
Created on June 04, 2026

Description

Quick overview
This workflow runs every 15 minutes, checks a VNTANA product for a new XLSX attachment with a defined filename prefix, reads attribute_key and attribute_value rows from the spreadsheet, and replaces the product’s attributes in VNTANA with the values from that file.

How it works
Runs on a schedule every 15 minutes.
Logs in to VNTANA with your account credentials to get an auth token.
Searches the target VNTANA product’s attachments and selects the newest XLSX file whose name starts with the configured prefix.
Skips processing if the latest matching attachment UUID was already handled in a previous run.
Downloads the XLSX file from VNTANA storage and converts it into JSON rows.
Builds a VNTANA attributes payload from the attribute_key and attribute_value columns and updates the product via the VNTANA Products API, replacing all existing attributes.

Setup
Create n8n Variables named VNTANA_EMAIL and VNTANA_PASSWORD with your VNTANA login details.
Update the Config values for productUuid, clientUuid (workspace UUID), and productName for the product you want to update.
Set filePrefix to match the attachment naming convention (for example, attributes_completed_) and ensure the spreadsheet includes attribute_key and attribute_value column headers.

Requirements
VNTANA account with platform API access
n8n Variables: VNTANA_EMAIL and VNTANA_PASSWORD
A VNTANA product UUID and workspace (client) UUID
A spreadsheet (.xlsx) with columns attribute_key and attribute_value, attached to the product in VNTANA

Customization
Change the schedule interval (default: 15 minutes) on the Schedule Trigger node
Update filePrefix in the Config node to match your naming convention (default: attributes_completed_)
Values in attribute_value can be plain strings or JSON strings — useful for structured data like multilingual hotspot annotations

Additional info
Attribute values that are JSON objects should be serialized as strings in the spreadsheet (the VNTANA API stores all attributes as string key-value pairs).

The workflow uses n8n static data to track the last processed attachment UUID, so re-uploads of the same file will not trigger a re-run unless the attachment is deleted and re-added.

Nodes Used (2)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest