{"workflow":{"id":13090,"name":"Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets","views":51,"recentViews":0,"totalViews":51,"createdAt":"2026-01-29T08:25:42.529Z","description":"Transform LinkedIn profile URLs into comprehensive enriched lead profiles, quickly and automatically. \n\nAdd URLs to your sheet, run the workflow, and get fully enriched contact data: names, job titles, company details, career history, recent activity, and more – all written back to your spreadsheet.\n\n## What it does\n- Reads unenriched rows from Google Sheets (detects empty \"First Name\" field)\n- Scrapes LinkedIn profiles via Apify (dev_fusion~linkedin-profile-scraper actor)\n- Polls for completion with smart retry logic (15-second intervals, max 20 attempts)\n- Extracts comprehensive profile data:\n  - Personal info (name, location, headline, bio)\n  - Current role (title, description, company, industry, size, website)\n  - Additional concurrent positions (for people with multiple roles)\n  - Most recent previous employer\n  - Last 2 LinkedIn posts with links\n- Writes enriched data back to the same Google Sheet row\n- Handles errors gracefully with status updates\n\n## Requirements\n- Apify account + API token\n- Google Sheets OAuth2 credentials\n- A Google Sheet with columns: LinkedIn, First Name, Last Name, Job Position, Location, Industry, Company Name, Company URL, Company Size, LI Other Profile Information, Status, Apify ID, Add date, row_number\n\n## Setup\n1. Create your Google Sheet with the required columns (or duplicate the template structure)\n2. Replace `YOUR_APIFY_API_KEY` in three HTTP Request nodes: \"Start Apify Scrape\", \"Check Status\", and \"Fetch LinkedIn Data\"\n3. Connect your Google Sheets OAuth2 credentials to the two Google Sheets nodes\n4. Update the document ID if using your own sheet (currently points to a specific sheet)\n5. Add LinkedIn profile URLs to the \"LinkedIn\" column, leaving \"First Name\" blank\n6. Run manually – workflow processes all unenriched rows sequentially\n\n## Sample Output\n\n**Google Sheet row output - from one successfully enriched lead profile via LinkedIn URL**:\n[Link to Google Sheets sample file](https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit?usp=sharing)\n\n![](https://i.postimg.cc/PxmX6FJw/sample-linkedin-url-lead-profile-enrichment.png)\n\n\n## Next steps\nUse the enriched data for sales outreach, recruiting pipelines, or lead scoring. The \"LI Other Profile Information\" column contains a rich text summary ideal for AI-powered lead qualification or personalized messaging.\n\n**Tip:** Process small batches (5-10 profiles) first to verify Apify results and check for rate limiting. The Apify dataset ID is stored in each row, so you can retrieve raw JSON data later if needed for deeper analysis.","workflow":{"id":"euU1g72FGuPI0jZB","meta":{"instanceId":"90dd23d886c9cb675f452d0fb004af6ee783e4e974ef4384cbfad1854c68a875","templateCredsSetupCompleted":true},"name":"Get Enriched Lead Profiles from LinkedIn URLs with Apify and Google Sheets","tags":[{"id":"Tx5TGVSKbShwuivF","name":"Web Scraping","createdAt":"2025-11-06T11:24:12.990Z","updatedAt":"2025-11-06T11:24:12.990Z"},{"id":"W01fUigEbpzoMJlg","name":"Lead Capture","createdAt":"2025-11-05T11:27:38.370Z","updatedAt":"2025-11-05T11:27:38.370Z"},{"id":"eEKVQFjuDWUBjiw7","name":"LinkedIn","createdAt":"2026-01-29T07:56:28.257Z","updatedAt":"2026-01-29T07:56:28.257Z"}],"nodes":[{"id":"7f4c62ad-aa24-41f5-a28c-228d505d222e","name":"When clicking 'Execute Workflow'","type":"n8n-nodes-base.manualTrigger","position":[-5584,416],"parameters":{},"typeVersion":1},{"id":"4daa223f-38f3-450e-b8f8-39fe456b88de","name":"Process One Row at a Time","type":"n8n-nodes-base.splitInBatches","position":[-5072,304],"parameters":{"options":{}},"typeVersion":3},{"id":"55b937aa-77fd-42f0-bb5d-01843f4ed5fa","name":"Start Apify Scrape","type":"n8n-nodes-base.httpRequest","position":[-4720,512],"parameters":{"url":"https://api.apify.com/v2/acts/dev_fusion~linkedin-profile-scraper/runs?token=YOUR_TOKEN_HERE","method":"POST","options":{},"jsonBody":"={\n  \"profileUrls\": [\n    \"{{ $json['LinkedIn'] }}\"\n  ]\n}","sendBody":true,"specifyBody":"json"},"executeOnce":true,"typeVersion":4.2},{"id":"ec4c7c07-b02e-4f97-83a5-4e2f46501267","name":"Store Run Info","type":"n8n-nodes-base.code","position":[-4512,512],"parameters":{"jsCode":"// Store important data for later use\nconst apifyResponse = $input.first().json;\nconst originalRow = $('Process One Row at a Time').item.json;\n\nreturn [{\n  json: {\n    apifyRunId: apifyResponse.data.id,\n    apifyActId: apifyResponse.data.actId,\n    rowNumber: originalRow.row_number,\n    linkedInUrl: originalRow['LinkedIn'],\n    loopCount: 0\n  }\n}];"},"typeVersion":2},{"id":"196a2f7b-d93c-46e5-a3cf-692bea44f6f0","name":"Wait 15 Seconds","type":"n8n-nodes-base.wait","position":[-4272,352],"webhookId":"e633dfe2-57db-462e-b5e2-ed41ab73f8c2","parameters":{"amount":15},"typeVersion":1.1},{"id":"7a1a58b1-f278-435b-9be8-2186707d42ce","name":"Check Status","type":"n8n-nodes-base.httpRequest","position":[-4080,352],"parameters":{"url":"=https://api.apify.com/v2/acts/{{ $json.apifyActId }}/runs/{{ $json.apifyRunId }}?token=YOUR_APIFY_API_KEY","options":{}},"typeVersion":4.2},{"id":"df1282c2-b773-44ba-9a8e-b6976195d1c4","name":"Update Loop Counter","type":"n8n-nodes-base.code","position":[-3856,352],"parameters":{"jsCode":"// Preserve original data and update status\nconst statusResponse = $input.first().json;\nconst previousData = $('Wait 15 Seconds').item.json;\n\nreturn [{\n  json: {\n    apifyRunId: previousData.apifyRunId,\n    apifyActId: previousData.apifyActId,\n    rowNumber: previousData.rowNumber,\n    linkedInUrl: previousData.linkedInUrl,\n    loopCount: previousData.loopCount + 1,\n    status: statusResponse.data.status\n  }\n}];"},"typeVersion":2},{"id":"f389d47f-57a0-43bd-8e12-0b90faed9922","name":"Check if Ready","type":"n8n-nodes-base.if","position":[-3664,352],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"condition1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"SUCCEEDED"}]}},"typeVersion":2.2},{"id":"bda5be84-5090-493a-b7f2-0ff6d2638965","name":"Check Max Retries","type":"n8n-nodes-base.if","position":[-3904,608],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"condition2","operator":{"type":"number","operation":"lt"},"leftValue":"={{ $json.loopCount }}","rightValue":20}]}},"typeVersion":2.2},{"id":"0a8e0730-7c81-41ef-95b7-b78dd5070bcf","name":"Fetch LinkedIn Data","type":"n8n-nodes-base.httpRequest","position":[-3088,448],"parameters":{"url":"=https://api.apify.com/v2/datasets/{{ $('Check Status').item.json.data.defaultDatasetId }}/items?token=YOUR_APIFY_API_KEY","options":{}},"typeVersion":4.2,"alwaysOutputData":true},{"id":"a856ba43-567a-45cc-aa77-5498c7d7f2e9","name":"Prepare Error Message","type":"n8n-nodes-base.code","position":[-3664,624],"parameters":{"jsCode":"// Prepare error message\nconst runInfo = $input.first().json;\n\nreturn [{\n  json: {\n    rowNumber: runInfo.rowNumber,\n    linkedInData: `Error: Failed after ${runInfo.loopCount} attempts`\n  }\n}];"},"typeVersion":2},{"id":"2cbb12b4-8e84-4583-a58d-d1bfa56f4c06","name":"Merge","type":"n8n-nodes-base.merge","position":[-2496,432],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition","numberInputs":3},"typeVersion":3.2},{"id":"9af0e302-ea01-4d9c-90d4-4c626a823643","name":"Get Other Current Jobs","type":"n8n-nodes-base.code","position":[-2752,272],"parameters":{"jsCode":"// Get the experiences array safely\nconst experiences = Array.isArray($json.experiences) ? $json.experiences : [];\n\n// Helper: clean strings (prevents random \\n, \\r issues)\nconst clean = (v) => String(v ?? '').replace(/[\\r\\n]+/g, ' ').trim();\n\n// Helper: treat blanks/nulls as N/A\nconst valOrNA = (v) => {\n  const s = clean(v);\n  return s ? s : 'N/A';\n};\n\n// Current date in MM-YYYY (force Asia/Tokyo)\nconst currentMMYYYY = (() => {\n  const parts = new Intl.DateTimeFormat('en-US', {\n    timeZone: 'Asia/Tokyo',\n    year: 'numeric',\n    month: '2-digit',\n  }).formatToParts(new Date());\n\n  const year = parts.find((p) => p.type === 'year')?.value || String(new Date().getFullYear());\n  const month =\n    parts.find((p) => p.type === 'month')?.value || String(new Date().getMonth() + 1).padStart(2, '0');\n\n  return `${month}-${year}`;\n})();\n\n// Helper: determine if a role is current\nconst isCurrentRole = (exp) => {\n  if (!exp || typeof exp !== 'object') return false;\n\n  // Prefer explicit boolean when present\n  if (typeof exp.jobStillWorking === 'boolean') return exp.jobStillWorking;\n\n  // Fallback: infer from missing/empty end date\n  const ended = exp.jobEndedOn;\n  return ended === null || ended === undefined || String(ended).trim() === '';\n};\n\n// All current roles (in the original order)\nconst currentRoles = experiences.filter(isCurrentRole);\n\n// Treat the first current role as the \"primary\" one, others are \"additional\"\nconst additionalCurrentRoles = currentRoles.slice(1);\n\n// Format additional current roles (include industry + size if present)\nconst formattedJobs = additionalCurrentRoles\n  .map((exp, i) => {\n    const title = valOrNA(exp.title);\n    const company = valOrNA(exp.companyName);\n    const started = valOrNA(exp.jobStartedOn);\n    const employmentType = valOrNA(exp.employmentType);\n    const companyIndustry = valOrNA(exp.companyIndustry);\n    const companySize = valOrNA(exp.companySize);\n\n    // Prefer explicit jobLocation; fall back to jobLocationCountry if present\n    const location = clean(exp.jobLocation) || clean(exp.jobLocationCountry) || 'N/A';\n\n    const desc = clean(exp.jobDescription) ? clean(exp.jobDescription) : 'No description';\n\n    return [\n      `additional_current_role_${i + 1}:`,\n      `- job_title: ${title}`,\n      `- job_description: ${desc}`,\n      `- company: ${company}`,\n      `- company_industry: ${companyIndustry}`,\n      `- company_size: ${companySize}`,\n      `- employment_type: ${employmentType}`,\n      `- location: ${location}`,\n      `- started: ${started} (current as of ${currentMMYYYY})`,\n    ].join('\\n');\n  })\n  .join('\\n\\n');\n\nreturn [\n  {\n    json: {\n      additionalCurrentJobs: formattedJobs || 'No additional current jobs',\n      count: additionalCurrentRoles.length,\n      currentRolesCount: currentRoles.length,\n    },\n  },\n];\n"},"typeVersion":2},{"id":"22635c73-d866-4ddd-a979-2e8f780b24dc","name":"Set Other Key LinkedIn Data","type":"n8n-nodes-base.set","position":[-2752,608],"parameters":{"options":{},"assignments":{"assignments":[{"id":"15dcd484-86af-4cad-93ff-a3dfd1e9afc6","name":"firstName","type":"string","value":"={{ $json.firstName }}"},{"id":"0b491156-4aa5-4308-9439-097c1686b5c8","name":"lastName","type":"string","value":"={{ $json.lastName }}"},{"id":"c39d635f-5bdc-44d6-85cf-cf46279de143","name":"linkedinUrl","type":"string","value":"={{ $json.linkedinUrl }}"},{"id":"713e4ea0-ae85-477a-93e3-8f59f049d79a","name":"linkedInHeadline","type":"string","value":"={{ $json.headline }}"},{"id":"3cfd2667-eb7a-4204-a383-5d9fd22c7b08","name":"currentJobDuration","type":"string","value":"={{ $json.currentJobDuration }}"},{"id":"598e015d-13d2-4297-9d05-fc395e8f0f6b","name":"aboutPersonLead","type":"string","value":"={{ $json.about }}"},{"id":"4b5a5f3e-03de-4634-bc9f-2ff708c7d18f","name":"latestCompanyName","type":"string","value":"={{   (() => {     const exps = Array.isArray($json.experiences) ? $json.experiences                : Array.isArray($json.experience) ? $json.experience                : [];      const clean = (v) => String(v ?? '').replace(/[\\r\\n]+/g, ' ').trim();      const isCurrent = (exp) => {       if (!exp || typeof exp !== 'object') return false;       if (typeof exp.jobStillWorking === 'boolean') return exp.jobStillWorking;       const ended = exp.jobEndedOn;       return ended === null || ended === undefined || String(ended).trim() === '';     };      const primary = exps.find(isCurrent) || exps[0];     return primary ? (clean(primary.companyName) || 'N/A') : 'N/A';   })() }}"},{"id":"b2c7c4ed-f2d9-4e7f-98a9-bd5e619438ce","name":"latestJobTitle","type":"string","value":"={{\n  (() => {\n    const exps = Array.isArray($json.experiences) ? $json.experiences\n               : Array.isArray($json.experience) ? $json.experience\n               : [];\n\n    const clean = (v) => String(v ?? '').replace(/[\\r\\n]+/g, ' ').trim();\n\n    const isCurrent = (exp) => {\n      if (!exp || typeof exp !== 'object') return false;\n      if (typeof exp.jobStillWorking === 'boolean') return exp.jobStillWorking;\n      const ended = exp.jobEndedOn;\n      return ended === null || ended === undefined || String(ended).trim() === '';\n    };\n\n    const primary = exps.find(isCurrent) || exps[0];\n    return primary ? (clean(primary.title) || 'N/A') : 'N/A';\n  })()\n}}"},{"id":"4bc0b8c4-8955-41aa-aa01-66b19559fbdf","name":"latestJobDescription","type":"string","value":"={{\n  (() => {\n    const exps = Array.isArray($json.experiences) ? $json.experiences\n               : Array.isArray($json.experience) ? $json.experience\n               : [];\n\n    const isCurrent = (exp) => {\n      if (!exp || typeof exp !== 'object') return false;\n      if (typeof exp.jobStillWorking === 'boolean') return exp.jobStillWorking;\n      const ended = exp.jobEndedOn;\n      return ended === null || ended === undefined || String(ended).trim() === '';\n    };\n\n    const primary = exps.find(isCurrent) || exps[0];\n    return primary ? (primary.jobDescription ?? null) : null;\n  })()\n}}"},{"id":"7d0f901e-eed7-4a1c-baba-646be2094966","name":"oldPreviousCompanyName","type":"string","value":"={{\n  (() => {\n    const exps = Array.isArray($json.experiences) ? $json.experiences : [];\n    if (!exps.length) return '';\n\n    const clean = (v) => String(v ?? '').replace(/[\\r\\n]+/g, '').trim();\n\n    const isCurrent = (exp) => {\n      if (!exp) return false;\n      if (typeof exp.jobStillWorking === 'boolean') return exp.jobStillWorking;\n      const ended = exp.jobEndedOn;\n      return ended === null || ended === undefined || String(ended).trim() === '';\n    };\n\n    // Find the first current role (the \"main\" current role)\n    const currentIdx = exps.findIndex(isCurrent);\n\n    // Previous role = the first non-current role after the current one\n    const prev = exps.slice(Math.max(currentIdx + 1, 0)).find(exp => exp && !isCurrent(exp));\n\n    // If we can't find a previous role, fall back to experiences[1] if present\n    const target = prev || exps[1];\n    if (!target) return '';\n\n    const name = clean(target.companyName) || 'N/A';\n    const endedStr = clean(target.jobEndedOn);\n\n    return endedStr\n      ? `${name} - ended on ${endedStr}`\n      : `${name} - but no end date listed`;\n  })()\n}}"},{"id":"b21cf744-ede9-4416-9320-3d21bcaa3604","name":"latestCompanyIndustry","type":"string","value":"={{\n  (() => {\n    const exps = Array.isArray($json.experiences) ? $json.experiences : [];\n    const isCurrent = (e) =>\n      e && (e.jobStillWorking === true || e.jobEndedOn == null || String(e.jobEndedOn).trim() === '');\n\n    const primary = exps.find(isCurrent) || exps[0] || null;\n\n    // Pull from the SAME experience object (absolute match)\n    return primary?.companyIndustry ?? $json.companyIndustry ?? null;\n  })()\n}}"},{"id":"cb834ca0-b98e-4046-816c-f65b7bffecb2","name":"=latestCompanySize","type":"string","value":"={{\n  (() => {\n    const exps = Array.isArray($json.experiences) ? $json.experiences : [];\n    const isCurrent = (e) =>\n      e && (e.jobStillWorking === true || e.jobEndedOn == null || String(e.jobEndedOn).trim() === '');\n\n    const primary = exps.find(isCurrent) || exps[0] || null;\n\n    // Pull from the SAME experience object (absolute match)\n    return primary?.companySize ?? $json.companySize ?? null;\n  })()\n}}"},{"id":"44b30fd5-4a9a-49b1-9799-6e7a30275a6e","name":"leadLocation","type":"string","value":"={{ $json.addressCountryOnly }}"},{"id":"8c966908-e1a8-4752-abc2-db0cf511789d","name":"apifyLinkedInDatasetID","type":"string","value":"={{ $('Check Status').item.json.data.defaultDatasetId }}"},{"id":"90212539-1236-4c06-974e-794b9091cb82","name":"emailAddress","type":"string","value":"={{ $json.email }}"},{"id":"961d16ec-e225-492b-8009-453bccdac1bf","name":"companyName","type":"string","value":"={{ $json.companyName }}"},{"id":"8f63d6d7-39fc-45b9-b156-7d2077b70d84","name":"companyWebsite","type":"string","value":"={{ $json.companyWebsite }}"},{"id":"6e9e6fe8-5c90-4130-9405-0d3499177de8","name":"companySize","type":"string","value":"={{ $json.companySize }}"},{"id":"1f2ed940-36d6-4fb3-86df-b5cd4adb1129","name":"companyIndustry","type":"string","value":"={{ $json.companyIndustry }}"}]}},"typeVersion":3.4},{"id":"612e67e2-6c08-42ff-a14c-923c5bdc38fd","name":"Get 2 Most Recent Posts","type":"n8n-nodes-base.code","position":[-2752,448],"parameters":{"jsCode":" // Get only first 2 posts\n  const firstTwoPosts = ($json.updates || []).slice(0, 2);\n\n  // Format as human-readable text\n  const formattedPosts = firstTwoPosts.map((post, index) => {\n    return `Post ${index + 1}:\n  ${post.postText || 'No text'}\n\n  Link: ${post.postLink || 'N/A'}`;\n  }).join('\\n\\n---\\n\\n');\n\n  return [{\n    json: {\n      linkedInUpdatesPostsActivity: formattedPosts || 'No posts available'\n    }\n  }];"},"typeVersion":2},{"id":"5ff5b6cb-7b40-4a38-869b-0b042de50d4b","name":"Get Rows - Not Enriched Yet","type":"n8n-nodes-base.googleSheets","position":[-5360,416],"parameters":{"options":{},"filtersUI":{"values":[{"lookupColumn":"First Name"}]},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit?usp=drivesdk","cachedResultName":"Lead Enrichment with LinkedIn Profile URLs"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"typeVersion":4.7},{"id":"916799c8-2973-442e-b685-6eca4e9af084","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[-6560,-400],"parameters":{"width":864,"height":1072,"content":"# **Get Enriched Lead Profiles from LinkedIn URLs with Apify and Google Sheets**\n\nTransform LinkedIn profile URLs into comprehensive lead profiles automatically. Add URLs to your sheet, run the workflow, and get fully enriched contact data: names, job titles, company details, career history, and recent activity—all written back to your spreadsheet.\n\n## What it does\n- Reads unenriched rows from Google Sheets (detects empty \"First Name\" field)\n- Scrapes LinkedIn profiles via Apify (dev_fusion~linkedin-profile-scraper actor)\n- Polls for completion with smart retry logic (15-second intervals, max 20 attempts)\n- Extracts comprehensive profile data:\n  - Personal info (name, location, headline, bio)\n  - Current role (title, description, company, industry, size, website)\n  - Additional concurrent positions (for people with multiple roles)\n  - Most recent previous employer\n  - Last 2 LinkedIn posts with links\n- Writes enriched data back to the same Google Sheet row\n- Handles errors gracefully with status updates\n\n## Requirements\n- Apify account + API token\n- Google Sheets OAuth2 credentials\n- A Google Sheet with columns: LinkedIn, First Name, Last Name, Job Position, Location, Industry, Company Name, Company URL, Company Size, LI Other Profile Information, Status, Apify ID, Add date, row_number\n\n## Setup\n1. Create your Google Sheet with the required columns (or duplicate the template structure)\n2. Replace `YOUR_APIFY_API_KEY` in three HTTP Request nodes: \"Start Apify Scrape\", \"Check Status\", and \"Fetch LinkedIn Data\"\n3. Connect your Google Sheets OAuth2 credentials to the two Google Sheets nodes\n4. Update the document ID if using your own sheet (currently points to a specific sheet)\n5. Add LinkedIn profile URLs to the \"LinkedIn\" column, leaving \"First Name\" blank\n6. Run manually—workflow processes all unenriched rows sequentially\n\n## Next steps\nUse the enriched data for sales outreach, recruiting pipelines, or lead scoring. The \"LI Other Profile Information\" column contains a rich text summary ideal for AI-powered lead qualification or personalized messaging.\n\n**Tip:** Process small batches (5-10 profiles) first to verify Apify results and check for rate limiting. The Apify dataset ID is stored in each row, so you can retrieve raw JSON data later if needed for deeper analysis.\n"},"typeVersion":1},{"id":"65cec22e-438e-45b7-a105-fb681fd83cc3","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-5664,-400],"parameters":{"color":7,"width":1344,"height":512,"content":"## Sample Output\n\n**Google Sheet row output - from one successfully enriched lead profile via LinkedIn URL**:\n[Link to Google Sheets sample file](https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit?usp=sharing)\n\n![](https://i.postimg.cc/PxmX6FJw/sample-linkedin-url-lead-profile-enrichment.png)"},"typeVersion":1},{"id":"5e1ee124-d91a-4428-85fb-6f02dd335a54","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-5664,144],"parameters":{"color":5,"width":784,"height":900,"content":"## 1. Input & Batch Processing\nFetches unenriched rows from Google Sheets and processes one LinkedIn URL at a time."},"typeVersion":1},{"id":"8af06cf7-5b87-4086-83e5-dc3e747da308","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-4848,144],"parameters":{"color":3,"width":1632,"height":896,"content":"## 2. Apify Scraping & Polling\nTriggers LinkedIn profile scrape and polls for completion every 15 seconds for 20x attempts, logs an error if no successful response."},"typeVersion":1},{"id":"56ff5899-7ad2-46e5-874c-9d599eca3b38","name":"Update Row in Google Sheet (2)","type":"n8n-nodes-base.googleSheets","position":[-2288,736],"parameters":{"columns":{"value":{"Status":"Done","Add date":"={{ new Date().toISOString() }}","Apify ID":"={{ $json.apifyLinkedInDatasetID }}","Industry":"={{ $json.latestCompanyIndustry }}","LinkedIn":"={{ $json.linkedinUrl }}","Location":"={{ $json.leadLocation }}","Last Name":"={{ $json.lastName }}","First Name":"={{ $json.firstName }}","row_number":"={{ $('Get Rows - Not Enriched Yet').item.json.row_number }}","Company URL":"={{ $json.companyWebsite }}","Company Name":"={{ $json.companyName }}","Company SIze":"={{ $json.companySize }}","Job Position":"={{ $json.latestJobTitle }}","LI Other Profile Information":"=Headline: {{ $json.linkedInHeadline || 'Nothing added' }}\n\nSummary: {{ $json.aboutPersonLead || 'Nothing added' }}\n\nJob_description: {{ $json.latestJobDescription || 'Unknown' }}\n\nOther Current Roles:\n{{ $json.additionalCurrentJobs || 'None' }}\n\n\nprevious_employer_most_recent (may match current company, e.g. change of role in same company):\n- company_and_end_date: {{ $json.oldPreviousCompanyName || 'None provided' }}\n\nrecent_post_activity:\n{{ $json.linkedInUpdatesPostsActivity || 'No Posts' }}"},"schema":[{"id":"LinkedIn","type":"string","display":true,"removed":false,"required":false,"displayName":"LinkedIn","defaultMatch":false,"canBeUsedToMatch":true},{"id":"First Name","type":"string","display":true,"removed":false,"required":false,"displayName":"First Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Last Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Position","type":"string","display":true,"removed":false,"required":false,"displayName":"Job Position","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Location","type":"string","display":true,"removed":false,"required":false,"displayName":"Location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Industry","type":"string","display":true,"removed":false,"required":false,"displayName":"Industry","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Add date","type":"string","display":true,"removed":false,"required":false,"displayName":"Add date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Company URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company SIze","type":"string","display":true,"removed":false,"required":false,"displayName":"Company SIze","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LI Other Profile Information","type":"string","display":true,"removed":false,"required":false,"displayName":"LI Other Profile Information","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"removed":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Apify ID","type":"string","display":true,"removed":false,"required":false,"displayName":"Apify ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["row_number"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit?usp=drivesdk","cachedResultName":"Lead Enrichment with LinkedIn Profile URLs"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"typeVersion":4.7},{"id":"0395efb3-9c91-406a-82b1-b7abec5db05d","name":"Update Row in Google Sheet","type":"n8n-nodes-base.googleSheets","position":[-3424,624],"parameters":{"columns":{"value":{"Status":"={{ $json.linkedInData }}","Apify ID":"={{ $('Check Status').item.json.data.id }}","row_number":"={{ $json.rowNumber }}"},"schema":[{"id":"LinkedIn","type":"string","display":true,"required":false,"displayName":"LinkedIn","defaultMatch":false,"canBeUsedToMatch":true},{"id":"First Name","type":"string","display":true,"removed":false,"required":false,"displayName":"First Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Last Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Position","type":"string","display":true,"removed":false,"required":false,"displayName":"Job Position","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Country","type":"string","display":true,"required":false,"displayName":"Country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Location","type":"string","display":true,"required":false,"displayName":"Location","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Industry","type":"string","display":true,"required":false,"displayName":"Industry","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Add date","type":"string","display":true,"required":false,"displayName":"Add date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company URL","type":"string","display":true,"required":false,"displayName":"Company URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company SIze","type":"string","display":true,"removed":false,"required":false,"displayName":"Company SIze","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LI Key Profile Information","type":"string","display":true,"removed":false,"required":false,"displayName":"LI Key Profile Information","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"removed":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Apify ID","type":"string","display":true,"removed":false,"required":false,"displayName":"Apify ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["row_number"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1kLOvqW5__U62IinkTCB6R8zVXHdlMayTz4werxnxXtU/edit?usp=drivesdk","cachedResultName":"Lead Enrichment with LinkedIn Profile URLs"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"typeVersion":4.7},{"id":"b9d873b8-f6e8-4110-b2b9-68b7ee1779e1","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-3184,144],"parameters":{"color":4,"width":1120,"height":896,"content":"## 3. Data Extraction & Output\nExtracts detailed profile outputs (name, job position, company, other roles, recent posts etc), and writes enriched data back to Google Sheets."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"d3e33a6b-1f8c-441c-bb5c-1353920fd83b","connections":{"Merge":{"main":[[{"node":"Update Row in Google Sheet (2)","type":"main","index":0}]]},"Check Status":{"main":[[{"node":"Update Loop Counter","type":"main","index":0}]]},"Check if Ready":{"main":[[{"node":"Fetch LinkedIn Data","type":"main","index":0}],[{"node":"Check Max Retries","type":"main","index":0}]]},"Store Run Info":{"main":[[{"node":"Wait 15 Seconds","type":"main","index":0}]]},"Wait 15 Seconds":{"main":[[{"node":"Check Status","type":"main","index":0}]]},"Check Max Retries":{"main":[[{"node":"Wait 15 Seconds","type":"main","index":0}],[{"node":"Prepare Error Message","type":"main","index":0}]]},"Start Apify Scrape":{"main":[[{"node":"Store Run Info","type":"main","index":0}]]},"Fetch LinkedIn Data":{"main":[[{"node":"Get 2 Most Recent Posts","type":"main","index":0},{"node":"Get Other Current Jobs","type":"main","index":0},{"node":"Set Other Key LinkedIn Data","type":"main","index":0}]]},"Update Loop Counter":{"main":[[{"node":"Check if Ready","type":"main","index":0}]]},"Prepare Error Message":{"main":[[{"node":"Update Row in Google Sheet","type":"main","index":0}]]},"Get Other Current Jobs":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Get 2 Most Recent Posts":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Process One Row at a Time":{"main":[[],[{"node":"Start Apify Scrape","type":"main","index":0}]]},"Update Row in Google Sheet":{"main":[[{"node":"Process One Row at a Time","type":"main","index":0}]]},"Get Rows - Not Enriched Yet":{"main":[[{"node":"Process One Row at a Time","type":"main","index":0}]]},"Set Other Key LinkedIn Data":{"main":[[{"node":"Merge","type":"main","index":2}]]},"Update Row in Google Sheet (2)":{"main":[[{"node":"Process One Row at a Time","type":"main","index":0}]]},"When clicking 'Execute Workflow'":{"main":[[{"node":"Get Rows - Not Enriched Yet","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":23,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":5},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.googleSheets":{"count":3},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Dean Pike","username":"deanjp","bio":"Saving 20+ hours weekly for growing companies by putting their client-facing and back-office operations on autopilot.\n\nAs the Founder of TidyCurve, we build AI agents and workflow automations that replace critical repetitive work: from lead generation and customer support, to marketing, recruitment, and onboarding. We deploy scalable solutions in 4-8 weeks at a fraction of enterprise costs - backed by a 60-day 3x ROI guarantee.","verified":true,"links":["https://www.linkedin.com/in/deanpike/"],"avatar":"https://gravatar.com/avatar/efb6e19375a6691a97727acd050cf8e18e7530bb3f9e7cef7701c524ccb191cf?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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":37,"name":"Lead Generation"}],"image":[]}}