{"workflow":{"id":12712,"name":"Re-engage dormant leads with Claude emails using Crunchbase, NewsAPI, Hunter, and Gmail","views":37,"recentViews":0,"totalViews":37,"createdAt":"2026-01-14T18:18:32.070Z","description":" ## What this workflow does\n\n  Automatically re-engages dormant leads by detecting trigger events (funding rounds, company news, leadership changes) and generating personalized outreach emails. The workflow identifies leads inactive for 90+ days, checks multiple data sources for re-engagement opportunities, and sends AI-generated email drafts to sales reps for approval.\n\n  ## How it works\n\n  1. **Schedule** - Runs weekly (every Monday by default)\n  2. **CRM Data** - Pulls leads that have been inactive for 90+ days\n  3. **Trigger Detection** - Checks three sources in parallel:\n     - Crunchbase for funding events\n     - NewsAPI for company news\n     - Hunter.io for leadership changes\n  4. **AI Email** - Claude generates a personalized re-engagement email based on the detected trigger\n  5. **Rep Notification** - Sends the complete lead profile and email draft to the assigned sales rep for review\n\n  ## Setup steps\n\n  1. Replace **Load inactive leads (mock)** with your CRM integration (Salesforce, HubSpot, Pipedrive)\n  2. Add API credentials for trigger detection:\n     - NewsAPI (free at newsapi.org)\n     - Crunchbase (optional, paid)\n     - Hunter.io (free tier available)\n  3. Add your **Anthropic API** credentials for Claude\n  4. Add your **Gmail OAuth** credentials\n  5. Test with **Test workflow manually** node before enabling schedule\n\n  ## API keys required\n\n  | Service | Purpose | Cost |\n  |---------|---------|------|\n  | NewsAPI | Company news detection | Free (100 req/day) |\n  | Crunchbase | Funding event detection | $99/mo (optional) |\n  | Hunter.io | Leadership change detection | Free tier available |\n  | Anthropic | AI email generation | Pay per use |\n  | Gmail | Send notifications | Free |\n\n","workflow":{"id":"1hbilVbVUx21tgHt6130a","meta":{"instanceId":"3029945ca1a614a45f2f8c21dd75a6c031ae8ec72000e574e413eddf72e92b9b","templateCredsSetupCompleted":true},"name":"Re-engage dormant leads with AI emails and trigger detection","tags":[{"id":"K6D3K6nP6k9TByzr","name":"sales-automation","createdAt":"2026-01-14T17:39:47.009Z","updatedAt":"2026-01-14T17:39:47.009Z"},{"id":"2SnnL6kvLdsyRux5","name":"lead-reengagement","createdAt":"2026-01-14T17:39:47.009Z","updatedAt":"2026-01-14T17:39:47.009Z"}],"nodes":[{"id":"4f880962-44d0-4420-a770-e2484d90be4d","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[2848,2112],"parameters":{"color":5,"width":400,"height":636,"content":"## How it works\nThis workflow automatically re-engages dormant leads by detecting trigger events and generating personalized outreach emails.\n\n1. **Schedule** - Runs weekly (every Monday by default)\n2. **CRM Data** - Pulls leads inactive for 90+ days from your CRM\n3. **Trigger Detection** - Checks Crunchbase (funding), NewsAPI (company news), and Hunter.io (leadership changes) in parallel\n4. **AI Email** - Claude generates a personalized re-engagement email based on the trigger event\n5. **Rep Notification** - Sends the draft to the assigned sales rep for review and approval\n\n## Setup steps\n1. Replace the **Load inactive leads (mock)** node with your real CRM integration (Salesforce, HubSpot, etc.)\n2. Add API credentials for trigger detection:\n   - NewsAPI (free at newsapi.org)\n   - Crunchbase (optional, paid)\n   - Hunter.io (free tier available)\n3. Add your **Anthropic API** credentials for Claude\n4. Add your **Gmail OAuth** credentials\n5. Test with **Test workflow manually** node before enabling schedule"},"typeVersion":1},{"id":"a8c70f32-e03f-4af5-beed-2121ebe6a0ed","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[3520,2192],"parameters":{"color":7,"width":280,"height":80,"content":"**CRM Data**\nReplace mock data with your CRM (Salesforce, HubSpot, Pipedrive)"},"typeVersion":1},{"id":"b6655cb3-31e7-42ed-9b19-81b79d822a61","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[3904,2000],"parameters":{"color":7,"width":320,"height":80,"content":"**Trigger Detection**\nChecks funding, news, and leadership changes in parallel"},"typeVersion":1},{"id":"69cd8b89-5ff3-40f2-a80f-046708390450","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[4400,2192],"parameters":{"color":7,"width":300,"height":80,"content":"**AI Generation**\nClaude writes personalized re-engagement emails based on triggers"},"typeVersion":1},{"id":"86ee3b7b-b101-404f-9c55-2399ef4f2303","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[4736,2192],"parameters":{"color":7,"width":300,"height":80,"content":"**Email Output**\nFormats and sends draft to sales rep for approval"},"typeVersion":1},{"id":"0325568b-29ca-4020-a143-3420d048818e","name":"Weekly schedule trigger","type":"n8n-nodes-base.scheduleTrigger","position":[3344,2304],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtDay":[1]}]}},"typeVersion":1.2},{"id":"a34ca0f0-a5b3-4b6f-89f1-b81ae2fb62ca","name":"Load inactive leads (mock)","type":"n8n-nodes-base.code","position":[3552,2304],"parameters":{"jsCode":"// Mock CRM Data - Replace with actual CRM API call\n// To use real CRM: Replace this node with HTTP Request to Salesforce/HubSpot\n\nconst mockLeads = [\n  {\n    id: \"lead_001\",\n    company: \"TechNova Solutions\",\n    contact_name: \"Sarah Chen\",\n    contact_email: \"user@example.com\",\n    title: \"VP of Sales\",\n    status: \"Closed-Lost\",\n    last_activity_date: \"2024-08-15\",\n    industry: \"SaaS\",\n    company_size: \"50-200\",\n    assigned_rep: \"user@example.com\",\n    original_opportunity_value: 45000,\n    loss_reason: \"Budget constraints\"\n  },\n  {\n    id: \"lead_002\",\n    company: \"DataFlow Analytics\",\n    contact_name: \"Marcus Johnson\",\n    contact_email: \"user@example.com\",\n    title: \"Director of Operations\",\n    status: \"No Response\",\n    last_activity_date: \"2024-07-22\",\n    industry: \"Data Analytics\",\n    company_size: \"200-500\",\n    assigned_rep: \"user@example.com\",\n    original_opportunity_value: 78000,\n    loss_reason: \"Went dark after demo\"\n  },\n  {\n    id: \"lead_003\",\n    company: \"CloudFirst Inc\",\n    contact_name: \"Amanda Rodriguez\",\n    contact_email: \"user@example.com\",\n    title: \"Chief Revenue Officer\",\n    status: \"Closed-Lost\",\n    last_activity_date: \"2024-06-10\",\n    industry: \"Cloud Infrastructure\",\n    company_size: \"500-1000\",\n    assigned_rep: \"user@example.com\",\n    original_opportunity_value: 125000,\n    loss_reason: \"Chose competitor\"\n  },\n  {\n    id: \"lead_004\",\n    company: \"GreenLeaf Retail\",\n    contact_name: \"David Park\",\n    contact_email: \"user@example.com\",\n    title: \"Head of Digital\",\n    status: \"No Response\",\n    last_activity_date: \"2024-09-01\",\n    industry: \"E-commerce\",\n    company_size: \"100-200\",\n    assigned_rep: \"user@example.com\",\n    original_opportunity_value: 32000,\n    loss_reason: \"No response to follow-ups\"\n  },\n  {\n    id: \"lead_005\",\n    company: \"FinServe Global\",\n    contact_name: \"Rachel Thompson\",\n    contact_email: \"user@example.com\",\n    title: \"VP of Technology\",\n    status: \"Closed-Lost\",\n    last_activity_date: \"2024-05-18\",\n    industry: \"Financial Services\",\n    company_size: \"1000+\",\n    assigned_rep: \"user@example.com\",\n    original_opportunity_value: 250000,\n    loss_reason: \"Timing not right\"\n  }\n];\n\nreturn mockLeads.map(lead => ({ json: lead }));"},"typeVersion":2},{"id":"0b604ef2-4a00-4754-9990-a2ed0693cad0","name":"Filter dormant leads (90+ days)","type":"n8n-nodes-base.code","position":[3776,2304],"parameters":{"jsCode":"// Filter leads inactive for 90+ days\nconst today = new Date();\nconst ninetyDaysAgo = new Date(today.getTime() - (90 * 24 * 60 * 60 * 1000));\n\nconst items = $input.all();\nconst inactiveLeads = [];\n\nfor (const item of items) {\n  const lastActivity = new Date(item.json.last_activity_date);\n  if (lastActivity < ninetyDaysAgo) {\n    const daysInactive = Math.floor((today - lastActivity) / (1000 * 60 * 60 * 24));\n    inactiveLeads.push({\n      json: {\n        ...item.json,\n        days_inactive: daysInactive\n      }\n    });\n  }\n}\n\nreturn inactiveLeads;"},"typeVersion":2},{"id":"fc0dd085-12e6-4f31-882d-80212b9be73c","name":"Check funding events (Crunchbase)","type":"n8n-nodes-base.httpRequest","position":[4000,2112],"parameters":{"url":"=https://api.crunchbase.com/api/v4/autocompletes?query={{ $json.company }}","options":{"response":{"response":{"fullResponse":true}}},"sendHeaders":true,"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth","headerParameters":{"parameters":[{"name":"X-cb-user-key","value":"={{ $credentials.crunchbaseApiKey }}"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"6a1a9462-aca6-4674-aefd-6cba41c3a07d","name":"Check company news (NewsAPI)","type":"n8n-nodes-base.httpRequest","position":[4000,2304],"parameters":{"url":"=https://newsapi.org/v2/everything?q={{ encodeURIComponent($json.company) }}&sortBy=publishedAt&pageSize=5","options":{},"sendQuery":true,"authentication":"genericCredentialType","genericAuthType":"httpQueryAuth","queryParameters":{"parameters":[{"name":"apiKey","value":"={{ $credentials.newsApiKey }}"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"ca12ba47-cf8e-46a6-8521-ba119cb15057","name":"Check leadership changes (Hunter)","type":"n8n-nodes-base.httpRequest","position":[4000,2512],"parameters":{"url":"=https://api.hunter.io/v2/domain-search?domain={{ $json.company.toLowerCase().replace(/[^a-z0-9]/g, '') }}.com","options":{},"sendQuery":true,"authentication":"genericCredentialType","genericAuthType":"httpQueryAuth","queryParameters":{"parameters":[{"name":"api_key","value":"={{ $credentials.hunterApiKey }}"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"8bddfdd8-3b30-4f5c-945f-a7b017510a17","name":"Analyze trigger events","type":"n8n-nodes-base.code","position":[4224,2304],"parameters":{"jsCode":"// Combine and analyze trigger events from all sources\nconst leadData = $('Filter dormant leads (90+ days)').item.json;\nconst crunchbaseData = $('Check funding events (Crunchbase)').item.json || {};\nconst newsData = $('Check company news (NewsAPI)').item.json || {};\nconst hunterData = $('Check leadership changes (Hunter)').item.json || {};\n\nconst triggerEvents = [];\n\n// Check Crunchbase for funding events\nif (crunchbaseData.entities && crunchbaseData.entities.length > 0) {\n  const entity = crunchbaseData.entities[0];\n  if (entity.properties) {\n    if (entity.properties.last_funding_type) {\n      triggerEvents.push({\n        type: 'Funding',\n        source: 'Crunchbase',\n        details: `Recent ${entity.properties.last_funding_type} funding round`,\n        date: entity.properties.last_funding_at || 'Recent'\n      });\n    }\n  }\n}\n\n// Check NewsAPI for recent news\nif (newsData.articles && newsData.articles.length > 0) {\n  const recentArticle = newsData.articles[0];\n  const articleDate = new Date(recentArticle.publishedAt);\n  const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);\n  \n  if (articleDate > thirtyDaysAgo) {\n    triggerEvents.push({\n      type: 'News',\n      source: 'NewsAPI',\n      details: recentArticle.title,\n      date: recentArticle.publishedAt,\n      url: recentArticle.url\n    });\n  }\n}\n\n// Check Hunter for new executives\nif (hunterData.data && hunterData.data.emails) {\n  const executives = hunterData.data.emails.filter(e => \n    e.position && (\n      e.position.toLowerCase().includes('vp') ||\n      e.position.toLowerCase().includes('chief') ||\n      e.position.toLowerCase().includes('director') ||\n      e.position.toLowerCase().includes('head')\n    )\n  );\n  \n  if (executives.length > 0) {\n    // Note: Hunter doesn't provide hire dates, so this is a presence check\n    triggerEvents.push({\n      type: 'Leadership',\n      source: 'Hunter.io',\n      details: `Found ${executives.length} executive contacts at company`,\n      date: 'Current'\n    });\n  }\n}\n\n// Only proceed if we found trigger events\nif (triggerEvents.length === 0) {\n  return []; // Skip this lead - no triggers found\n}\n\nreturn [{\n  json: {\n    ...leadData,\n    trigger_events: triggerEvents,\n    primary_trigger: triggerEvents[0]\n  }\n}];"},"typeVersion":2},{"id":"d23cf94e-cb29-4210-821b-422eded211e7","name":"Generate re-engagement email","type":"@n8n/n8n-nodes-langchain.agent","position":[4432,2304],"parameters":{"text":"=Write a re-engagement email for the following lead:\n\nLEAD INFORMATION:\n- Name: {{ $json.contact_name }}\n- Title: {{ $json.title }}\n- Company: {{ $json.company }}\n- Industry: {{ $json.industry }}\n- Company Size: {{ $json.company_size }}\n\nHISTORY:\n- Previous Status: {{ $json.status }}\n- Days Since Last Contact: {{ $json.days_inactive }}\n- Original Loss Reason: {{ $json.loss_reason }}\n\nTRIGGER EVENT DETECTED:\n- Type: {{ $json.primary_trigger.type }}\n- Details: {{ $json.primary_trigger.details }}\n- Source: {{ $json.primary_trigger.source }}\n\nWrite the email now.","options":{"systemMessage":"You are a professional B2B sales email writer specializing in re-engagement campaigns. Your expertise is crafting emails that reconnect with dormant leads by leveraging recent company events as conversation starters.\n\nYour writing style:\n- Professional and formal tone\n- Concise and respectful of the reader's time\n- Value-focused, not salesy or pushy\n- Personalized based on the recipient's role and industry\n\nEmail structure you follow:\n1. Open with acknowledgment or congratulations on their recent news/achievement\n2. Brief, subtle reference to your previous connection (without being presumptuous)\n3. Clear value proposition relevant to their current situation\n4. Soft call-to-action suggesting a brief reconnection call\n\nConstraints:\n- Keep emails under 150 words\n- Never include subject lines in the body\n- Always end with [Your Name] as a placeholder for the sales rep\n- Never use generic phrases like \"I hope this email finds you well\""},"promptType":"define"},"typeVersion":3.1},{"id":"3612a7cf-6b8b-4088-8d96-92a3239c2e4c","name":"Claude Sonnet 4","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[4336,2528],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{"temperature":0.7,"maxTokensToSample":1024}},"credentials":{"anthropicApi":{"id":"credential-id","name":"Anthropic account"}},"typeVersion":1.3},{"id":"39482e0b-d9a0-42b0-a81b-6ba5b913ffec","name":"Format notification for rep","type":"n8n-nodes-base.code","position":[4736,2304],"parameters":{"jsCode":"// Format the final output for the rep notification email\nconst lead = $('Analyze trigger events').item.json;\nconst aiResponse = $('Generate re-engagement email').item.json;\n// Handle AI Agent output format\nconst emailDraft = aiResponse.output || aiResponse.text || aiResponse.message?.content || aiResponse.content || 'Error: Could not generate email';\n\nconst triggersFormatted = lead.trigger_events.map(t => \n  `- ${t.type} (${t.source}): ${t.details}`\n).join('\\n');\n\nconst repEmailBody = `\n===========================================\nRE-ENGAGEMENT OPPORTUNITY DETECTED\n===========================================\n\nLEAD DETAILS\n------------\nCompany: ${lead.company}\nContact: ${lead.contact_name}, ${lead.title}\nEmail: ${lead.contact_email}\nIndustry: ${lead.industry}\nCompany Size: ${lead.company_size}\n\nHISTORY\n-------\nOriginal Status: ${lead.status}\nLast Activity: ${lead.last_activity_date} (${lead.days_inactive} days ago)\nOriginal Opportunity: $${lead.original_opportunity_value.toLocaleString()}\nLoss Reason: ${lead.loss_reason}\n\nTRIGGER EVENTS DETECTED\n-----------------------\n${triggersFormatted}\n\n===========================================\nSUGGESTED EMAIL DRAFT\n===========================================\n\nSubject: Congratulations on ${lead.primary_trigger.details}\n\n${emailDraft}\n\n===========================================\n\nTo send this email, reply to this notification or log into your CRM.\n\n--\nLead Re-engagement Agent\nAutomated Lead Re-engagement System\n`;\n\nreturn [{\n  json: {\n    to: lead.assigned_rep,\n    subject: `Re-engagement Opportunity: ${lead.company} - ${lead.primary_trigger.type} Trigger`,\n    body: repEmailBody,\n    lead_id: lead.id,\n    lead_email: lead.contact_email,\n    draft_subject: `Congratulations on ${lead.primary_trigger.details}`,\n    draft_body: emailDraft\n  }\n}];"},"typeVersion":2},{"id":"8ad3c4f4-3e74-4438-90fe-5be15380b849","name":"Send notification (Gmail)","type":"n8n-nodes-base.gmail","position":[4992,2304],"webhookId":"7328ba8d-0941-4d71-a2e4-8b4ca2ff4f0d","parameters":{"sendTo":"={{ $json.to }}","message":"={{ $json.body }}","options":{},"subject":"={{ $json.subject }}"},"typeVersion":2.1},{"id":"6b6cc060-edc1-4cb4-ba4c-115e1938eaec","name":"Test workflow manually","type":"n8n-nodes-base.manualTrigger","position":[3344,2512],"parameters":{},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"8a7b6503-ef8f-4645-97dd-1388ab1d44d3","connections":{"Claude Sonnet 4":{"ai_languageModel":[[{"node":"Generate re-engagement email","type":"ai_languageModel","index":0}]]},"Analyze trigger events":{"main":[[{"node":"Generate re-engagement email","type":"main","index":0}]]},"Test workflow manually":{"main":[[{"node":"Load inactive leads (mock)","type":"main","index":0}]]},"Weekly schedule trigger":{"main":[[{"node":"Load inactive leads (mock)","type":"main","index":0}]]},"Load inactive leads (mock)":{"main":[[{"node":"Filter dormant leads (90+ days)","type":"main","index":0}]]},"Format notification for rep":{"main":[[{"node":"Send notification (Gmail)","type":"main","index":0}]]},"Check company news (NewsAPI)":{"main":[[{"node":"Analyze trigger events","type":"main","index":0}]]},"Generate re-engagement email":{"main":[[{"node":"Format notification for rep","type":"main","index":0}]]},"Filter dormant leads (90+ days)":{"main":[[{"node":"Check funding events (Crunchbase)","type":"main","index":0},{"node":"Check company news (NewsAPI)","type":"main","index":0},{"node":"Check leadership changes (Hunter)","type":"main","index":0}]]},"Check funding events (Crunchbase)":{"main":[[{"node":"Analyze trigger events","type":"main","index":0}]]},"Check leadership changes (Hunter)":{"main":[[{"node":"Analyze trigger events","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":17,"nodeTypes":{"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.manualTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"AI Sales Agent HQ","username":"daniellopezscoot","bio":"","verified":false,"links":["https://x.com/aisalesagenthq"],"avatar":"https://gravatar.com/avatar/3d5f97a3209d12207d5e0532e23819cf14372954b7130f49e20f116d06aefe4d?r=pg&d=retro&size=200"},"nodes":[{"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":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":38,"name":"Lead Nurturing"},{"id":51,"name":"Multimodal AI"}],"image":[]}}