{
  "name": "Turn your portfolio into an AI assistant with OpenAI, Claude, Pinecone and Gmail",
  "nodes": [
    {
      "id": "2cbadb28-b31e-45f9-9eef-719c1f4f4ac9",
      "name": "Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9200,
        9680
      ],
      "parameters": {
        "width": 688,
        "height": 668,
        "content": "## AI Portfolio Assistant with RAG & CV Delivery\n\nA two-pipeline workflow that turns your Google Drive documents into a 24/7 recruiter-ready AI assistant. Recruiters chat via webhook; the agent retrie"
      }
    },
    {
      "id": "f2616c59-b30d-4c73-b3a9-3a9d0772ac09",
      "name": "Section 1 Background",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9952,
        9680
      ],
      "parameters": {
        "width": 1450,
        "height": 684,
        "content": "## Ingestion pipeline\nMonitors Google Drive for new and updated documents, chunks and embeds them with OpenAI, then upserts into Pinecone for retrieval."
      }
    },
    {
      "id": "b226e700-fb11-417b-8dc8-0844ab0cb4bb",
      "name": "File Created Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        10176,
        9808
      ]
    },
    {
      "id": "76549fc9-02dd-483b-a0af-cd089348e252",
      "name": "File Updated Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        10176,
        10000
      ]
    },
    {
      "id": "e7d12492-fd3f-497b-858a-87fc16c66397",
      "name": "Download File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        10432,
        9888
      ]
    },
    {
      "id": "91ebe6c1-6722-405f-8362-cb15212bde01",
      "name": "Enrich Metadata",
      "type": "n8n-nodes-base.set",
      "position": [
        10704,
        9888
      ]
    },
    {
      "id": "e723c6a0-80ff-4905-932b-09a526dfcfd3",
      "name": "Pinecone Insert",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        11008,
        9888
      ]
    },
    {
      "id": "e6ac53d6-994a-45d9-a261-a50085a5a2ac",
      "name": "OpenAI Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        10880,
        10096
      ]
    },
    {
      "id": "60b0db34-d656-4825-862d-0c0055321bdb",
      "name": "Document Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        11136,
        10096
      ]
    },
    {
      "id": "3c098fa5-cce1-4f65-9641-5c7a98c8f75a",
      "name": "Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        11136,
        10240
      ]
    },
    {
      "id": "0cc33506-b37a-41a2-80dd-1fe4a87fc382",
      "name": "Section 2 Background",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9952,
        10480
      ],
      "parameters": {
        "width": 2204,
        "height": 1008,
        "content": "## AI agent\nWebhook-triggered Claude Sonnet 4.5 agent with Pinecone RAG, Cohere reranking, structured output CV detection, and Gmail delivery."
      }
    },
    {
      "id": "c4d8a16f-3a77-47ea-80c1-5637b557857e",
      "name": "Chat Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        10080,
        10688
      ]
    },
    {
      "id": "c1dac88d-5a0d-434e-a0bb-46e2b7a04a1e",
      "name": "Portfolio AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        10480,
        10688
      ]
    },
    {
      "id": "6ecbcbbc-56c5-4351-8cab-4b3577ac22b2",
      "name": "Claude Sonnet 4.5",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        10144,
        10992
      ]
    },
    {
      "id": "96fa14b6-8e19-4077-9c70-9170fc8af42b",
      "name": "Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        10352,
        10992
      ]
    },
    {
      "id": "cca3c727-66bb-456f-a5ab-a1c9688aa8be",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        10544,
        11104
      ]
    },
    {
      "id": "45d186bf-3318-4053-9d5c-0f05e2379d85",
      "name": "Portfolio Vector Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        10880,
        10928
      ]
    },
    {
      "id": "aa493916-54fd-4edb-a185-c03070c80b8a",
      "name": "Claude Retrieval Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        11104,
        11168
      ]
    },
    {
      "id": "a0a8bd94-075c-4987-be51-433b1d2bc1ba",
      "name": "Pinecone Retrieval",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        10800,
        11168
      ]
    },
    {
      "id": "cohere-reranker-node",
      "name": "Cohere Reranker",
      "type": "@n8n/n8n-nodes-langchain.rerankerCohere",
      "position": [
        11104,
        11344
      ]
    },
    {
      "id": "ee30e696-9b2f-4bcf-ac2f-e889072e4766",
      "name": "OpenAI Embeddings Retrieval",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        10800,
        11344
      ]
    },
    {
      "id": "5e101523-b700-4a08-a84f-6f6bc1a1090d",
      "name": "Check CV Request",
      "type": "n8n-nodes-base.if",
      "position": [
        11152,
        10688
      ]
    },
    {
      "id": "37cdfcd4-65f4-4e1c-94d4-224fd03806cd",
      "name": "Download CV PDF",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        11456,
        10496
      ]
    },
    {
      "id": "9522bde8-1c8d-4cbc-b273-efc88d6d1ecf",
      "name": "Send CV Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        11712,
        10496
      ]
    },
    {
      "id": "82046fee-e114-4b9d-88ee-eac01006a54b",
      "name": "Respond CV Sent",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        11952,
        10496
      ]
    },
    {
      "id": "c5a9028b-2610-497c-9fc5-812b15d0eb36",
      "name": "Respond with Answer",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        11456,
        10896
      ]
    },
    {
      "id": "bce718ea-5dee-4590-8c75-8c0e956109dc",
      "name": "Error Handling Guide",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9952,
        11584
      ],
      "parameters": {
        "width": 700,
        "height": 320,
        "content": "## Error handling\nCatches failures from any node. Connect an alerting service (Slack, email, webhook) after the Format Error Data node."
      }
    },
    {
      "id": "44ee3831-bd99-4a57-b7df-6ce5de6839e4",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        10144,
        11760
      ]
    },
    {
      "id": "43fc8114-1fa1-47f3-8c62-f2f6f3a46f99",
      "name": "Format Error Data",
      "type": "n8n-nodes-base.set",
      "position": [
        10416,
        11760
      ]
    }
  ],
  "connections": {
    "Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "Portfolio AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Chat Webhook": {
      "main": [
        [
          {
            "node": "Portfolio AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download File": {
      "main": [
        [
          {
            "node": "Enrich Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Format Error Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send CV Email": {
      "main": [
        [
          {
            "node": "Respond CV Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Document Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Cohere Reranker": {
      "ai_reranker": [
        [
          {
            "node": "Pinecone Retrieval",
            "type": "ai_reranker",
            "index": 0
          }
        ]
      ]
    },
    "Document Loader": {
      "ai_document": [
        [
          {
            "node": "Pinecone Insert",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Download CV PDF": {
      "main": [
        [
          {
            "node": "Send CV Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enrich Metadata": {
      "main": [
        [
          {
            "node": "Pinecone Insert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check CV Request": {
      "main": [
        [
          {
            "node": "Download CV PDF",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond with Answer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude Sonnet 4.5": {
      "ai_languageModel": [
        [
          {
            "node": "Portfolio AI Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Insert",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Retrieval": {
      "ai_vectorStore": [
        [
          {
            "node": "Portfolio Vector Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Portfolio AI Agent": {
      "main": [
        [
          {
            "node": "Check CV Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Created Trigger": {
      "main": [
        [
          {
            "node": "Download File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Updated Trigger": {
      "main": [
        [
          {
            "node": "Download File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Portfolio Vector Tool": {
      "ai_tool": [
        [
          {
            "node": "Portfolio AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Claude Retrieval Model": {
      "ai_languageModel": [
        [
          {
            "node": "Portfolio Vector Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Portfolio AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Embeddings Retrieval": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Retrieval",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    }
  }
}