{
  "name": "Personalize resumes & cover letters with AI, GitHub Pages and Google Drive",
  "nodes": [
    {
      "id": "3ba543ec-62cb-4dd6-bd11-cd625dbfdbe3",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -320,
        208
      ]
    },
    {
      "id": "f96a1856-6ff4-4304-b6ae-ff497392eed2",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -272,
        1152
      ]
    },
    {
      "id": "6c30b321-16ee-4540-8f69-b4b10dda1292",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -320,
        1376
      ]
    },
    {
      "id": "1c6f3c2f-996a-436e-ad9c-adce7b64875a",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -192,
        1376
      ]
    },
    {
      "id": "be71fb62-719d-4cbb-9c41-be6438f97e18",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -64,
        1376
      ]
    },
    {
      "id": "b08a88e5-0ec8-407f-a230-08ab97c0c1ec",
      "name": "Insert row",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        144,
        1152
      ]
    },
    {
      "id": "66b3e574-4da5-4e4c-9012-d98bc15eba52",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -208,
        544
      ]
    },
    {
      "id": "12f2baf2-f14b-4e84-b8a0-67cf3cb7053d",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -320,
        768
      ]
    },
    {
      "id": "ed668501-c588-48c2-9dcb-ea2c5277f97c",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -192,
        768
      ]
    },
    {
      "id": "db7a86f1-dfbc-4b25-bbd7-39a47ca74d42",
      "name": "experience table",
      "type": "n8n-nodes-base.dataTableTool",
      "position": [
        -64,
        768
      ]
    },
    {
      "id": "d69e9a32-9769-476d-9f94-c64c9f25687c",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        880,
        656
      ]
    },
    {
      "id": "4c0b027e-9e1f-4327-88d8-feab5efb824b",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        128,
        208
      ]
    },
    {
      "id": "ce6bb6f0-7b8f-42b2-bc28-dbcad6cd0cc0",
      "name": "Upload file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -96,
        208
      ]
    },
    {
      "id": "ef72e3a6-aca5-4931-8805-e76dc1000556",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        352,
        208
      ]
    },
    {
      "id": "a7497b30-26ed-405f-9417-cb0c31dcbb45",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -544,
        1152
      ]
    },
    {
      "id": "e73b3a9d-ea8f-44b7-94af-585ed3c9788e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        960
      ],
      "parameters": {
        "width": 1040,
        "height": 560,
        "content": "## Experience Input Agent\n\nThis agent is a simple database input tool for recording your experiences.  \nThe stored data can then be used by the main agent for **RAG (Retrieval-Augmented Generation)**."
      }
    },
    {
      "id": "eafb9833-a865-43bb-ae73-74e3d0a507db",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -544,
        592
      ]
    },
    {
      "id": "977d5a7a-478a-430f-af1d-ef818fe056c6",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        96
      ],
      "parameters": {
        "width": 1184,
        "height": 288,
        "content": "## Resume Download and Link Transfer\n\nThis workflow downloads the crafted resume, uploads it to Google Drive, and adds the download link to a sheet.\n"
      }
    },
    {
      "id": "7df0a64b-f251-4e43-94c3-f757fe7f86e9",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -512,
        208
      ]
    },
    {
      "id": "5e7da90c-db6c-4d45-8d7b-0f81019a1fbe",
      "name": "style.css",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        416
      ],
      "parameters": {
        "width": 1696,
        "height": 512,
        "content": "## Job Analyst Agent (Main)\n\nThis is the main agent responsible for analyzing job descriptions, generating cover letters, and creating personalized resumes.\n"
      }
    },
    {
      "id": "51668f0e-825f-47d9-9377-5334f16c9ab9",
      "name": "JSON Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        64,
        768
      ]
    },
    {
      "id": "cb28789d-0675-4f15-aaa3-ba6f0db75316",
      "name": "github",
      "type": "n8n-nodes-base.github",
      "position": [
        688,
        656
      ]
    },
    {
      "id": "0b427fa3-4612-40ec-a139-404738acfe9d",
      "name": "HTML code",
      "type": "n8n-nodes-base.html",
      "position": [
        496,
        656
      ]
    },
    {
      "id": "c801830f-6fb9-464d-9509-e8629f6d722c",
      "name": "change JSON to HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        272,
        656
      ]
    },
    {
      "id": "c122c601-741b-4ee4-b005-3ffa18cea1cb",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        528,
        1216
      ]
    },
    {
      "id": "ee9faca1-649e-45ed-99c2-780398c076d7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        960
      ],
      "parameters": {
        "width": 1152,
        "height": 416,
        "content": "## GITHUB SETUP\nRun this once to add **style.css** to the GitHub repository.\n\n## Note\n\nReplace `<your_webhook_url>` at the end of the **notify-n8n.yml** in set node with your actual n8n webhook URL.\n"
      }
    },
    {
      "id": "9f8e5e61-65f6-4df7-9a1a-76aad7ba4479",
      "name": "style.css1",
      "type": "n8n-nodes-base.github",
      "position": [
        976,
        1216
      ]
    },
    {
      "id": "09b59cb1-78e6-48e5-9fc9-7b6cd1331505",
      "name": "css +yml code",
      "type": "n8n-nodes-base.set",
      "position": [
        752,
        1216
      ]
    },
    {
      "id": "588cea32-465d-464d-a1e7-60d6fe3293bb",
      "name": "index.html setup",
      "type": "n8n-nodes-base.github",
      "position": [
        1200,
        1216
      ]
    },
    {
      "id": "af933dd6-1a3a-4887-96f5-16f9f963bbe9",
      "name": "yml setup",
      "type": "n8n-nodes-base.github",
      "position": [
        1424,
        1216
      ]
    },
    {
      "id": "d616be1b-9745-4449-8838-467ae97036fa",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        544
      ],
      "parameters": {
        "width": null,
        "height": 272,
        "content": "## HTML template\nEdit this to your liking can use llm to help found where can be edited\n"
      }
    }
  ],
  "connections": {
    "github": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Insert row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1": {
      "main": [
        [
          {
            "node": "change JSON to HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML code": {
      "main": [
        [
          {
            "node": "github",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "style.css1": {
      "main": [
        [
          {
            "node": "index.html setup",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JSON Output": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "css +yml code": {
      "main": [
        [
          {
            "node": "style.css1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "AI Agent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "experience table": {
      "ai_tool": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "index.html setup": {
      "main": [
        [
          {
            "node": "yml setup",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "change JSON to HTML": {
      "main": [
        [
          {
            "node": "HTML code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "css +yml code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}