Skip to main content

Transform Excel data into AI-ready vectors with OpenAI and Supabase

Workflow preview

Workflow preview
100%
Transform Excel data into AI-ready vectors with OpenAI and Supabase preview
Open on n8n.io

Important notice

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

1. Workflow Overview

Description This workflow is a practical, “dirty” solution for real world scenarios where frontline workers keep using Excel in their daily processes. Instead of forcing change, we take their sprea...

Best for

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

Tools used

n8n-nodes-base.manualtrigger, n8n-nodes-base.code, n8n-nodes-base.splitinbatches, n8n-nodes-base.switch, n8n-nodes-base.merge, n8n-nodes-base.httprequest, n8n-nodes-base.supabase, n8n-nodes-base.postgres

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Transform Excel data into AI-ready vectors with OpenAI and Supabase
Workflow name
Transform Excel data into AI-ready vectors with OpenAI and Supabase

Description

This workflow is a practical, “dirty” solution for real-world scenarios where frontline workers keep using Excel in their daily processes.
Instead of forcing change, we take their spreadsheets as-is, clean and normalize the data, generate embeddings, and store everything in Supabase.

The benefit: frontline staff continue with their familiar tools, while data analysts gain clean, structured, and vectorized data ready for analysis or RAG-style AI applications.

How it works

  • Frontline workers continue with Excel – no disruption to their daily routines.
  • Upload & trigger – The workflow runs when a new Excel sheet is ready.
  • Read Excel rows – Data is pulled from the specified workbook and worksheet.
  • Clean & normalize – HTML is stripped, Excel dates are fixed, and text fields are standardized.
  • Batch & switch – Rows are split and routed into Question/Answer processing paths.
  • Generate embeddings – Cleaned Questions and Answers are converted into vectors via OpenAI.
  • Merge enriched records – Original business data is combined with embeddings.
  • Write into Supabase – Data lands in a structured table (excel_records) with vector and FTS indexes.

Why it’s “dirty but useful”

  • No disruption – frontline workers don’t need to change how they work.
  • Analyst-ready data – Supabase holds clean, queryable data for dashboards, reporting, or AI pipelines.
  • Bridge between old and new – Excel remains the input, but the backend becomes modern and scalable.
  • Incremental modernization – paves the way for future workflow upgrades without blocking current work.

Outcome

Frontline workers keep their Excel-based workflows, while data can immediately be structured, searchable, and vectorized in Supabase — enabling AI-powered search, reporting, and retrieval-augmented generation.

Required setup

Supabase account

  • Create a project and enable the pgvector extension.

OpenAI API Key

  • Required for generating embeddings (text-embedding-3-small).

Microsoft Excel credentials

  • Needed to connect to your workbook and worksheet.

  • Need Help

🔗 LinkedIn – Wessel Bulte

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 - When clicking ‘Execute workflow’

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

Block 2 - Remove HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 3 - Loop Over Items

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

Block 4 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 5 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 6 - Merge import Data

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 7 - Code "Question"

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 8 - Code "Answer"

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - Embeddings OpenAI Answer

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

Block 10 - Embeddings OpenAI Question

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

Block 11 - Merge fields for database insert

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Write row to database

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

Block 13 - Retrieve existing rows

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

Block 14 - Build table in Supabase

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.6

Block 15 - Get rows from sheet

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

Block 16 - Sticky Note - Overview

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

Block 17 - Sticky Note - Write row to database

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

Block 18 - Sticky Note - Merge fields for database insert

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

Block 19 - Sticky Note - Merge

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

Block 20 - Sticky Note - Embeddings OpenAI Question

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

Block 21 - Sticky Note - Code "Question"

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

Block 22 - Sticky Note - Code "Answer"

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

Block 23 - Sticky Note - Switch

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

Block 24 - Sticky Note - Loop Over Items

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

Showing the first 24 of 29 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Transform Excel data into AI-ready vectors with OpenAI and Supabase
Complexity advanced
Nodes 29
Categories Document Extraction, AI RAG
Author Wessel Bulte
Published 13 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8557/8557.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 Transform Excel data into AI-ready vectors with OpenAI and Supabase do?

Description This workflow is a practical, “dirty” solution for real world scenarios where frontline workers keep using Excel in their daily processes. Instead of forcing change, we take their sprea...

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, AI RAG use case.