AutomationFlowsAI & RAG › AI Job Application Parser with OpenAI & Pinecone

AI Job Application Parser with OpenAI & Pinecone

Original n8n title: New Job Application Parser

New Job Application Parser. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStorePinecone. Webhook trigger; 12 nodes.

Webhook trigger★★★☆☆ complexityAI-powered12 nodesText Splitter Character Text SplitterOpenAI EmbeddingsPinecone Vector StoreTool Vector StoreMemory Buffer WindowOpenAI 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": "New Job Application Parser",
  "nodes": [
    {
      "parameters": {
        "content": "Automated workflow: New Job Application Parser",
        "height": 530,
        "width": 1100,
        "color": 5
      },
      "id": "355dc5d9-e675-4948-ac07-e2372746beac",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -480,
        -240
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "new-job-application-parser"
      },
      "id": "5a292fdb-55a6-4b6c-95cb-918e2f5592a1",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -300,
        0
      ]
    },
    {
      "parameters": {
        "chunkSize": 400,
        "chunkOverlap": 40
      },
      "id": "53900c40-00b0-4e87-98cf-de274ce1fddc",
      "name": "Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        -130,
        0
      ]
    },
    {
      "parameters": {
        "model": "text-embedding-3-small",
        "options": {}
      },
      "id": "a3b1c492-f0ec-4275-a656-765170f336db",
      "name": "Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1,
      "position": [
        70,
        0
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "value": "new_job_application_parser",
          "mode": "list",
          "cachedResultName": "new_job_application_parser"
        }
      },
      "id": "cfcd7174-0670-4521-a3d0-f166637355b9",
      "name": "Pinecone Insert",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "typeVersion": 1,
      "position": [
        270,
        0
      ],
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "pineconeIndex": {
          "__rl": true,
          "value": "new_job_application_parser",
          "mode": "list",
          "cachedResultName": "new_job_application_parser"
        }
      },
      "id": "2a452b2b-edca-4ab6-87a5-a9cb33ca4473",
      "name": "Pinecone Query",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "typeVersion": 1,
      "position": [
        270,
        -180
      ],
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "Pinecone",
        "description": "Vector context"
      },
      "id": "3f39c7db-4b74-452f-85c5-1221de07d7c8",
      "name": "Vector Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1,
      "position": [
        450,
        -180
      ]
    },
    {
      "parameters": {},
      "id": "c3cf7b90-7202-47b1-a2e3-e1f2c74eaa33",
      "name": "Window Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        450,
        -40
      ]
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "3cd3b436-538e-470c-89e5-e8776258c498",
      "name": "Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        450,
        -340
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Process the following data for task 'New Job Application Parser':\n\n{{ $json }}",
        "options": {
          "systemMessage": "You are an assistant for New Job Application Parser"
        }
      },
      "id": "a741b715-3e97-445a-8c1a-f5c8ce5cf2dd",
      "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": "New Job Application Parser"
        },
        "sheetName": {
          "__rl": true,
          "value": "Log",
          "mode": "list",
          "cachedResultName": "Log"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "={{$json[\"RAG Agent\"].text}}"
          },
          "schema": []
        }
      },
      "id": "8d1a3c8a-520f-4e56-8120-7b54029bd828",
      "name": "Append Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        930,
        -40
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "channel": "#alerts",
        "text": "New Job Application Parser error: {$json.error.message}"
      },
      "id": "1b63bca3-2e7f-450e-80ef-f5cf18df53f1",
      "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": "Pinecone Insert",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Insert",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Pinecone Query",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Insert": {
      "ai_document": [
        []
      ]
    },
    "Pinecone 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

New Job Application Parser. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsOpenAi, vectorStorePinecone. 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

RAG AI Agent. Uses lmChatOpenAi, memoryBufferWindow, googleDrive, documentDefaultDataLoader. Webhook trigger; 20 nodes.

OpenAI Chat, Memory Buffer Window, Google Drive +8
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