AutomationFlowsAI & RAG › Notion Update to AI Vector Store

Notion Update to AI Vector Store

Original n8n title: Notion API Update

Notion API Update. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStoreSupabase. Webhook trigger; 12 nodes.

Webhook trigger★★★☆☆ complexityAI-powered12 nodesText Splitter Character Text SplitterOpenAI EmbeddingsSupabase Vector StoreTool Vector StoreMemory Buffer WindowAnthropic ChatAgentGoogle Sheets
AI & RAG Trigger: Webhook Nodes: 12 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → OpenAI Embeddings recipe pattern — see all workflows that pair these two integrations.

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": "Notion API Update",
  "nodes": [
    {
      "parameters": {
        "content": "Automated workflow: Notion API Update",
        "height": 530,
        "width": 1100,
        "color": 5
      },
      "id": "f6eedc53-53fe-45e3-be02-ee32b2bc2548",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -480,
        -240
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "notion-api-update"
      },
      "id": "97e8e13c-6fe1-4756-83fe-f3106f99b4bd",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -300,
        0
      ]
    },
    {
      "parameters": {
        "chunkSize": 400,
        "chunkOverlap": 40
      },
      "id": "b4faac7a-fac8-49c6-b6e9-105dc0097ef0",
      "name": "Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        -130,
        0
      ]
    },
    {
      "parameters": {
        "model": "text-embedding-3-small",
        "options": {}
      },
      "id": "8bfcea9f-6dee-4038-a2d1-7f2c8b8368b6",
      "name": "Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1,
      "position": [
        70,
        0
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "options": {},
        "indexName": "notion_api_update"
      },
      "id": "4fb1d720-e915-4a9f-8697-3349b879a922",
      "name": "Supabase Insert",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        270,
        0
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "indexName": "notion_api_update"
      },
      "id": "316f1a80-040b-480e-bfbe-c54cfd217db5",
      "name": "Supabase Query",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1,
      "position": [
        270,
        -180
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "Supabase",
        "description": "Vector context"
      },
      "id": "839a9f23-7777-47ca-acc7-2aab8bec04a5",
      "name": "Vector Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1,
      "position": [
        450,
        -180
      ]
    },
    {
      "parameters": {},
      "id": "6280048e-4689-4f3b-a73d-2ab89e73f02a",
      "name": "Window Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        450,
        -40
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "46ef3d02-55d4-4733-8b2e-8494a20c30d7",
      "name": "Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1,
      "position": [
        450,
        -340
      ],
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Process the following data for task 'Notion API Update':\n\n{{ $json }}",
        "options": {
          "systemMessage": "You are an assistant for Notion API Update"
        }
      },
      "id": "f2b616b4-b278-49c6-93ed-9cd28ed91d31",
      "name": "RAG Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1,
      "position": [
        720,
        -40
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "SHEET_ID",
          "mode": "list",
          "cachedResultName": "Notion API Update"
        },
        "sheetName": {
          "__rl": true,
          "value": "Log",
          "mode": "list",
          "cachedResultName": "Log"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "={{$json[\"RAG Agent\"].text}}"
          },
          "schema": []
        }
      },
      "id": "0d8f0c1f-a667-4b44-befd-36b2b2fd162d",
      "name": "Append Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        930,
        -40
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "channel": "#alerts",
        "text": "Notion API Update error: {$json.error.message}"
      },
      "id": "ce94609f-2f12-4f5c-8900-6cdca74e0284",
      "name": "Slack Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        930,
        120
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Text Splitter",
            "type": "main",
            "index": 0
          },
          {
            "node": "Window Memory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Splitter": {
      "main": [
        [
          {
            "node": "Embeddings",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "ai_textSplitter": [
        [
          {
            "node": "Supabase Insert",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Insert",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Supabase Query",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Supabase Insert": {
      "ai_document": [
        []
      ]
    },
    "Supabase Query": {
      "ai_vectorStore": [
        [
          {
            "node": "Vector Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Vector Tool": {
      "ai_tool": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Window Memory": {
      "ai_memory": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "RAG Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "RAG Agent": {
      "main": [
        [
          {
            "node": "Append Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "onError": [
        [
          {
            "node": "Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "triggerCount": 1
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Notion API Update. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStoreSupabase. Webhook trigger; 12 nodes.

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

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Calendar Event Auto-tag. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStoreWeaviate. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, OpenAI Embeddings, Weaviate Vector Store +6
AI & RAG

Grant Application Routing. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStoreSupabase. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, OpenAI Embeddings, Supabase Vector Store +6
AI & RAG

Idea to IG Carousel. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStoreWeaviate. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, OpenAI Embeddings, Weaviate Vector Store +6
AI & RAG

API Stats Chart. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStorePinecone. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, OpenAI Embeddings, Pinecone Vector Store +6
AI & RAG

Customer Auto-tagging. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStorePinecone. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, Cohere Embeddings, Pinecone Vector Store +6