AutomationFlowsAI & RAG › Upload to Supabase Demo

Upload to Supabase Demo

Upload to Supabase Demo. Uses extractFromFile, vectorStoreSupabase, documentDefaultDataLoader, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 18 nodes.

Event trigger★★★★☆ complexityAI-powered18 nodesVector Store SupabaseDocument Default Data LoaderText Splitter Recursive Character Text SplitterEmbeddings Open AiGoogle Drive TriggerGoogle DriveSupabase
AI & RAG Trigger: Event Nodes: 18 Complexity: ★★★★☆ AI nodes: yes

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Upload to Supabase Demo",
  "nodes": [
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e556566e-20a1-48b4-b01e-197a402b5a5f",
              "name": "file_id",
              "value": "={{ $json.id }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "d373cb7c-674d-40a7-b568-704a3c6bae72",
      "name": "Set ID",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        580,
        40
      ]
    },
    {
      "parameters": {
        "operation": "text",
        "options": {}
      },
      "id": "00fa6495-0bf9-49d3-be48-e2c5260cbf7f",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "typeVersion": 1,
      "position": [
        1040,
        40
      ]
    },
    {
      "parameters": {
        "mode": "insert",
        "tableName": {
          "__rl": true,
          "value": "documents",
          "mode": "list",
          "cachedResultName": "documents"
        },
        "options": {
          "queryName": "match_documents"
        }
      },
      "id": "bd7aa898-2b52-45ea-93da-b89435d55f2b",
      "name": "Supabase Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        1220,
        40
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {
          "metadata": {
            "metadataValues": [
              {
                "name": "file_id",
                "value": "={{ $('Set ID').item.json.file_id }}"
              }
            ]
          }
        }
      },
      "id": "38dccf7c-94f9-4bfc-a498-306a899cc88f",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1,
      "position": [
        1280,
        200
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "6cee0cfe-2db8-45c9-a330-4d01c7d4acfb",
      "name": "Recursive Character Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        1540,
        200
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "227fb03b-60d6-4d74-9022-127bd19bef20",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.1,
      "position": [
        1160,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "value": "1TdnGrO0UFHboSBFMYCT1T0w17OwMct6E",
          "mode": "list",
          "cachedResultName": "Projects",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1TdnGrO0UFHboSBFMYCT1T0w17OwMct6E"
        },
        "event": "fileUpdated",
        "options": {}
      },
      "id": "3f7c7cf1-e314-4b75-a16f-fb549ef1950d",
      "name": "File Updated",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "typeVersion": 1,
      "position": [
        340,
        380
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "value": "1TdnGrO0UFHboSBFMYCT1T0w17OwMct6E",
          "mode": "list",
          "cachedResultName": "Projects",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1TdnGrO0UFHboSBFMYCT1T0w17OwMct6E"
        },
        "event": "fileCreated",
        "options": {}
      },
      "id": "5fbf67ec-43f4-4da9-9780-c616a93f5727",
      "name": "New File",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "typeVersion": 1,
      "position": [
        360,
        40
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "download",
        "fileId": {
          "__rl": true,
          "value": "={{ $json.file_id }}",
          "mode": "id"
        },
        "options": {
          "googleFileConversion": {
            "conversion": {
              "docsToFormat": "text/plain"
            }
          }
        }
      },
      "id": "c7d30bf8-c068-4ad2-9473-28ff3fd04a25",
      "name": "Downloading File",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        800,
        40
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "download",
        "fileId": {
          "__rl": true,
          "value": "={{ $('Set ID 2').item.json.file_id }}",
          "mode": "id"
        },
        "options": {
          "googleFileConversion": {
            "conversion": {
              "docsToFormat": "text/plain"
            }
          }
        }
      },
      "id": "89f6919a-9fd3-4f42-ba1e-c8a615468f17",
      "name": "Download File 2",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        940,
        380
      ],
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "text",
        "options": {}
      },
      "id": "139fd870-2f0c-4b84-86e2-67516d3c62e7",
      "name": "Extract from File1",
      "type": "n8n-nodes-base.extractFromFile",
      "typeVersion": 1,
      "position": [
        1120,
        380
      ]
    },
    {
      "parameters": {
        "mode": "insert",
        "tableName": {
          "__rl": true,
          "value": "documents",
          "mode": "list",
          "cachedResultName": "documents"
        },
        "options": {
          "queryName": "match_documents"
        }
      },
      "id": "c375378a-77e9-468e-ba05-a54473899ebe",
      "name": "Supabase Vector Store1",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        1320,
        380
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {
          "metadata": {
            "metadataValues": [
              {
                "name": "file_id",
                "value": "={{ $('Keep First ID').item.json.file_id }}"
              }
            ]
          }
        }
      },
      "id": "3767acd4-c43f-4b65-b7d5-c22269f03734",
      "name": "Default Data Loader1",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1,
      "position": [
        1380,
        560
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "2c442939-68c5-4a6b-bf62-09ba7d49d96d",
      "name": "Recursive Character Text Splitter1",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        1640,
        560
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "3cae704e-f043-4b0f-8427-82d11447a5e5",
      "name": "Embeddings OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.1,
      "position": [
        1280,
        560
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "b4433ac7-0b70-4405-a564-f3f78f784470",
              "name": "file_id",
              "value": "={{ $('File Updated').item.json.id }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "8d932805-480f-4954-a9e4-6d3d23792b7e",
      "name": "Set ID 2",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        620,
        380
      ]
    },
    {
      "parameters": {
        "operation": "delete",
        "tableId": "documents",
        "filterType": "string",
        "filterString": "=metadata->>file_id=like.*{{ $json.id }}*"
      },
      "id": "0ec02f0f-04ab-47bf-b4bf-56f4077f82a7",
      "name": "Delete Row(s)",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        480,
        380
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "id": "3d3b219a-36ed-4d70-b0ff-697fb22f6f85",
      "name": "Keep First ID",
      "type": "n8n-nodes-base.limit",
      "typeVersion": 1,
      "position": [
        760,
        380
      ]
    }
  ],
  "connections": {
    "Set ID": {
      "main": [
        [
          {
            "node": "Downloading File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "New File": {
      "main": [
        [
          {
            "node": "Set ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Downloading File": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Updated": {
      "main": [
        [
          {
            "node": "Delete Row(s)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download File 2": {
      "main": [
        [
          {
            "node": "Extract from File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader1": {
      "ai_document": [
        [
          {
            "node": "Supabase Vector Store1",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter1": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader1",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File1": {
      "main": [
        [
          {
            "node": "Supabase Vector Store1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set ID 2": {
      "main": [
        [
          {
            "node": "Keep First ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete Row(s)": {
      "main": [
        [
          {
            "node": "Set ID 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keep First ID": {
      "main": [
        [
          {
            "node": "Download File 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2bd439c9-af44-4ef0-9e28-75253fbf7eb1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "mttKE7wdH4dGdq5s",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

About this workflow

Upload to Supabase Demo. Uses extractFromFile, vectorStoreSupabase, documentDefaultDataLoader, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 18 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →