{"workflow":{"id":14859,"name":"Scrape and qualify HR job leads with Apify, Google Sheets and OpenAI GPT-4o-mini","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-07T11:59:15.092Z","description":"### HR Client Acquisition (Part 1) – Job Lead Discovery & AI Qualification System\n\nThis n8n template helps recruitment agencies discover active job openings, filter them based on hiring relevance, and qualify them using AI — specifically designed for semi-skilled manpower hiring use cases.\n\n### What this template demonstrates\n- Job lead discovery using Apify scraping  \n- Hash-based deduplication to avoid duplicate entries  \n- Batch processing using Split In Batches  \n- Google Sheets as a structured lead database  \n- AI-based lead qualification with strict JSON outputs  \n- Separation between scraping, processing, and scoring  \n\n### Use cases\n- Recruitment agencies sourcing overseas job demand  \n- HR consultancies targeting bulk hiring companies  \n- Manpower supply businesses (semi-skilled labor focus)  \n- Job demand validation before outreach  \n- Building job-based lead pipelines  \n\n### How it works\n- User submits job roles and locations via form  \n- Inputs are expanded into multiple search combinations  \n- Apify scrapes job listings based on these inputs  \n- Jobs are normalized and assigned unique identifiers  \n- Existing jobs in Google Sheets are checked for duplicates  \n- Only new jobs are stored and processed  \n- Missing company data is enriched if required  \n- AI scores each job based on hiring relevance  \n- Jobs are marked as qualified or not qualified  \n- Final results are saved back into Google Sheets  \n\n### How to use\n- Submit job roles and locations using the form trigger  \n- Connect your Apify API credentials  \n- Connect your Google Sheets account  \n- Add your OpenAI API key  \n- Run the workflow in test mode  \n- Check results inside Google Sheets  \n- Adjust scoring logic if needed  \n\n### Requirements\n- n8n (Cloud or Self-hosted)  \n- Apify account for job scraping  \n- Google Sheets for storage  \n- OpenAI or compatible LLM API  \n\n### Customising this workflow\n- Modify job roles to match your niche (e.g., drivers, welders, helpers)  \n- Adjust AI scoring logic for your hiring criteria  \n- Replace Google Sheets with a database if needed  \n- Add filters like salary, visa type, or urgency  \n- Extend workflow for enruching & outreach automation (Part 2)  \n\n### Good to know\n- This template focuses only on job discovery and qualification  \n- It is designed for semi-skilled manpower hiring workflows  \n- AI scoring can be customized for any industry or role  \n- No outreach is performed in this workflow  \n- Works best with consistent job data sources  \n\n### Who this is for\n- Recruitment agencies working with overseas clients  \n- HR consultants sourcing bulk hiring opportunities  \n- Founders building recruitment automation systems  \n- Anyone building a job-based lead generation pipeline  ","workflow":{"meta":{"instanceId":"c7eea7ea6ead2e5c57d61fdba864aa855478d6e6f79a1cbc300854f0bbe2436d","templateCredsSetupCompleted":true},"name":"Job Search Lead Generation Workflow","nodes":[{"id":"eac4c227-44d3-49bd-8a14-953a7df6b376","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-32,128],"parameters":{"width":480,"height":576,"content":"### How it works\n\n1. Captures job search inputs via the form.\n2. Parses inputs and initiates scraper for job listings.\n3. Scrapes jobs and removes duplicates before saving.\n4. Scores jobs using AI and determines lead qualification.\n5. Saves qualified jobs and loops back for next batch.\n\n### Setup steps\n\n- [ ] Ensure Apify API credentials are set for job scraping.\n- [ ] Connect to Google Sheets API for saving and retrieving data.\n- [ ] Configure OpenAI API credentials for AI scoring.\n- [ ] Ensure Gmail API access for sending messages to be configured.\n\n### Customization\n\nAdjust the AI scoring logic in the 'AI Score and Qualify Lead' node to match specific business criteria.\n\n\nMake a copy of Gsheets: https://docs.google.com/spreadsheets/d/1-7nF5jwil_PenpLfLlqlTdDfBj5q4987drCZj2gkLrQ/edit?usp=sharing"},"typeVersion":1},{"id":"99d2484a-dd46-4486-b51e-091021f52fb7","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[560,304],"parameters":{"color":7,"width":384,"height":304,"content":"## Input and parse form\n\nCaptures job search inputs and parses them for further processing."},"typeVersion":1},{"id":"8196d2b0-2269-4940-97ff-f9d3c5bf2d27","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[976,240],"parameters":{"color":7,"height":352,"content":"## Iterate through searches\n\nLoops through parsed search terms and initiates the job scraping process."},"typeVersion":1},{"id":"0761d4da-95a7-4ee6-ace2-9c30c75ee843","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1248,320],"parameters":{"color":7,"width":544,"height":448,"content":"## Scrape jobs and notify\n\nScrapes job listings using Apify and sends notification emails."},"typeVersion":1},{"id":"5348e392-1682-474a-8991-5825d80b1832","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1424,0],"parameters":{"color":7,"width":864,"height":272,"content":"## Flatten, deduplicate, and save\n\nProcesses scraped data, removes duplicates, and saves raw jobs to a sheet."},"typeVersion":1},{"id":"50fad5bf-1db9-4255-bd6a-e1429c8edbbc","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[2352,224],"parameters":{"color":7,"width":384,"height":400,"content":"## Loop each job and check company\n\nIterates through each saved job and checks for company name presence."},"typeVersion":1},{"id":"0969dc55-06b0-4a2f-819e-b711af10ceae","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[2768,80],"parameters":{"color":7,"width":368,"height":304,"content":"## Company name validation\n\nValidates the presence of a company name and saves non-qualified jobs."},"typeVersion":1},{"id":"55d5679f-9248-4f44-b516-8a29760c99f2","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[3168,192],"parameters":{"color":7,"width":1312,"height":496,"content":"## AI score and lead qualification\n\nScores jobs using AI and determines lead qualification, saving qualified leads."},"typeVersion":1},{"id":"ebe65da7-02d2-4481-a2f5-639e0c2b6697","name":"When Job Form Submitted","type":"n8n-nodes-base.formTrigger","position":[608,432],"webhookId":"20d02d55-5506-422a-85ab-e5265819199f","parameters":{"options":{},"formTitle":"Job Search Configuration","formFields":{"values":[{"fieldLabel":"Job Roles","placeholder":"Chef, Nurse, Driver, Welder","requiredField":true},{"fieldLabel":"Locations","placeholder":"Kuwait, UAE, Germany","requiredField":true},{"fieldType":"number","fieldLabel":"Max Results Per Search","placeholder":"Minimum 10"},{"fieldType":"dropdown","fieldLabel":"Posted Since","fieldOptions":{"values":[{"option":"24 hours"},{"option":"3 days"},{"option":"1 week"},{"option":"2 weeks"},{"option":"1 month"}]}}]},"formDescription":"Configure job search parameters for lead generation"},"typeVersion":2.5},{"id":"95f70dc7-5ead-4a29-8408-a5bf2afd0f2d","name":"Parse Form Input Arrays","type":"n8n-nodes-base.code","position":[800,432],"parameters":{"jsCode":"// Parse the form inputs into arrays\nconst jobRoles = $input.first().json['Job Roles']\n  .split(',')\n  .map(r => r.trim())\n  .filter(r => r.length > 0);\n\nconst locations = $input.first().json['Locations']\n  .split(',')\n  .map(l => l.trim())\n  .filter(l => l.length > 0);\n\nconst maxResults = parseInt($input.first().json['Max Results Per Search']) || 10;\nconst postedSince = $input.first().json['Posted Since'] || '1 week';\n\n// Create search combinations\nconst searches = [];\nfor (const role of jobRoles) {\n  for (const location of locations) {\n    searches.push({\n      job_role: role,\n      location: location,\n      max_results: maxResults,\n      posted_since: postedSince\n    });\n  }\n}\n\nreturn searches.map(s => ({ json: s }));"},"typeVersion":2},{"id":"1bc35fcc-51b9-42e9-a1b4-c05fc6b8918d","name":"Loop Over Search Batches","type":"n8n-nodes-base.splitInBatches","position":[1024,432],"parameters":{"options":{"reset":false}},"typeVersion":3},{"id":"38ba3296-d66e-4526-8277-2b9a2623b16a","name":"Flatten Job Results and ID","type":"n8n-nodes-base.code","position":[1472,112],"parameters":{"jsCode":"// Flatten all job results and add unique IDs\nconst jobs = $input.all().flatMap(item => {\n  if (Array.isArray(item.json)) {\n    return item.json;\n  }\n  return [item.json];\n});\n\n// Add unique IDs and search context\nconst searchContext = $('Loop Over Search Batches').item.json;\n\n// Simple hash function for deduplication\nfunction simpleHash(str) {\n  let hash = 0;\n  for (let i = 0; i < str.length; i++) {\n    const char = str.charCodeAt(i);\n    hash = ((hash << 5) - hash) + char;\n    hash = hash & hash; // Convert to 32bit integer\n  }\n  return Math.abs(hash).toString(36);\n}\n\nreturn jobs.map((job, idx) => {\n  // Create deterministic hash from job_url or company+title+location\n  const hashInput = (job.job_url || `${job.company_name || ''}|${job.job_title || job.designation || ''}|${job.job_location || job.location || ''}`).toLowerCase().trim();\n  const job_hash = simpleHash(hashInput) + '-' + simpleHash(hashInput.split('').reverse().join(''));\n\n  return {\n    json: {\n      unique_id: `${Date.now()}-${idx}-${Math.random().toString(36).substr(2, 9)}`,\n      job_hash: job_hash,\n      lead_source: 'job_board',\n      search_role: searchContext.job_role,\n      search_location: searchContext.location,\n      ...job\n    }\n  };\n});"},"typeVersion":2},{"id":"d26e5c4e-d7d0-4072-8a14-98dcd5355f1a","name":"Read Jobs from Sheets","type":"n8n-nodes-base.googleSheets","position":[1696,112],"parameters":{"options":{"outputFormatting":{"values":{"date":"FORMATTED_STRING","general":"UNFORMATTED_VALUE"}}},"sheetName":{"__rl":true,"mode":"id","value":"1451193517"},"documentId":{"__rl":true,"mode":"id","value":"1hex1u1cpI5sMx8I45ktgpZ4VhXReQA4EZdoCTVEc1bI"}},"credentials":{"googleSheetsOAuth2Api":{"id":"5nztMDuNpgOdy9QO","name":"n8nfordezhynelabs GSheets account"}},"typeVersion":4.7,"alwaysOutputData":true},{"id":"4fed2722-26fe-49b3-91aa-1c58f23b1a64","name":"Identify Duplicate Jobs","type":"n8n-nodes-base.code","position":[1920,112],"parameters":{"jsCode":"// Get flattened jobs and existing sheet data\nconst flattenedJobs = $('Flatten Job Results and ID').all();\nconst existingRows = $('Read Jobs from Sheets').all();\n\n// Build set of existing job hashes\nconst existingHashes = new Set();\nfor (const row of existingRows) {\n  if (row.json.job_hash) {\n    existingHashes.add(row.json.job_hash);\n  }\n}\n\n// Filter out duplicates\nconst uniqueJobs = flattenedJobs.filter(job => {\n  return !existingHashes.has(job.json.job_hash);\n});\n\n// If no new unique jobs, return empty array (pipeline stops naturally)\nif (uniqueJobs.length === 0) {\n  return [];\n}\n\nreturn uniqueJobs;"},"typeVersion":2},{"id":"4ab93d56-5387-45dd-936a-c0480a265ca1","name":"Append Raw Jobs to Sheets","type":"n8n-nodes-base.googleSheets","position":[2144,112],"parameters":{"columns":{"value":{"status":"NEW","job_url":"={{ $json.platform_url }}","job_type":"={{ $json.job_type }}","job_title":"={{ $json.title }}","unique_id":"={{ $json.unique_id }}","created_at":"={{ $now }}","job_source":"={{ $json.platform }}","company_name":"={{ $json.company_name }}","job_location":"={{ $json.location }}","original_json":"={{ JSON.stringify($json) }}","job_description":"={{ $json.description }}","job_posted_date":"={{ $json.posted_date }}"},"schema":[{"id":"unique_id","type":"string","display":true,"required":false,"displayName":"unique_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_posted_date","type":"string","display":true,"required":false,"displayName":"job_posted_date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_source","type":"string","display":true,"required":false,"displayName":"job_source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title","type":"string","display":true,"required":false,"displayName":"job_title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_location","type":"string","display":true,"required":false,"displayName":"job_location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_description","type":"string","display":true,"required":false,"displayName":"job_description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_type","type":"string","display":true,"required":false,"displayName":"job_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_url","type":"string","display":true,"required":false,"displayName":"job_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_name","type":"string","display":true,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_id","type":"string","display":true,"required":false,"displayName":"company_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_category","type":"string","display":true,"required":false,"displayName":"job_category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualified","type":"string","display":true,"required":false,"displayName":"qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualification_reason","type":"string","display":true,"required":false,"displayName":"qualification_reason","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"original_json","type":"string","display":true,"required":false,"displayName":"original_json","defaultMatch":false,"canBeUsedToMatch":true},{"id":"created_at","type":"string","display":true,"required":false,"displayName":"created_at","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"useAppend":true},"operation":"append","sheetName":{"__rl":true,"mode":"id","value":"1726393267"},"documentId":{"__rl":true,"mode":"id","value":"1hex1u1cpI5sMx8I45ktgpZ4VhXReQA4EZdoCTVEc1bI"}},"credentials":{"googleSheetsOAuth2Api":{"id":"5nztMDuNpgOdy9QO","name":"n8nfordezhynelabs GSheets account"}},"typeVersion":4.7},{"id":"9891f9b8-220e-4a52-bed3-b59d2fad45aa","name":"Loop Over Job Batches","type":"n8n-nodes-base.splitInBatches","position":[2400,448],"parameters":{"options":{"reset":false}},"typeVersion":3},{"id":"7f1acfec-3935-4e47-8dc3-8fa014c6571f","name":"AI Job Scoring Agent","type":"@n8n/n8n-nodes-langchain.openAi","position":[3216,368],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4o-mini","cachedResultName":"GPT-4O-MINI"},"options":{"textFormat":{"textOptions":{"type":"json_object"}}},"responses":{"values":[{"content":"=You are a lead qualification engine for a manpower recruitment agency.\n\nCONTEXT:\nWe supply manpower for hospitality, logistics, healthcare, oil & gas, and construction industries.\nWe help companies fill urgent hiring needs with international candidates.\n\nINPUT:\n\n* Job Title: {{ $json.job_title }}\n* Job Location: {{ $json.job_location }}\n* Company Name: {{ $json.company_name }}\n* Platform: {{ $json.job_source }}\n* Job Description: {{ $json.job_description }}\n\n---\n\nCOUNTRY EXTRACTION RULE:\n\nExtract the COUNTRY from the job location.\n\nExamples:\n\n* \"Geldern, NW, DE\" → Germany\n* \"Dubai, UAE\" → United Arab Emirates\n* \"Kuwait City\" → Kuwait\n* \"Doha, QA\" → Qatar\n* \"Remote\" → Remote\n* If unclear → return \"Unknown\"\n\n---\n\nSCORING LOGIC (1 to 10):\n\nHigh Score (8-10):\n\n* Job is in hospitality, logistics, healthcare, oil & gas, or construction\n* Role is frontline or mid-level (nurse, cook, driver, welder, laborer)\n* Country is GCC (UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain) OR Malaysia, Singapore, Brunei\n* Company is active employer (not job board or agency)\n* Job posted recently (within 30 days)\n\nMedium Score (5-7):\n\n* Role is relevant but senior (HR Manager, Operations Director)\n* Company industry partially relevant\n* Country outside GCC but still valid market\n\nLow Score (1-4):\n\n* Role unrelated (IT, Marketing, Finance)\n* Company appears to be staffing agency\n* Job appears fake or incomplete\n\n---\n\nDECISION:\n\n* Score 7+ → ACCEPT\n* Score < 7 → REJECT\n\n---\n\nINDUSTRY CLASSIFICATION:\nClassify the job into exactly ONE of these industries:\n\n* Oil & Gas\n* Construction\n* Services (Banking & Insurance)\n* Logistics & Supply Chain\n* Manufacturing\n* Hospitality\n* Telecommunications & IT\n* Facility Management\n* Aviation / Airport\n* Retail\n* Shipbuilding\n* Automobile\n* Drivers & Operators\n* Furniture & Interiors\n* Garments & Furnishing\n* Agriculture\n* Community Services\n* Education\n* Healthcare\n* Other\n\n---\n\nOUTPUT FORMAT (STRICT JSON ONLY):\n\n{\n\"lead_score\": 8,\n\"decision\": \"ACCEPT\",\n\"reason\": \"Active hospital in UAE hiring nurses for immediate deployment.\",\n\"industry\": \"Healthcare\",\n\"country\": \"United Arab Emirates\"\n}\n"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"IRVuztDrB6CE1Ene","name":"OpenAi account"}},"typeVersion":2.1},{"id":"b942d8f6-178f-49a7-bfae-37fa69c4520e","name":"Parse AI Lead Scores","type":"n8n-nodes-base.code","position":[3520,368],"parameters":{"jsCode":"const job_d = $('Loop Over Job Batches').item.json;\nconst raw = $input.first().json;\n\n// ðŸ”¥ GET COMPANY FROM JOB DATA\nlet savedJob = {};\n// Company data comes from job_d\n\n// ðŸ”¥ PRIORITY LOGIC\n// 1. job_d.company_name\n// 2. fallback ''\nconst company_name = job_d?.company_name || '';\n\n// ðŸ”¥ PARSE AI RESPONSE\nlet parsed = {};\n\nif (raw?.output?.[0]?.content?.[0]?.text) {\n  const text = raw.output[0].content[0].text;\n\n  if (typeof text === 'object') {\n    parsed = text;\n  } else if (typeof text === 'string') {\n    try {\n      parsed = JSON.parse(text);\n    } catch (e) {\n      parsed = {};\n    }\n  }\n}\n\n// fallback\nif (!parsed || Object.keys(parsed).length === 0) {\n  parsed = {\n    lead_score: 0,\n    decision: 'REJECT',\n    reason: 'Parse error',\n    industry: 'Other',\n    country: 'Unknown'\n  };\n}\n\n// âœ… FINAL OUTPUT\nreturn [{\n  json: {\n    ...job_d,\n\n    // ðŸ”¥ FIXED COMPANY NAME\n    company_name,\n\n    // debug (remove later)\n    company_source: job_d?.company_name ? 'job_data' : 'missing',\n\n    lead_score: parsed.lead_score ?? 0,\n    decision: parsed.decision ?? 'REJECT',\n    reason: parsed.reason ?? '',\n    industry: parsed.industry ?? 'Other',\n    country: parsed.country ?? 'Unknown'\n  }\n}];"},"typeVersion":2},{"id":"b2640e0a-e2ef-4da5-b5dd-e7558214ad22","name":"Check Lead Acceptance","type":"n8n-nodes-base.if","position":[3728,368],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.decision }}","rightValue":"ACCEPT"}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"6906f1c0-387a-46cf-9033-1f740a6b456d","name":"Set Job as Qualified","type":"n8n-nodes-base.set","position":[3984,304],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"status","type":"string","value":"QUALIFIED"},{"id":"id-2","name":"company_id","type":"string","value":"={{ ($json.company_name || '').toLowerCase().trim().replace(/\\s+/g, '_') }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"7e94057c-8d2d-49bc-9088-a599c4d899ae","name":"Append Qualified Job to Sheets","type":"n8n-nodes-base.googleSheets","position":[4160,304],"parameters":{"columns":{"value":{"status":"={{ $json.status }}","country":"={{ $json.country }}","qualified":"={{ $json.decision }}","unique_id":"={{ $json.unique_id }}","company_id":"={{ $json.company_id }}","job_category":"={{ $json.industry }}","qualification_reason":"={{ $json.reason }}"},"schema":[{"id":"unique_id","type":"string","display":true,"removed":false,"required":false,"displayName":"unique_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_posted_date","type":"string","display":true,"removed":true,"required":false,"displayName":"job_posted_date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_source","type":"string","display":true,"removed":true,"required":false,"displayName":"job_source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title","type":"string","display":true,"removed":true,"required":false,"displayName":"job_title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_location","type":"string","display":true,"removed":true,"required":false,"displayName":"job_location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"country","type":"string","display":true,"removed":false,"required":false,"displayName":"country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_description","type":"string","display":true,"removed":true,"required":false,"displayName":"job_description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_type","type":"string","display":true,"removed":true,"required":false,"displayName":"job_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_url","type":"string","display":true,"removed":true,"required":false,"displayName":"job_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_name","type":"string","display":true,"removed":true,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_id","type":"string","display":true,"required":false,"displayName":"company_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_category","type":"string","display":true,"required":false,"displayName":"job_category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualified","type":"string","display":true,"required":false,"displayName":"qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualification_reason","type":"string","display":true,"required":false,"displayName":"qualification_reason","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"original_json","type":"string","display":true,"removed":true,"required":false,"displayName":"original_json","defaultMatch":false,"canBeUsedToMatch":true},{"id":"created_at","type":"string","display":true,"removed":true,"required":false,"displayName":"created_at","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["unique_id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"id","value":"1726393267"},"documentId":{"__rl":true,"mode":"id","value":"1hex1u1cpI5sMx8I45ktgpZ4VhXReQA4EZdoCTVEc1bI"}},"credentials":{"googleSheetsOAuth2Api":{"id":"5nztMDuNpgOdy9QO","name":"n8nfordezhynelabs GSheets account"}},"typeVersion":4.7},{"id":"7c9f0806-b406-4fbc-96d8-3464a5fc2f45","name":"Cycle Job Processing","type":"n8n-nodes-base.noOp","position":[4336,528],"parameters":{},"typeVersion":1},{"id":"485a21f5-1f73-4f82-ac54-f051f0f30506","name":"Submit Job Scrape Request","type":"n8n-nodes-base.httpRequest","position":[1296,448],"parameters":{"url":"https://api.apify.com/v2/acts/agentx~all-jobs-scraper/run-sync-get-dataset-items","method":"POST","options":{"timeout":300000},"jsonBody":"={\n  \"keyword\": \"{{ $json.job_role }}\",\n  \"country\": \"{{ $json.location }}\",\n  \"max_results\": {{ $json.max_results }},\n  \"posted_since\": \"{{ $json.posted_since }}\"\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{},"typeVersion":4.2},{"id":"66197d6c-a845-4379-b589-41a449b52887","name":"Detect Missing Company Names","type":"@mendable/n8n-nodes-firecrawl.firecrawl","position":[2816,208],"parameters":{"url":"={{ $json.job_url }}","operation":"scrape","scrapeOptions":{"options":{"formats":{"format":[{"type":"json"}]},"headers":{}}},"requestOptions":{}},"credentials":{},"typeVersion":1},{"id":"d0471948-3460-4358-9497-23e59d3e8ecb","name":"Check Company Name Presence","type":"n8n-nodes-base.if","position":[2592,352],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"d1193fa9-2103-4e14-9088-e05e2a3f0363","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"=[undefined]","rightValue":""}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"0890e82f-036e-4a0e-82a3-11c78793dd6b","name":"Append Jobs with Company Names","type":"n8n-nodes-base.googleSheets","position":[2992,208],"parameters":{"columns":{"value":{"unique_id":"={{ $('Check for Company Name').item.json.unique_id }}","company_name":"={{ $json.data.metadata.ogDescription }}"},"schema":[{"id":"unique_id","type":"string","display":true,"removed":false,"required":false,"displayName":"unique_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_posted_date","type":"string","display":true,"removed":true,"required":false,"displayName":"job_posted_date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_source","type":"string","display":true,"removed":true,"required":false,"displayName":"job_source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title","type":"string","display":true,"removed":true,"required":false,"displayName":"job_title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_location","type":"string","display":true,"removed":true,"required":false,"displayName":"job_location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"country","type":"string","display":true,"removed":true,"required":false,"displayName":"country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_description","type":"string","display":true,"removed":true,"required":false,"displayName":"job_description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_type","type":"string","display":true,"removed":true,"required":false,"displayName":"job_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_url","type":"string","display":true,"removed":true,"required":false,"displayName":"job_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_name","type":"string","display":true,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_id","type":"string","display":true,"removed":true,"required":false,"displayName":"company_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_category","type":"string","display":true,"removed":true,"required":false,"displayName":"job_category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualified","type":"string","display":true,"removed":true,"required":false,"displayName":"qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualification_reason","type":"string","display":true,"removed":true,"required":false,"displayName":"qualification_reason","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"removed":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"original_json","type":"string","display":true,"removed":true,"required":false,"displayName":"original_json","defaultMatch":false,"canBeUsedToMatch":true},{"id":"created_at","type":"string","display":true,"removed":true,"required":false,"displayName":"created_at","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["unique_id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"useAppend":true},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"id","value":"1726393267"},"documentId":{"__rl":true,"mode":"id","value":"1hex1u1cpI5sMx8I45ktgpZ4VhXReQA4EZdoCTVEc1bI"}},"credentials":{"googleSheetsOAuth2Api":{"id":"5nztMDuNpgOdy9QO","name":"n8nfordezhynelabs GSheets account"}},"typeVersion":4.7},{"id":"3fec290e-1367-4ce5-b0cd-7ca29eb2f2dc","name":"Save Qualified Job to Sheets","type":"n8n-nodes-base.googleSheets","position":[4064,528],"parameters":{"columns":{"value":{"status":"=NOT_QUALIFIED","country":"={{ $json.country }}","qualified":"={{ $json.decision }}","unique_id":"={{ $json.unique_id }}","job_category":"={{ $json.industry }}","qualification_reason":"={{ $json.reason }}"},"schema":[{"id":"unique_id","type":"string","display":true,"removed":false,"required":false,"displayName":"unique_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_posted_date","type":"string","display":true,"removed":true,"required":false,"displayName":"job_posted_date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_source","type":"string","display":true,"removed":true,"required":false,"displayName":"job_source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title","type":"string","display":true,"removed":true,"required":false,"displayName":"job_title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_location","type":"string","display":true,"removed":true,"required":false,"displayName":"job_location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"country","type":"string","display":true,"removed":false,"required":false,"displayName":"country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_description","type":"string","display":true,"removed":true,"required":false,"displayName":"job_description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_type","type":"string","display":true,"removed":true,"required":false,"displayName":"job_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_url","type":"string","display":true,"removed":true,"required":false,"displayName":"job_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_name","type":"string","display":true,"removed":true,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"company_id","type":"string","display":true,"removed":true,"required":false,"displayName":"company_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_category","type":"string","display":true,"required":false,"displayName":"job_category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualified","type":"string","display":true,"required":false,"displayName":"qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"qualification_reason","type":"string","display":true,"required":false,"displayName":"qualification_reason","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"original_json","type":"string","display":true,"removed":true,"required":false,"displayName":"original_json","defaultMatch":false,"canBeUsedToMatch":true},{"id":"created_at","type":"string","display":true,"removed":true,"required":false,"displayName":"created_at","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["unique_id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"id","value":"1726393267"},"documentId":{"__rl":true,"mode":"id","value":"1hex1u1cpI5sMx8I45ktgpZ4VhXReQA4EZdoCTVEc1bI"}},"credentials":{"googleSheetsOAuth2Api":{"id":"5nztMDuNpgOdy9QO","name":"n8nfordezhynelabs GSheets account"}},"typeVersion":4.7}],"pinData":{},"connections":{"AI Job Scoring Agent":{"main":[[{"node":"Parse AI Lead Scores","type":"main","index":0}]]},"Cycle Job Processing":{"main":[[{"node":"Loop Over Job Batches","type":"main","index":0}]]},"Parse AI Lead Scores":{"main":[[{"node":"Check Lead Acceptance","type":"main","index":0}]]},"Set Job as Qualified":{"main":[[{"node":"Append Qualified Job to Sheets","type":"main","index":0}]]},"Check Lead Acceptance":{"main":[[{"node":"Set Job as Qualified","type":"main","index":0}],[{"node":"Save Qualified Job to Sheets","type":"main","index":0}]]},"Loop Over Job Batches":{"main":[[{"node":"Loop Over Search Batches","type":"main","index":0}],[{"node":"Check Company Name Presence","type":"main","index":0}]]},"Read Jobs from Sheets":{"main":[[{"node":"Identify Duplicate Jobs","type":"main","index":0}]]},"Identify Duplicate Jobs":{"main":[[{"node":"Append Raw Jobs to Sheets","type":"main","index":0}]]},"Parse Form Input Arrays":{"main":[[{"node":"Loop Over Search Batches","type":"main","index":0}]]},"When Job Form Submitted":{"main":[[{"node":"Parse Form Input Arrays","type":"main","index":0}]]},"Loop Over Search Batches":{"main":[[],[{"node":"Submit Job Scrape Request","type":"main","index":0}]]},"Append Raw Jobs to Sheets":{"main":[[{"node":"Loop Over Job Batches","type":"main","index":0}]]},"Submit Job Scrape Request":{"main":[[{"node":"Flatten Job Results and ID","type":"main","index":0}]]},"Flatten Job Results and ID":{"main":[[{"node":"Read Jobs from Sheets","type":"main","index":0}]]},"Check Company Name Presence":{"main":[[{"node":"Detect Missing Company Names","type":"main","index":0}],[{"node":"AI Job Scoring Agent","type":"main","index":0}]]},"Detect Missing Company Names":{"main":[[{"node":"Append Jobs with Company Names","type":"main","index":0}]]},"Save Qualified Job to Sheets":{"main":[[{"node":"Cycle Job Processing","type":"main","index":0}]]},"Append Jobs with Company Names":{"main":[[{"node":"AI Job Scoring Agent","type":"main","index":0}]]},"Append Qualified Job to Sheets":{"main":[[{"node":"Cycle Job Processing","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":27,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.noOp":{"count":1},"n8n-nodes-base.stickyNote":{"count":8},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.googleSheets":{"count":5},"n8n-nodes-base.splitInBatches":{"count":2},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"@mendable/n8n-nodes-firecrawl.firecrawl":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Dinakar Selvakumar","username":"jamesdinakar","bio":"Turning real business problems into clean n8n automations. I design reliable templates for social media, lead generation, AI agents, and internal workflows, with a strong focus on simplicity, security, and great user experience.","verified":true,"links":["https://www.linkedin.com/in/dinakar-selva/"],"avatar":"https://gravatar.com/avatar/d3ee0b6c278e3c00cb8b24917f6be30c9deac3c7a9e78157eb8f82690e8a72c5?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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"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/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-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"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/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"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/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"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/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/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-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"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-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/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"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/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"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/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"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/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at 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-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/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"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/core-nodes/n8n-nodes-base.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"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/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"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/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"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/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"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/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"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/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}