{"workflow":{"id":14667,"name":"Evaluate job fit and generate application assets from Telegram links with OpenAI, Pinecone, Apify and Google Sheets","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-03T07:17:15.643Z","description":"## Summary\nThis workflow automates the early-stage job application process using AI.\n\nIt:\n- accepts a job link from Telegram\n- extracts and normalizes the URL\n- scrapes the job page\n- evaluates job fit against resume context stored in Pinecone\n- asks for user approval if the role is a good match\n- generates application materials like:\n  - cover letter\n  - recruiter email draft\n  - resume improvement suggestions\n- logs the application in Google Sheets\n- creates supporting files in Google Drive\n- sends status updates back on Telegram\n\n## Why this is useful\nThis helps reduce the manual effort involved in checking roles, deciding whether to apply, and preparing customized application material.\n\n## Stack used\n- n8n\n- Telegram\n- OpenAI\n- Pinecone\n- Apify\n- Google Sheets\n- Google Drive\n- Gmail\n\n## Workflow overview\n1. User sends a job link on Telegram\n2. AI extracts and validates the link\n3. Job page is scraped and normalized\n4. Resume context is retrieved from Pinecone\n5. AI calculates fit score\n6. If fit is low, user gets a rejection message\n7. If fit is good, user is asked for approval\n8. On approval, the workflow generates application assets\n9. A tracker entry is added and the user gets a final update\n\n## Notes\n- Resume data is retrieved from a vector database\n- Application materials are generated only after approval\n- The workflow is designed to be modular and can be extended with auto-apply, ATS scoring, or multi-channel alerts later","workflow":{"meta":{"instanceId":"de61b7c9fab1458ac5f4c94072f7f436776044da37bcfe191b8b7eb38df97f64","templateId":"13868","templateCredsSetupCompleted":true},"nodes":[{"id":"1708dc60-dae0-4ee2-a628-b71d39d2f549","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[5216,5120],"parameters":{"color":7,"height":304,"content":"## Job tracking\n\nLogs the application's journey into Google Sheets."},"typeVersion":1},{"id":"f36c601d-2fdf-4933-b74f-ef5ac9262917","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[5488,4784],"parameters":{"color":7,"width":976,"height":624,"content":"## Final application steps\n\nConcludes the application by creating a cover letter and notifying HR via email and Telegram."},"typeVersion":1},{"id":"17a1f8ac-d2c0-4900-b954-79a386482a58","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[2480,5040],"parameters":{"color":7,"width":1776,"height":832,"content":"## Miscellaneous\n\nHandles default data loading, Google Drive operations and initial setups."},"typeVersion":1},{"id":"a2d6c794-af73-44b2-8a7b-364d75b40fb5","name":"Save Profile Vectors to Pinecone","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[2784,5152],"parameters":{"mode":"insert","options":{"pineconeNamespace":"resume-profile"},"pineconeIndex":{"__rl":true,"mode":"list","value":"resume-profile","cachedResultName":"resume-profile"}},"typeVersion":1.3},{"id":"65b39149-b06c-4af9-9771-cdc9f5b3921a","name":"Load Document Data","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[2816,5488],"parameters":{"options":{},"dataType":"binary","textSplittingMode":"custom"},"typeVersion":1.1},{"id":"ed9f59f6-3594-49c9-a15f-8e582d1536b6","name":"Download File from Google Drive","type":"n8n-nodes-base.googleDrive","position":[2528,5152],"parameters":{"fileId":{"__rl":true,"mode":"list","value":"","cachedResultUrl":"","cachedResultName":"my_resume.docx"},"options":{},"operation":"download"},"typeVersion":3},{"id":"ce6c0f00-2d9d-4efb-8b5f-95e280e9ac54","name":"Create OpenAI Embeddings","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[2544,5520],"parameters":{"options":{}},"typeVersion":1.2},{"id":"31b6a50f-9e31-499a-a95a-b041e9a364bf","name":"Recursive Text Splitter","type":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","position":[2816,5712],"parameters":{"options":{}},"typeVersion":1},{"id":"3045acf9-12bc-4bcf-903e-2f40b4115031","name":"Telegram URL Trigger","type":"n8n-nodes-base.telegramTrigger","position":[1712,4272],"webhookId":"030fc2f1-2501-447f-b270-761eab793121","parameters":{"updates":"={{ [\"message\"] }}","additionalFields":{}},"credentials":{"telegramApi":{"id":"nNQEdnUrhvNhYHin","name":"Telegram account"}},"typeVersion":1.2},{"id":"f77ba42e-36d7-4e54-bbc1-8b88aa85920c","name":"Analyze URL Contents","type":"@n8n/n8n-nodes-langchain.agent","position":[2016,4272],"parameters":{"text":"={{ $json.message.text }}","options":{"systemMessage":"You are a Telegram-based AI job assistant inside an n8n workflow.\n\nYour job:\n1. Understand the user's message\n2. Reply in a natural, helpful, human-readable way\n3. Extract a job link if present\n4. Normalize the link so it starts with https://\n5. Return structured JSON for workflow routing\n\nRules:\n- Always respond politely and clearly in reply_message\n- Detect whether the user has shared a job link\n- A valid job link contains a domain and may or may not start with http/https\n- If the link does not start with http/https, prepend https://\n- If multiple links exist, pick the most relevant one\n- If no link is found, return job_link as an empty string\n\nReturn STRICT JSON only in this format:\n{\n  \"job_link\": \"<normalized_link_or_empty>\",\n  \"has_job_link\": true,\n  \"reply_message\": \"<short friendly response>\"\n}\n\nIf no valid job link is found, return:\n{\n  \"job_link\": \"\",\n  \"has_job_link\": false,\n  \"reply_message\": \"Please send a job link you want me to analyze.\"\n}\n\nNever return anything outside JSON. Keep reply_message short and friendly. Do not hallucinate links."},"promptType":"define"},"typeVersion":3.1},{"id":"1f214203-a7e1-4b06-8ce7-a33aacf8f7d9","name":"Construct Input Variables","type":"n8n-nodes-base.code","position":[2400,4272],"parameters":{"jsCode":"const raw = $json.output;\n\ntry {\n  const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;\n  return [{ json: parsed }];\n} catch (error) {\n  return [{\n    json: {\n      job_link: '',\n      has_job_link: false,\n      reply_message: 'Please send a valid job link you want me to analyze.',\n      parse_error: String(error),\n      raw_output: raw\n    }\n  }];\n}"},"typeVersion":2},{"id":"bc8a4b21-960f-46c6-906c-10c4acee39a1","name":"Send URL Confirmation on Telegram","type":"n8n-nodes-base.telegram","position":[2608,4288],"webhookId":"b1f1e90e-6153-4e0c-80dc-4d485894ac98","parameters":{"text":"={{ $json.reply_message }}","chatId":"={{ $('Telegram URL Trigger').item.json.message.chat.id }}","additionalFields":{}},"credentials":{"telegramApi":{"id":"nNQEdnUrhvNhYHin","name":"Telegram account"}},"typeVersion":1},{"id":"a928d625-c849-4198-a9c3-784d373acc20","name":"Switch by URL Validity","type":"n8n-nodes-base.switch","position":[2832,4288],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"bb058ba2-f2c5-4bd7-9f6f-573dff4124c2","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('Construct Input Variables').item.json.has_job_link }}","rightValue":""}]}}]},"options":{}},"typeVersion":3.4},{"id":"3316095c-a975-4d19-9584-15391f03128e","name":"Extract Content with Apify","type":"@apify/n8n-nodes-apify.apify","position":[3056,4288],"parameters":{"actorId":{"__rl":true,"mode":"id","value":"=apify~web-scraper"},"timeout":{},"customBody":"={{ ({\n    breakpointLocation: 'NONE',\n    browserLog: false,\n    closeCookieModals: false,\n    debugLog: false,\n    downloadCss: true,\n    downloadMedia: true,\n    excludes: [\n      {\n        glob: '/**/*.{png,jpg,jpeg,pdf}'\n      }\n    ],\n    headless: true,\n    ignoreCorsAndCsp: false,\n    ignoreSslErrors: false,\n    injectJQuery: true,\n    keepUrlFragments: false,\n    linkSelector: 'a[href]',\n    pageFunction: `async function pageFunction(context) {\n      const $ = context.jQuery;\n      const pageTitle = $('title').first().text();\n      const h1 = $('h1').first().text();\n      const first_h2 = $('h2').first().text();\n      const random_text_from_the_page = $('p').first().text();\n\n      context.log.info('URL: ' + context.request.url + ', TITLE: ' + pageTitle);\n\n      return {\n        url: context.request.url,\n        pageTitle,\n        h1,\n        first_h2,\n        random_text_from_the_page\n      };\n    }`,\n    postNavigationHooks: `[\n      async (crawlingContext) => {\n      },\n    ]`,\n    preNavigationHooks: `[\n      async (crawlingContext, gotoOptions) => {\n      },\n    ]`,\n    proxyConfiguration: {\n      useApifyProxy: true\n    },\n    respectRobotsTxtFile: true,\n    runMode: 'PRODUCTION',\n    startUrls: [\n      {\n        url: $json.job_link\n      }\n    ],\n    useChrome: false,\n    waitUntil: ['networkidle2']\n  }) }}","actorSource":"store","authentication":"apifyOAuth2Api"},"typeVersion":1},{"id":"f155a0a0-f367-44c0-aeca-740b406d0316","name":"Transform Job Data Format","type":"n8n-nodes-base.code","position":[3552,4288],"parameters":{"jsCode":"const data = $json;\n\nfunction stringifyValue(value) {\n  if (value === null || value === undefined) return '';\n  if (typeof value === 'string') return value;\n  if (typeof value === 'number' || typeof value === 'boolean') return String(value);\n  if (Array.isArray(value)) return value.map(stringifyValue).join('\\n');\n  if (typeof value === 'object') {\n    return Object.entries(value)\n      .map(([k, v]) => `${k}: ${stringifyValue(v)}`)\n      .join('\\n');\n  }\n  return '';\n}\n\nconst combinedText = Object.entries(data)\n  .map(([key, value]) => `${key}: ${stringifyValue(value)}`)\n  .join('\\n\\n')\n  .replace(/\\n{3,}/g, '\\n\\n')\n  .trim();\n\nreturn [\n  {\n    json: {\n      source_url: data.url || '',\n      source_title: data.title || '',\n      unified_job_text: combinedText\n    }\n  }\n];"},"typeVersion":2},{"id":"639361bd-0f36-480d-a746-9d4f0338e643","name":"OpenAI URL Parsing Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1984,4544],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"JsOzzSGPqYuYTh6v","name":"OpenAI account"}},"typeVersion":1.3},{"id":"8595c1bc-4d88-4677-a33e-63cf8d829e4d","name":"Retrieve Job Content with Apify","type":"@apify/n8n-nodes-apify.apify","position":[3328,4288],"parameters":{"offset":{},"options":{},"resource":"Datasets","datasetId":"={{ $json.defaultDatasetId }}","authentication":"apifyOAuth2Api"},"typeVersion":1},{"id":"13183ba7-0956-44ef-a079-ae4fbb5e0787","name":"Assess Job-Fit Suitability","type":"@n8n/n8n-nodes-langchain.agent","position":[3872,4288],"parameters":{"text":"={{ $json.unified_job_text }}","options":{"systemMessage":"You are a job-fit evaluator.\n\nYou will be given:\n1. Relevant resume context retrieved from a vector database (Pinecone)\n2. A job description extracted from a web page\n\nYour task:\n- Analyze whether the candidate is a good fit for the job\n- Use only the provided resume context tool named Resume Info\n- Be practical and realistic, not overly strict\n\nDecision rules:\n- If fit_score is 70 or higher, the candidate is a good fit\n- If fit_score is below 70, the candidate is not a good fit\n\nReturn ONLY valid JSON in this exact format:\n{\n  \"is_fit\": true,\n  \"fit_score\": 0,\n  \"job_role\": \"\",\n  \"company\": \"\",\n  \"main_reasons_for_fit\": [],\n  \"main_reasons_not_fit\": [],\n  \"short_user_message\": \"\",\n  \"next_step\": \"ask_approval\"\n}\n\nField rules:\n- fit_score must be an integer from 0 to 100\n- job_role should be extracted from the job description\n- company should be extracted if possible, otherwise return an empty string\n- main_reasons_for_fit should contain up to 4 short bullet-style points\n- main_reasons_not_fit should contain up to 4 short bullet-style points\n- short_user_message should briefly explain the outcome\n- next_step must be ask_approval if is_fit is true, otherwise reject_job\n\nImportant:\n- Do not hallucinate experience\n- Do not assume skills not present in the resume context\n- Keep reasoning concise\n- Focus on skills, experience, and role alignment"},"promptType":"define"},"typeVersion":3.1},{"id":"2621f263-f57b-4dfa-887d-9f3294d02516","name":"Compile Fit Analysis Report","type":"n8n-nodes-base.code","position":[4272,4288],"parameters":{"jsCode":"const raw = $json.output || $json.text || $json.response || $json;\n\nlet parsed = raw;\n\nif (typeof raw === 'string') {\n  parsed = JSON.parse(raw);\n}\n\nif (raw?.content && typeof raw.content === 'string') {\n  parsed = JSON.parse(raw.content);\n}\n\nreturn [\n  {\n    json: parsed\n  }\n];"},"typeVersion":2},{"id":"eded179b-fcd7-4546-99d8-e13372513710","name":"Decide on Fit Status","type":"n8n-nodes-base.switch","position":[4528,4288],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d56d410f-3ce0-4347-b29a-960cecc99560","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.is_fit }}","rightValue":true}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2d5ab9ad-de4a-47d5-ab88-242d9df5895d","operator":{"type":"boolean","operation":"false","singleValue":true},"leftValue":"={{ $json.is_fit }}","rightValue":""}]}}]},"options":{}},"typeVersion":3.4},{"id":"3abf291c-2986-4d06-aa51-d3b29fdcfe61","name":"Send Rejection Notice on Telegram","type":"n8n-nodes-base.telegram","position":[4832,4608],"webhookId":"52cfc6a7-1785-4fa6-b286-57c41079843b","parameters":{"text":"={{ 'Your Fit Score for this job is ' + $('Compile Fit Analysis Report').item.json.fit_score + '\\n' + $json.short_user_message }}","chatId":"={{ $('Receive Job Input').item.json.message.chat.id }}","additionalFields":{}},"typeVersion":1},{"id":"60845d88-3a97-4c23-b4aa-e39d933158a9","name":"Seek Job Approval via Telegram","type":"n8n-nodes-base.telegram","position":[4336,4960],"webhookId":"9e561ef1-959b-4a63-8af0-08b3b541b106","parameters":{"chatId":"={{ $('Receive Job Input').item.json.message.chat.id }}","message":"={{ 'Your job fit-score for this role is ' + $json.fit_score + '!\\n' + $json.short_user_message }}","options":{},"operation":"sendAndWait","approvalOptions":{"values":{"approvalType":"double","disapproveLabel":"❌ Skip"}}},"typeVersion":1},{"id":"5d8b9ce7-3ab6-404c-ad0a-838ee7ba05df","name":"Route by Approval Status","type":"n8n-nodes-base.switch","position":[4720,5280],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"f7357332-4534-46af-9d0d-1e334d27cec6","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.data.approved }}","rightValue":true}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"da35c172-e645-412b-9aa9-19bb5e47394a","operator":{"type":"boolean","operation":"false","singleValue":true},"leftValue":"={{ $json.data.approved }}","rightValue":""}]}}]},"options":{}},"typeVersion":3.4},{"id":"9e22d5ba-a6d7-4dbf-9411-e2838550337f","name":"Prepare Application Kit","type":"@n8n/n8n-nodes-langchain.agent","position":[4608,5856],"parameters":{"text":"={{ $('Normalize Job Data').item.json.unified_job_text }}","options":{"systemMessage":"={{ `You are a job application assistant for an n8n workflow.\n\nYou will be given:\n1. Relevant resume context retrieved from Pinecone\n2. Job data collected from a careers page or scraper\n3. Basic job metadata\n\nYour task:\nGenerate application materials for this role using ONLY the provided resume context.\n\nReturn ONLY valid JSON in this exact format:\n{\n  \"url\": \"\",\n  \"company\": \"\",\n  \"role\": \"\",\n  \"location\": \"\",\n  \"fit_score\": 0,\n  \"approval_status\": \"approved\",\n  \"candidate_name\": \"\",\n  \"cover_letter\": \"\",\n  \"hr_email_subject\": \"\",\n  \"hr_email_body\": \"\",\n  \"resume_improvement_suggestions\": [],\n  \"user_message\": \"\"\n}\n\nField rules:\n- url: copy exactly from input\n- company: copy from input if provided, otherwise extract if clearly available, else empty string\n- role: copy from input if provided, otherwise extract if clearly available, else empty string\n- location: copy from input if provided, otherwise extract if clearly available, else empty string\n- fit_score: copy exactly from input\n- approval_status: always return \"approved\"\n- candidate_name: derive from the resume context if clearly available, otherwise use ${$('Receive Job Input').item.json.message.chat.first_name || ''} ${$('Receive Job Input').item.json.message.chat.last_name || ''}\n\nGeneration rules:\n- cover_letter: professional and concise, 220 to 300 words, tailored to the company and role\n- hr_email_subject: short and professional\n- hr_email_body: concise recruiter email mentioning interest and strongest fit\n- resume_improvement_suggestions: 4 to 6 short actionable bullet points focused on this job\n- user_message: short user update mentioning company, role, and generated materials\n\nImportant rules:\n- Use ONLY the provided resume context\n- Do NOT invent experience, skills, or names\n- Keep outputs clean and directly usable\n- Return only valid JSON\n\nInput fields:\nurl: ${$json.source_url || ''}\ncompany: ${$('Compile Fit Analysis Report').item.json.company || ''}\nrole: ${$('Compile Fit Analysis Report').item.json.job_role || ''}\nlocation: ${$json.location || ''}\nfit_score: ${$('Compile Fit Analysis Report').item.json.fit_score || 0}\n\nJob data:\n${$('Normalize Job Data').item.json.unified_job_text || ''}` }}"},"promptType":"define"},"typeVersion":3.1},{"id":"9ecbb3d0-ed4d-4c59-89d0-3ef19d195565","name":"Telegram Status Update","type":"n8n-nodes-base.telegram","position":[4336,5856],"webhookId":"42e4605d-675b-42b9-aec2-df84a1e1409e","parameters":{"text":"Great 👍 Starting your application process for this role.\n\nI will now:\n- Create a tracker entry\n- Tailor your resume\n- Generate a cover letter\n- Draft an email for the recruiter\n\nI’ll update you once everything is ready 🚀","chatId":"={{ $('Receive Job Input').item.json.message.chat.id }}","additionalFields":{}},"typeVersion":1},{"id":"9c3c521b-a10f-4a9d-b48a-8bb765e6733e","name":"Create Material Summary Report","type":"n8n-nodes-base.code","position":[5056,5584],"parameters":{"jsCode":"const raw = $json.output || $json.text || $json.response || $json;\n\nlet parsed = raw;\n\nif (typeof raw === 'string') {\n  parsed = JSON.parse(raw);\n}\n\nif (raw?.content && typeof raw.content === 'string') {\n  parsed = JSON.parse(raw.content);\n}\n\nreturn [\n  {\n    json: parsed\n  }\n];"},"typeVersion":2},{"id":"82c5ac83-7ecc-4cd4-9c3e-3ee8ac9eb3ae","name":"Add Entry to Job Tracker Sheets","type":"n8n-nodes-base.googleSheets","position":[5264,5248],"parameters":{"columns":{"value":{"Role":"={{ $('Compile Fit Analysis Report').item.json.job_role }}","Company":"={{ $('Compile Fit Analysis Report').item.json.company }}","Job Url":"={{ $json.url }}","Location":"={{ $json.location }}","Fit Score":"={{ $('Compile Fit Analysis Report').item.json.fit_score }}","Approval Status":"={{ $json.approval_status }}","Resume Improvement Suggestions":"={{ $json.resume_improvement_suggestions }}"},"schema":[{"id":"Company","type":"string","display":true,"removed":false,"required":false,"displayName":"Company","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Role","type":"string","display":true,"removed":false,"required":false,"displayName":"Role","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Url","type":"string","display":true,"removed":false,"required":false,"displayName":"Job Url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Location","type":"string","display":true,"removed":false,"required":false,"displayName":"Location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Fit Score","type":"string","display":true,"removed":false,"required":false,"displayName":"Fit Score","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Approval Status","type":"string","display":true,"removed":false,"required":false,"displayName":"Approval Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Resume Improvement Suggestions","type":"string","display":true,"removed":false,"required":false,"displayName":"Resume Improvement Suggestions","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"","cachedResultName":"Jobs"},"documentId":{"__rl":true,"mode":"list","value":"","cachedResultUrl":"","cachedResultName":"Application Tracker"}},"typeVersion":4.7},{"id":"efd25510-24d3-4594-90d4-933a3f4c6ba1","name":"Draft Cover Letter in Google Drive","type":"n8n-nodes-base.googleDrive","position":[5920,5248],"parameters":{"name":"cover_letter","content":"={{ $('Create Material Summary Report').item.json.cover_letter }}","driveId":{"__rl":true,"mode":"list","value":"My Drive","cachedResultUrl":"https://drive.google.com/drive/my-drive","cachedResultName":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"list","value":"","cachedResultUrl":"","cachedResultName":"Cover Letter"},"operation":"createFromText"},"typeVersion":3},{"id":"ab2d2a74-7b72-47a6-be39-b694263e868e","name":"Compose Email to HR","type":"n8n-nodes-base.gmail","position":[6128,5248],"webhookId":"45818a3f-e3c8-4ffb-8c7d-32a5e3bb8da1","parameters":{"message":"={{ $('Create Material Summary Report').item.json.hr_email_body }}","options":{},"subject":"={{ $('Create Material Summary Report').item.json.hr_email_subject }}","resource":"draft"},"typeVersion":2.2},{"id":"590c2238-4711-4513-bcda-672beefbb82d","name":"Telegram Final Job Notification","type":"n8n-nodes-base.telegram","position":[6320,5248],"webhookId":"e2994f14-fe84-4fea-a53c-ab0141007c86","parameters":{"text":"={{ $('Create Material Summary Report').item.json.user_message }}","chatId":"={{ $('Receive Job Input').item.json.message.chat.id }}","additionalFields":{}},"typeVersion":1},{"id":"04edd03a-15f0-4086-9be6-6a54ff78d0f9","name":"Save Resume Data to Pinecone","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[4656,6224],"parameters":{"mode":"retrieve-as-tool","options":{"pineconeNamespace":"resume-profile"},"pineconeIndex":{"__rl":true,"mode":"list","value":"resume-profile","cachedResultName":"resume-profile"},"toolDescription":"Work with the data in pinecone vector store to provide answer the the queries "},"typeVersion":1.3},{"id":"9bd8f59d-829b-49a7-b89a-7c2e72d10e51","name":"Generate Resume Embeddings","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[4112,5680],"parameters":{"options":{}},"typeVersion":1.2},{"id":"af7b2749-7b18-440c-9dd9-7d9bb52e6440","name":"Send Acknowledgment Message","type":"n8n-nodes-base.telegram","position":[5536,4896],"webhookId":"b9a709fa-94e6-47ba-abc6-df9438047d97","parameters":{"text":"Noted, Please share another job link ","chatId":"={{ $('Receive Job Input').item.json.message.chat.id }}","additionalFields":{}},"typeVersion":1},{"id":"39e27186-adc2-40cb-8d83-7e0933ef44a0","name":"Produce Embeddings for Resume","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[4064,5264],"parameters":{"options":{}},"typeVersion":1.2},{"id":"b226ef66-b777-47b7-be60-4535d11dfa7e","name":"GPT-5 Chat for Compatibility","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[3856,4528],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini"},"options":{},"builtInTools":{}},"typeVersion":1.3},{"id":"738ae90a-e563-4114-bdc6-c7bc960760da","name":"GPT-5 Chat for Application Kit","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[4528,6064],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini"},"options":{},"builtInTools":{}},"typeVersion":1.3},{"id":"d6f74b0e-7e05-4510-b463-2cd872961592","name":"Save Detailed Resume to Pinecone","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[3936,4656],"parameters":{"mode":"retrieve-as-tool","options":{"pineconeNamespace":"resume-profile"},"pineconeIndex":{"__rl":true,"mode":"list","value":"resume-profile","cachedResultName":"resume-profile"},"toolDescription":"Work with the data in vector store for analysing the query by the agent"},"typeVersion":1.3},{"id":"0574efd9-aa67-46e1-ac65-244badf40af8","name":"Sticky Note16","type":"n8n-nodes-base.stickyNote","position":[1104,4144],"parameters":{"width":480,"height":1040,"content":"# Job Application Automation Workflow\n\n## How it works\n\n1. The workflow is triggered when a user sends a job link via Telegram.  \n2. An AI agent processes the message to extract and normalize the job URL.  \n3. The system acknowledges the user and validates whether a valid job link was provided.  \n4. If valid, the workflow scrapes the job page using Apify and extracts relevant job details.  \n5. The scraped data is cleaned and standardized into a unified job description format.  \n6. Another AI agent evaluates the candidate’s fit for the job using resume data from a vector database.  \n7. Based on the fit score:  \n   - If not a good fit → a rejection message is sent via Telegram  \n   - If a good fit → the user is asked for approval to proceed  \n8. Upon approval:  \n   - Application materials (cover letter, email, etc.) are generated using AI  \n   - A job entry is added to Google Sheets (application tracker)  \n   - A cover letter file is created in Google Drive  \n   - A draft email to HR is generated in Gmail  \n9. Finally, the user receives a Telegram update confirming completion of the process.  \n\n---\n\n## Setup steps\n\n- [ ] Configure Telegram Bot API for receiving and sending messages  \n- [ ] Set up OpenAI API credentials for AI agents and embeddings  \n- [ ] Connect Apify for job page scraping  \n- [ ] Configure Pinecone (or vector DB) for resume retrieval  \n- [ ] Connect Google Sheets for application tracking  \n- [ ] Set up Google Drive for file creation  \n- [ ] Configure Gmail API for drafting recruiter emails  \n\n---\n\n## Customization\n\n- Modify AI prompts to adjust job parsing, fit evaluation, and content generation  \n- Customize fit score thresholds and decision logic  \n- Adjust scraping logic based on different job platforms  \n- Extend tracker fields in Google Sheets as needed  \n- Personalize generated emails and cover letters  "},"typeVersion":1},{"id":"d4b6bd64-cae6-4fdd-9d3a-e788ca612489","name":"Sticky Note29","type":"n8n-nodes-base.stickyNote","position":[1664,4144],"parameters":{"color":7,"height":304,"content":"## Telegram URL reception\n\nTriggers when a URL is received via Telegram."},"typeVersion":1},{"id":"3dd8e5ec-4b58-4c03-b1f1-3335be7c4c82","name":"Sticky Note30","type":"n8n-nodes-base.stickyNote","position":[1936,4160],"parameters":{"color":7,"width":1040,"height":528,"content":"## URL analysis and validation\n\nAI analyzes the URL to build and confirm job data inputs."},"typeVersion":1},{"id":"2917eef9-eba6-4a4b-a7b5-7a9b314f63c1","name":"Sticky Note31","type":"n8n-nodes-base.stickyNote","position":[3008,4160],"parameters":{"color":7,"height":304,"content":"## Job data extraction\n\nExtracts job content if the URL is valid."},"typeVersion":1},{"id":"55754cd9-cf37-4feb-aeee-7ea0eea27ca4","name":"Sticky Note32","type":"n8n-nodes-base.stickyNote","position":[3280,4160],"parameters":{"color":7,"width":416,"height":304,"content":"## Data formatting and evaluation\n\nFormats the extracted data and evaluates job compatibility using AI."},"typeVersion":1},{"id":"6b4849d6-55a5-4799-b947-aa2113e9798a","name":"Sticky Note33","type":"n8n-nodes-base.stickyNote","position":[3808,4176],"parameters":{"color":7,"width":608,"height":624,"content":"## Job compatibility evaluation\n\nAI evaluates the job compatibility, generating a fit report."},"typeVersion":1},{"id":"46814b4d-0956-44c1-bda2-3d6fc530e4cc","name":"Sticky Note34","type":"n8n-nodes-base.stickyNote","position":[4480,4160],"parameters":{"color":7,"width":496,"height":624,"content":"## Fit outcome determination\n\nDecides the outcome based on the fit report and notifies the rejection via Telegram."},"typeVersion":1},{"id":"326aeaba-cb33-4a00-af6f-aeb2fec8a259","name":"Sticky Note35","type":"n8n-nodes-base.stickyNote","position":[4288,4848],"parameters":{"color":7,"width":576,"height":592,"content":"## Job approval process\n\nSends and directs approval requests based on evaluation."},"typeVersion":1},{"id":"94d99364-8ae2-4020-8a24-e33bf0176e42","name":"Sticky Note36","type":"n8n-nodes-base.stickyNote","position":[4288,5472],"parameters":{"color":7,"width":912,"height":896,"content":"## Application material creation\n\nAI generates and manages application kits post-approval."},"typeVersion":1}],"pinData":{},"connections":{"Load Document Data":{"ai_document":[[{"node":"Save Profile Vectors to Pinecone","type":"ai_document","index":0}]]},"Compose Email to HR":{"main":[[{"node":"Telegram Final Job Notification","type":"main","index":0}]]},"Analyze URL Contents":{"main":[[{"node":"Construct Input Variables","type":"main","index":0}]]},"Decide on Fit Status":{"main":[[{"node":"Seek Job Approval via Telegram","type":"main","index":0}],[{"node":"Send Rejection Notice on Telegram","type":"main","index":0}]]},"Telegram URL Trigger":{"main":[[{"node":"Analyze URL Contents","type":"main","index":0}]]},"Switch by URL Validity":{"main":[[{"node":"Extract Content with Apify","type":"main","index":0}]]},"Telegram Status Update":{"main":[[{"node":"Prepare Application Kit","type":"main","index":0}]]},"Prepare Application Kit":{"main":[[{"node":"Create Material Summary Report","type":"main","index":0}]]},"Recursive Text Splitter":{"ai_textSplitter":[[{"node":"Load Document Data","type":"ai_textSplitter","index":0}]]},"Create OpenAI Embeddings":{"ai_embedding":[[{"node":"Save Profile Vectors to Pinecone","type":"ai_embedding","index":0}]]},"OpenAI URL Parsing Agent":{"ai_languageModel":[[{"node":"Analyze URL Contents","type":"ai_languageModel","index":0}]]},"Route by Approval Status":{"main":[[{"node":"Telegram Status Update","type":"main","index":0}],[{"node":"Send Acknowledgment Message","type":"main","index":0}]]},"Construct Input Variables":{"main":[[{"node":"Send URL Confirmation on Telegram","type":"main","index":0}]]},"Transform Job Data Format":{"main":[[{"node":"Assess Job-Fit Suitability","type":"main","index":0}]]},"Assess Job-Fit Suitability":{"main":[[{"node":"Compile Fit Analysis Report","type":"main","index":0}]]},"Extract Content with Apify":{"main":[[{"node":"Retrieve Job Content with Apify","type":"main","index":0}]]},"Generate Resume Embeddings":{"ai_embedding":[[{"node":"Save Resume Data to Pinecone","type":"ai_embedding","index":0}]]},"Compile Fit Analysis Report":{"main":[[{"node":"Decide on Fit Status","type":"main","index":0}]]},"GPT-5 Chat for Compatibility":{"ai_languageModel":[[{"node":"Assess Job-Fit Suitability","type":"ai_languageModel","index":0}]]},"Save Resume Data to Pinecone":{"ai_tool":[[{"node":"Prepare Application Kit","type":"ai_tool","index":0}]]},"Produce Embeddings for Resume":{"ai_embedding":[[{"node":"Save Detailed Resume to Pinecone","type":"ai_embedding","index":0}]]},"Create Material Summary Report":{"main":[[{"node":"Add Entry to Job Tracker Sheets","type":"main","index":0}]]},"GPT-5 Chat for Application Kit":{"ai_languageModel":[[{"node":"Prepare Application Kit","type":"ai_languageModel","index":0}]]},"Seek Job Approval via Telegram":{"main":[[{"node":"Route by Approval Status","type":"main","index":0}]]},"Add Entry to Job Tracker Sheets":{"main":[[{"node":"Draft Cover Letter in Google Drive","type":"main","index":0}]]},"Download File from Google Drive":{"main":[[{"node":"Save Profile Vectors to Pinecone","type":"main","index":0}]]},"Retrieve Job Content with Apify":{"main":[[{"node":"Transform Job Data Format","type":"main","index":0}]]},"Save Detailed Resume to Pinecone":{"ai_tool":[[{"node":"Assess Job-Fit Suitability","type":"ai_tool","index":0}]]},"Send URL Confirmation on Telegram":{"main":[[{"node":"Switch by URL Validity","type":"main","index":0}]]},"Draft Cover Letter in Google Drive":{"main":[[{"node":"Compose Email to HR","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":46,"nodeTypes":{"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.switch":{"count":3},"n8n-nodes-base.telegram":{"count":6},"n8n-nodes-base.stickyNote":{"count":12},"n8n-nodes-base.googleDrive":{"count":2},"n8n-nodes-base.googleSheets":{"count":1},"@apify/n8n-nodes-apify.apify":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":3},"n8n-nodes-base.telegramTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":3},"@n8n/n8n-nodes-langchain.embeddingsOpenAi":{"count":3},"@n8n/n8n-nodes-langchain.vectorStorePinecone":{"count":3},"@n8n/n8n-nodes-langchain.documentDefaultDataLoader":{"count":1},"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Harsh Goyal","username":"codelifewithharsh","bio":"Software Engineer @ Zeta | BITS Pilani ‘24\n\nBuilding AI-powered workflows & agents  \nAutomating real-world problems using n8n, OpenAI & APIs","verified":false,"links":["https://www.linkedin.com/in/code-life-with-harsh/"],"avatar":"https://gravatar.com/avatar/77bdd1aa4c74ac9135932d0a9692e3bd2a284a1494dd7368c543ae494482f93c?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":49,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegram","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Telegram"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":50,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegramTrigger","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Telegram Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1141,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Embeddings"]}}},"group":"[\"transform\"]","defaults":{"name":"Embeddings OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"Embeddings OpenAI","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1191,"icon":"fa:grip-lines-vertical","name":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.textsplitterrecursivecharactertextsplitter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Text Splitters"]}}},"group":"[\"transform\"]","defaults":{"name":"Recursive Character Text Splitter"},"iconData":{"icon":"grip-lines-vertical","type":"icon"},"displayName":"Recursive Character Text Splitter","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1230,"icon":"file:pinecone.svg","name":"@n8n/n8n-nodes-langchain.vectorStorePinecone","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorepinecone/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Vector Stores","Tools","Root Nodes"],"Tools":["Other Tools"],"Vector Stores":["Other Vector Stores"]}}},"group":"[\"transform\"]","defaults":{"name":"Pinecone Vector Store"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzUiIHZpZXdCb3g9IjAgMCAzMiAzNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjg1NTUgMzQuMjk2MkMxNC45MzI1IDM0LjI5NjIgMTUuODA1NSAzMy40NDUxIDE1LjgwNTUgMzIuMzk1NEMxNS44MDU1IDMxLjM0NTYgMTQuOTMyNSAzMC40OTQ2IDEzLjg1NTUgMzAuNDk0NkMxMi43Nzg2IDMwLjQ5NDYgMTEuOTA1NSAzMS4zNDU2IDExLjkwNTUgMzIuMzk1NEMxMS45MDU1IDMzLjQ0NTEgMTIuNzc4NiAzNC4yOTYyIDEzLjg1NTUgMzQuMjk2MloiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xOC40MTM4IDcuMTk2NzVMMTkuMjUxMiAyLjY2MDA1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTIyLjI2NTYgNS41ODU1TDE5LjM0NjYgMi4xMTA5OUwxNS4zNzQ4IDQuMzcyOTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4xMTc4NiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTQuOTIwMiAyNi41NTI4TDE1LjczMzcgMjIuMDE2OSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjExNzg2IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+CjxwYXRoIGQ9Ik0xOC43NzI5IDI0LjkzMDRMMTUuODMgMjEuNDY3MUwxMS44NzAxIDIzLjc0MSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjExNzg2IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNi42MDc3IDE3LjE5OTZMMTcuNDIxMiAxMi42NjMzIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTIwLjQ1ODcgMTUuNThMMTcuNTI3NyAxMi4xMjhMMTMuNTY3OSAxNC4zOTA0IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTguMzI4NzEgMjYuMTU1NEw0Ljc1MTcxIDI4LjU4MTUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wMTAxNyIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNOC41NDM4MyAzMC4wODY1TDQuMzIwOCAyOC44NzM4TDQuNjMxODUgMjQuNTk0NCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjAxMDE3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yMS4zMjEzIDI4LjQyOTlMMjMuODA5NiAzMS45MjgyIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDEwMTciIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTE5LjcxOCAzMi4wNDVMMjQuMTA4NSAzMi4zMzY1TDI1LjM1MjcgMjguMjQzOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjAxMDE3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yNS4zOTk5IDIxLjMyOTFMMjkuNzc4NCAyMi4wOTk2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTI2LjkwNzIgMjUuMDcyTDMwLjMwNDggMjIuMTkxOUwyOC4xNjM0IDE4LjM1NTciIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjQuMTE5NiAxMi44NjE1TDI4LjAxOTcgMTAuNzYzIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTI0LjMzNTcgOC44Mzk2NUwyOC40ODY5IDEwLjUxODhMMjcuNzA5MyAxNC44MjE2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTYuOTE2MzkgMTguMTU3MkwyLjUyNTg4IDE3LjQxMDEiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNNC4xNzczMSAyMS4xNjQ1TDIgMTcuMzI4TDUuMzYxNjcgMTQuNDM2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExLjA3OTkgMTAuNjEyOUw4LjE0ODkzIDcuMzQ3NjkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNMTIuMjg5NyA2Ljc3NDk2TDcuODAzNDkgNi45NjE1Nkw3LjAxMzkyIDExLjI2NDkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K"},"displayName":"Pinecone Vector Store","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1243,"icon":"file:binary.svg","name":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Document Loaders"]}}},"group":"[\"transform\"]","defaults":{"name":"Default Data Loader"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NjgiIGhlaWdodD0iMTAyNCI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTAgOTYwVjY0aDU3NmwxOTIgMTkydjcwNHptNzA0LTY0MEw1MTIgMTI4SDY0djc2OGg2NDB6TTMyMCA1MTJIMTI4VjI1NmgxOTJ6bS02NC0xOTJoLTY0djEyOGg2NHptMCA0NDhoNjR2NjRIMTI4di02NGg2NFY2NDBoLTY0di02NGgxMjh6bTI1Ni0zMjBoNjR2NjRIMzg0di02NGg2NFYzMjBoLTY0di02NGgxMjh6bTY0IDM4NEgzODRWNTc2aDE5MnptLTY0LTE5MmgtNjR2MTI4aDY0eiIvPjwvc3ZnPg=="},"displayName":"Default Data Loader","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":43,"name":"Personal Productivity"},{"id":47,"name":"AI Chatbot"}],"image":[]}}