{
  "workflow": {
    "id": 6432,
    "name": "Automate sales pipeline with HubSpot CRM, ScrapeGraphAI & Google Sheets dashboard",
    "views": 599,
    "recentViews": 0,
    "totalViews": 599,
    "createdAt": "2025-07-25T11:16:36.900Z",
    "description": "# Sales Pipeline Automation Dashboard with AI Lead Intelligence\n\n## 🎯 Target Audience\n- Sales managers and team leads\n- Business development representatives\n- Marketing teams managing lead generation\n- CRM administrators and sales operations\n- Account executives and sales representatives\n- Sales enablement professionals\n- Revenue operations (RevOps) teams\n\n## 🚀 Problem Statement\nManual lead qualification and sales pipeline management is inefficient and often leads to missed opportunities or poor lead prioritization. This template solves the challenge of automatically scoring, qualifying, and routing leads using AI-powered intelligence to maximize conversion rates and sales team productivity.\n\n## 🔧 How it Works\n\nThis workflow automatically processes new leads using AI-powered intelligence, scores and qualifies them based on multiple factors, and automates the entire sales pipeline from lead capture to deal creation.\n\n### Key Components\n\n1. **Dual Trigger System** - Scheduled monitoring and webhook triggers for real-time lead processing\n2. **AI-Powered Lead Intelligence** - Advanced scoring algorithm based on 7 key factors\n3. **Multi-Source Data Enrichment** - LinkedIn and Crunchbase integration for comprehensive lead profiles\n4. **Automated Sales Actions** - Intelligent routing, task creation, and follow-up sequences\n5. **Multi-Platform Integration** - HubSpot CRM, Slack notifications, and Google Sheets dashboard\n\n## 📊 Google Sheets Column Specifications\n\nThe template creates the following columns in your Google Sheets:\n\n| Column | Data Type | Description | Example |\n|--------|-----------|-------------|---------|\n| **timestamp** | DateTime | When the lead was processed | \"2024-01-15T10:30:00Z\" |\n| **lead_id** | String | Unique lead identifier | \"LEAD-2024-001234\" |\n| **first_name** | String | Lead's first name | \"John\" |\n| **last_name** | String | Lead's last name | \"Smith\" |\n| **email** | String | Lead's email address | \"john@company.com\" |\n| **company_name** | String | Company name | \"Acme Corp\" |\n| **job_title** | String | Lead's job title | \"Marketing Director\" |\n| **lead_score** | Number | AI-calculated score (0-100) | 85 |\n| **grade** | String | Lead grade (A+, A, B+, B, C+) | \"A+\" |\n| **category** | String | Lead category | \"Enterprise\" |\n| **priority** | String | Priority level | \"Critical\" |\n| **lead_source** | String | How the lead was acquired | \"Website Form\" |\n| **assigned_rep** | String | Assigned sales representative | \"Senior AE\" |\n| **company_size** | String | Company employee count | \"201-500 employees\" |\n| **industry** | String | Company industry | \"Technology\" |\n| **funding_stage** | String | Company funding stage | \"Series B\" |\n| **estimated_value** | String | Estimated deal value | \"$50K-100K\" |\n\n## 🛠️ Setup Instructions\n\n**Estimated setup time: 25-30 minutes**\n\n### Prerequisites\n- n8n instance with community nodes enabled\n- ScrapeGraphAI API account and credentials\n- HubSpot CRM account with API access\n- Google Sheets account with API access\n- Slack workspace for notifications (optional)\n- Email service for welcome emails (optional)\n\n### Step-by-Step Configuration\n\n#### 1. Install Community Nodes\n```bash\n# Install required community nodes\nnpm install n8n-nodes-scrapegraphai\nnpm install n8n-nodes-slack\n```\n\n#### 2. Configure ScrapeGraphAI Credentials\n- Navigate to Credentials in your n8n instance\n- Add new ScrapeGraphAI API credentials\n- Enter your API key from ScrapeGraphAI dashboard\n- Test the connection to ensure it's working\n\n#### 3. Set up HubSpot CRM Integration\n- Add HubSpot API credentials\n- Grant necessary permissions for contacts, deals, and tasks\n- Configure custom properties for lead scoring and qualification\n- Test the connection to ensure it's working\n\n#### 4. Set up Google Sheets Connection\n- Add Google Sheets OAuth2 credentials\n- Grant necessary permissions for spreadsheet access\n- Create a new spreadsheet for sales pipeline data\n- Configure the sheet name (default: \"Sales Pipeline\")\n\n#### 5. Configure Lead Scoring Parameters\n- Update the lead scoring weights in the Code node\n- Customize ideal customer profile criteria\n- Set automation trigger thresholds\n- Adjust sales rep assignment logic\n\n#### 6. Set up Notification Channels\n- Configure Slack webhook or API credentials\n- Set up email service credentials for welcome emails\n- Define notification preferences for different lead grades\n- Test notification delivery\n\n#### 7. Configure Triggers\n- Set up webhook endpoint for real-time lead capture\n- Configure scheduled trigger for periodic monitoring\n- Choose appropriate time zones for your business hours\n- Test both trigger mechanisms\n\n#### 8. Test and Validate\n- Run the workflow manually with sample lead data\n- Check HubSpot for proper contact and deal creation\n- Verify Google Sheets data formatting\n- Test all notification channels\n\n## 🔄 Workflow Customization Options\n\n### Modify Lead Scoring Algorithm\n- Adjust scoring weights for different factors\n- Add new scoring criteria (geographic location, technology stack, etc.)\n- Customize ideal customer profile parameters\n- Implement industry-specific scoring models\n\n### Extend Data Enrichment\n- Add more data sources (ZoomInfo, Apollo, etc.)\n- Include social media presence analysis\n- Add technographic data collection\n- Implement intent signal detection\n\n### Customize Sales Automation\n- Modify follow-up sequences for different lead categories\n- Add more sophisticated sales rep assignment logic\n- Implement territory-based routing\n- Add automated meeting scheduling\n\n### Output Customization\n- Add data visualization and reporting features\n- Implement sales pipeline analytics\n- Create executive dashboards with key metrics\n- Add conversion rate tracking and analysis\n\n## 📈 Use Cases\n\n- **Lead Qualification**: Automatically score and qualify incoming leads\n- **Sales Pipeline Management**: Streamline the entire sales process\n- **Lead Routing**: Intelligently assign leads to appropriate sales reps\n- **Follow-up Automation**: Ensure consistent and timely follow-up\n- **Sales Intelligence**: Provide comprehensive lead insights\n- **Performance Tracking**: Monitor sales team and pipeline performance\n\n## 🚨 Important Notes\n\n- Respect LinkedIn and Crunchbase terms of service and rate limits\n- Implement appropriate delays between requests to avoid rate limiting\n- Regularly review and update your lead scoring parameters\n- Monitor API usage to manage costs effectively\n- Keep your credentials secure and rotate them regularly\n- Ensure GDPR compliance for lead data processing\n\n## 🔧 Troubleshooting\n\n**Common Issues:**\n- ScrapeGraphAI connection errors: Verify API key and account status\n- HubSpot API errors: Check API key and permissions\n- Google Sheets permission errors: Check OAuth2 scope and permissions\n- Lead scoring errors: Review the Code node's JavaScript logic\n- Rate limiting: Adjust request frequency and implement delays\n\n**Support Resources:**\n- ScrapeGraphAI documentation and API reference\n- HubSpot API documentation and developer resources\n- n8n community forums for workflow assistance\n- Google Sheets API documentation for advanced configurations\n- Sales automation best practices and guidelines\n",
    "workflow": {
      "name": "Sales Pipeline Automation Dashboard",
      "tags": [
        {
          "id": "sales-automation",
          "name": "Sales Automation",
          "createdAt": "2024-01-15T10:00:00.000Z",
          "updatedAt": "2024-01-15T10:00:00.000Z"
        }
      ],
      "nodes": [
        {
          "id": "sales-pipeline-trigger",
          "name": "Automated Lead Monitor Trigger",
          "type": "n8n-nodes-base.scheduleTrigger",
          "position": [
            400,
            800
          ],
          "parameters": {
            "rule": {
              "interval": [
                {
                  "field": "hours",
                  "hoursInterval": 2
                }
              ]
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "crm-webhook-trigger",
          "name": "CRM New Lead Webhook Trigger",
          "type": "n8n-nodes-base.webhook",
          "position": [
            400,
            600
          ],
          "webhookId": "new-lead-webhook",
          "parameters": {
            "path": "new-lead-webhook",
            "options": {
              "noResponseBody": false
            },
            "httpMethod": "POST"
          },
          "typeVersion": 1.1
        },
        {
          "id": "crm-leads-scraper",
          "name": "AI CRM Leads Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            800,
            500
          ],
          "parameters": {
            "userPrompt": "Extract new leads from this CRM dashboard. Focus on lead information, contact details, and source data. Use this schema for response: { \"request_id\": \"unique_id\", \"status\": \"completed\", \"platform\": \"CRM System\", \"leads\": [{ \"lead_id\": \"LEAD-12345\", \"first_name\": \"John\", \"last_name\": \"Smith\", \"email\": \"user@example.com\", \"phone\": \"+1-555-0123\", \"company_name\": \"Acme Corp\", \"job_title\": \"Marketing Director\", \"lead_source\": \"Website Form\", \"campaign_source\": \"Google Ads\", \"lead_score\": null, \"status\": \"New\", \"created_date\": \"2024-01-15T10:30:00Z\", \"last_activity\": \"2024-01-15T10:30:00Z\", \"industry\": null, \"company_size\": null, \"annual_revenue\": null, \"website\": \"https://acmecorp.com\", \"linkedin_profile\": null, \"notes\": \"Interested in enterprise solution\", \"tags\": [\"enterprise\", \"marketing\"], \"assigned_sales_rep\": null, \"priority\": \"Medium\" }] }",
            "websiteUrl": "https://your-crm.com/leads/dashboard?status=new"
          },
          "credentials": {
            "scrapegraphAIApi": {
              "id": "credential-id",
              "name": "scrapegraphAIApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "company-enrichment-scraper",
          "name": "AI Company Enrichment Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            800,
            700
          ],
          "parameters": {
            "userPrompt": "Extract detailed company information from this LinkedIn company page for sales intelligence. Focus on company size, industry, recent news, and key personnel. Use this schema: { \"request_id\": \"unique_id\", \"status\": \"completed\", \"platform\": \"LinkedIn\", \"company_data\": { \"company_name\": \"Acme Corp\", \"industry\": \"Technology\", \"company_size\": \"201-500 employees\", \"headquarters\": \"San Francisco, CA\", \"founded\": \"2010\", \"website\": \"https://acmecorp.com\", \"description\": \"Leading provider of innovative solutions\", \"specialties\": [\"Software\", \"AI\", \"Machine Learning\"], \"recent_posts\": [{ \"title\": \"Company expansion announcement\", \"date\": \"2024-01-10T00:00:00Z\", \"engagement\": 125 }], \"key_personnel\": [{ \"name\": \"Jane CEO\", \"title\": \"Chief Executive Officer\", \"linkedin_url\": \"https://linkedin.com/in/janeceo\" }], \"company_updates\": [\"Recently raised Series B funding\", \"Expanding to European market\"], \"tech_stack\": [\"Salesforce\", \"HubSpot\", \"Slack\"], \"competitors\": [\"Competitor1\", \"Competitor2\"] } }",
            "websiteUrl": "={{ 'https://www.linkedin.com/company/' + $json.company_name.toLowerCase().replace(/[^a-z0-9]/g, '-') }}"
          },
          "credentials": {
            "scrapegraphAIApi": {
              "id": "credential-id",
              "name": "scrapegraphAIApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "financial-data-scraper",
          "name": "AI Financial Data Scraper",
          "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
          "position": [
            800,
            900
          ],
          "parameters": {
            "userPrompt": "Extract funding and financial information from this Crunchbase company profile for lead qualification. Use this schema: { \"request_id\": \"unique_id\", \"status\": \"completed\", \"platform\": \"Crunchbase\", \"financial_data\": { \"company_name\": \"Acme Corp\", \"total_funding\": \"$50M\", \"last_funding_round\": \"Series B\", \"last_funding_date\": \"2023-06-15T00:00:00Z\", \"funding_amount\": \"$25M\", \"valuation\": \"$200M\", \"investors\": [\"VC Fund 1\", \"Angel Investor\"], \"employee_count\": 350, \"growth_stage\": \"Growth\", \"revenue_estimate\": \"$10M-50M\", \"funding_history\": [{ \"round\": \"Series A\", \"amount\": \"$10M\", \"date\": \"2021-03-01\" }], \"acquisition_history\": [], \"ipo_status\": \"Private\", \"contact_info\": { \"email\": \"user@example.com\", \"phone\": \"+1-555-ACME\" } } }",
            "websiteUrl": "={{ 'https://www.crunchbase.com/organization/' + $json.company_name.toLowerCase().replace(/[^a-z0-9]/g, '-') }}"
          },
          "credentials": {
            "scrapegraphAIApi": {
              "id": "credential-id",
              "name": "scrapegraphAIApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "lead-intelligence-processor",
          "name": "Lead Intelligence Processor",
          "type": "n8n-nodes-base.code",
          "position": [
            1200,
            700
          ],
          "parameters": {
            "jsCode": "// Advanced Sales Pipeline Automation & Lead Intelligence Processing\nconst inputData = $input.all();\nconst processedLeads = [];\n\n// Configuration for lead scoring and qualification\nconst salesConfig = {\n  leadScoringWeights: {\n    company_size: {\n      '1-10 employees': 10,\n      '11-50 employees': 25,\n      '51-200 employees': 40,\n      '201-500 employees': 60,\n      '501-1000 employees': 80,\n      '1000+ employees': 100\n    },\n    industry_fit: {\n      'Technology': 90,\n      'Software': 95,\n      'Financial Services': 85,\n      'Healthcare': 80,\n      'Manufacturing': 70,\n      'Retail': 60,\n      'Education': 50,\n      'Non-profit': 20\n    },\n    funding_stage: {\n      'Seed': 30,\n      'Series A': 50,\n      'Series B': 70,\n      'Series C+': 85,\n      'IPO': 90,\n      'Profitable': 95\n    },\n    lead_source: {\n      'Website Form': 60,\n      'Demo Request': 90,\n      'Webinar': 70,\n      'Content Download': 40,\n      'Referral': 85,\n      'Cold Outreach': 20,\n      'Trade Show': 75,\n      'Partner': 80\n    },\n    job_title: {\n      'CEO': 95, 'CTO': 90, 'VP': 85, 'Director': 75,\n      'Manager': 60, 'Coordinator': 40, 'Specialist': 50,\n      'Analyst': 45, 'Assistant': 25\n    }\n  },\n  idealCustomerProfile: {\n    min_employees: 50,\n    target_industries: ['Technology', 'Software', 'Financial Services'],\n    min_funding: 5000000, // $5M\n    target_titles: ['CEO', 'CTO', 'VP', 'Director'],\n    priority_sources: ['Demo Request', 'Referral', 'Website Form']\n  },\n  automationTriggers: {\n    high_score_threshold: 70,\n    enterprise_threshold: 85,\n    immediate_follow_up_threshold: 90\n  }\n};\n\n// Advanced lead scoring algorithm\nfunction calculateLeadScore(lead, companyData, financialData) {\n  let totalScore = 0;\n  const scoringDetails = [];\n  \n  // Company size scoring\n  const companySize = companyData?.company_size || lead.company_size || 'Unknown';\n  const companySizeScore = salesConfig.leadScoringWeights.company_size[companySize] || 15;\n  totalScore += companySizeScore;\n  scoringDetails.push({ factor: 'Company Size', value: companySize, score: companySizeScore });\n  \n  // Industry fit scoring\n  const industry = companyData?.industry || lead.industry || 'Unknown';\n  const industryScore = salesConfig.leadScoringWeights.industry_fit[industry] || 30;\n  totalScore += industryScore;\n  scoringDetails.push({ factor: 'Industry Fit', value: industry, score: industryScore });\n  \n  // Funding stage scoring\n  const fundingStage = financialData?.last_funding_round || 'Unknown';\n  const fundingScore = salesConfig.leadScoringWeights.funding_stage[fundingStage] || 25;\n  totalScore += fundingScore;\n  scoringDetails.push({ factor: 'Funding Stage', value: fundingStage, score: fundingScore });\n  \n  // Lead source scoring\n  const leadSource = lead.lead_source || 'Unknown';\n  const sourceScore = salesConfig.leadScoringWeights.lead_source[leadSource] || 30;\n  totalScore += sourceScore;\n  scoringDetails.push({ factor: 'Lead Source', value: leadSource, score: sourceScore });\n  \n  // Job title scoring\n  const jobTitle = lead.job_title || '';\n  let titleScore = 30; // default\n  Object.entries(salesConfig.leadScoringWeights.job_title).forEach(([title, score]) => {\n    if (jobTitle.toLowerCase().includes(title.toLowerCase())) {\n      titleScore = Math.max(titleScore, score);\n    }\n  });\n  totalScore += titleScore;\n  scoringDetails.push({ factor: 'Job Title', value: jobTitle, score: titleScore });\n  \n  // Engagement and intent signals\n  let engagementScore = 0;\n  if (lead.lead_source === 'Demo Request') engagementScore += 20;\n  if (lead.notes && lead.notes.toLowerCase().includes('enterprise')) engagementScore += 15;\n  if (lead.notes && lead.notes.toLowerCase().includes('urgent')) engagementScore += 10;\n  if (lead.tags && lead.tags.includes('high-intent')) engagementScore += 15;\n  \n  totalScore += engagementScore;\n  scoringDetails.push({ factor: 'Engagement Signals', value: 'Multiple factors', score: engagementScore });\n  \n  // Company traction scoring\n  let tractionScore = 0;\n  if (financialData?.total_funding) {\n    const fundingAmount = parseFloat(financialData.total_funding.replace(/[^0-9.]/g, '')) * 1000000;\n    if (fundingAmount > 50000000) tractionScore += 25;\n    else if (fundingAmount > 10000000) tractionScore += 20;\n    else if (fundingAmount > 5000000) tractionScore += 15;\n    else if (fundingAmount > 1000000) tractionScore += 10;\n  }\n  \n  if (companyData?.recent_posts && companyData.recent_posts.length > 0) {\n    tractionScore += 10; // Active on social media\n  }\n  \n  totalScore += tractionScore;\n  scoringDetails.push({ factor: 'Company Traction', value: 'Funding + Activity', score: tractionScore });\n  \n  return {\n    total_score: Math.min(totalScore, 100), // Cap at 100\n    scoring_details: scoringDetails,\n    score_breakdown: {\n      company_size: companySizeScore,\n      industry_fit: industryScore,\n      funding_stage: fundingScore,\n      lead_source: sourceScore,\n      job_title: titleScore,\n      engagement: engagementScore,\n      traction: tractionScore\n    }\n  };\n}\n\n// Lead qualification and categorization\nfunction qualifyLead(lead, leadScore, companyData, financialData) {\n  const qualification = {\n    grade: 'C', // Default\n    category: 'Standard',\n    priority: 'Low',\n    fit_assessment: [],\n    red_flags: [],\n    opportunity_indicators: []\n  };\n  \n  // Grade assignment based on score\n  if (leadScore.total_score >= 85) qualification.grade = 'A+';\n  else if (leadScore.total_score >= 75) qualification.grade = 'A';\n  else if (leadScore.total_score >= 65) qualification.grade = 'B+';\n  else if (leadScore.total_score >= 55) qualification.grade = 'B';\n  else if (leadScore.total_score >= 45) qualification.grade = 'C+';\n  \n  // Category and priority assignment\n  if (leadScore.total_score >= salesConfig.automationTriggers.enterprise_threshold) {\n    qualification.category = 'Enterprise';\n    qualification.priority = 'Critical';\n  } else if (leadScore.total_score >= salesConfig.automationTriggers.high_score_threshold) {\n    qualification.category = 'High-Value';\n    qualification.priority = 'High';\n  } else if (leadScore.total_score >= 50) {\n    qualification.category = 'Qualified';\n    qualification.priority = 'Medium';\n  } else {\n    qualification.category = 'Nurture';\n    qualification.priority = 'Low';\n  }\n  \n  // Fit assessment\n  if (companyData?.company_size && companyData.company_size.includes('200+')) {\n    qualification.fit_assessment.push('Target company size');\n  }\n  \n  if (salesConfig.idealCustomerProfile.target_industries.includes(companyData?.industry)) {\n    qualification.fit_assessment.push('Target industry match');\n  }\n  \n  if (financialData?.last_funding_round && ['Series B', 'Series C+', 'IPO'].includes(financialData.last_funding_round)) {\n    qualification.fit_assessment.push('Well-funded company');\n  }\n  \n  // Red flags detection\n  if (companyData?.company_size && companyData.company_size.includes('1-10')) {\n    qualification.red_flags.push('Very small company');\n  }\n  \n  if (lead.email && lead.email.includes('gmail.com')) {\n    qualification.red_flags.push('Personal email address');\n  }\n  \n  if (!companyData?.website && !lead.website) {\n    qualification.red_flags.push('No company website');\n  }\n  \n  // Opportunity indicators\n  if (lead.lead_source === 'Demo Request') {\n    qualification.opportunity_indicators.push('Requested product demo');\n  }\n  \n  if (lead.notes && lead.notes.toLowerCase().includes('budget')) {\n    qualification.opportunity_indicators.push('Mentioned budget');\n  }\n  \n  if (companyData?.recent_posts && companyData.recent_posts.some(post => \n    post.title.toLowerCase().includes('hiring') || post.title.toLowerCase().includes('expansion'))) {\n    qualification.opportunity_indicators.push('Company in growth phase');\n  }\n  \n  return qualification;\n}\n\n// Sales automation recommendations\nfunction generateSalesActions(lead, qualification, leadScore) {\n  const actions = {\n    immediate_actions: [],\n    follow_up_sequence: [],\n    sales_rep_assignment: 'Auto-assign',\n    meeting_priority: 'Standard',\n    email_template: 'standard_intro',\n    calendar_booking_type: 'discovery_call'\n  };\n  \n  // Immediate actions based on score and qualification\n  if (leadScore.total_score >= salesConfig.automationTriggers.immediate_follow_up_threshold) {\n    actions.immediate_actions.push('Send immediate personal email');\n    actions.immediate_actions.push('Schedule same-day call');\n    actions.sales_rep_assignment = 'Senior AE';\n    actions.meeting_priority = 'Urgent';\n    actions.email_template = 'high_value_intro';\n  } else if (leadScore.total_score >= salesConfig.automationTriggers.enterprise_threshold) {\n    actions.immediate_actions.push('Add to priority sequence');\n    actions.immediate_actions.push('Research company background');\n    actions.sales_rep_assignment = 'Enterprise AE';\n    actions.meeting_priority = 'High';\n    actions.email_template = 'enterprise_intro';\n  } else if (leadScore.total_score >= salesConfig.automationTriggers.high_score_threshold) {\n    actions.immediate_actions.push('Add to qualified lead sequence');\n    actions.sales_rep_assignment = 'Standard AE';\n    actions.email_template = 'qualified_intro';\n  } else {\n    actions.immediate_actions.push('Add to nurture sequence');\n    actions.sales_rep_assignment = 'Junior AE';\n    actions.email_template = 'nurture_intro';\n  }\n  \n  // Follow-up sequence generation\n  if (qualification.category === 'Enterprise') {\n    actions.follow_up_sequence = [\n      'Day 1: Personal welcome email + calendar invite',\n      'Day 2: Follow-up call attempt',\n      'Day 3: Executive summary email',\n      'Day 5: Case study sharing',\n      'Day 7: Executive meeting proposal'\n    ];\n  } else if (qualification.category === 'High-Value') {\n    actions.follow_up_sequence = [\n      'Day 1: Welcome email with demo offer',\n      'Day 3: Follow-up call',\n      'Day 5: Product demo scheduling',\n      'Day 10: ROI calculator sharing'\n    ];\n  } else {\n    actions.follow_up_sequence = [\n      'Day 1: Welcome email',\n      'Day 7: Educational content',\n      'Day 14: Industry insights',\n      'Day 21: Product webinar invitation'\n    ];\n  }\n  \n  return actions;\n}\n\n// Main processing logic\nfor (const data of inputData) {\n  try {\n    const lead = data.leads?.[0] || data;\n    const companyData = data.company_data || {};\n    const financialData = data.financial_data || {};\n    \n    // Calculate lead score\n    const leadScore = calculateLeadScore(lead, companyData, financialData);\n    \n    // Qualify lead\n    const qualification = qualifyLead(lead, leadScore, companyData, financialData);\n    \n    // Generate sales actions\n    const salesActions = generateSalesActions(lead, qualification, leadScore);\n    \n    // Create comprehensive lead record\n    const processedLead = {\n      ...lead,\n      lead_score: leadScore.total_score,\n      scoring_details: leadScore.scoring_details,\n      score_breakdown: leadScore.score_breakdown,\n      qualification: qualification,\n      sales_actions: salesActions,\n      processing_timestamp: new Date().toISOString(),\n      enriched_data: {\n        company: companyData,\n        financial: financialData\n      }\n    };\n    \n    processedLeads.push(processedLead);\n  } catch (error) {\n    console.error('Error processing lead:', error);\n  }\n}\n\nreturn processedLeads;"
          },
          "typeVersion": 2
        },
        {
          "id": "lead-categorization-splitter",
          "name": "Lead Categorization Splitter",
          "type": "n8n-nodes-base.if",
          "position": [
            1400,
            700
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "or",
              "conditions": [
                {
                  "id": "enterprise-leads",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.qualification.category }}",
                  "rightValue": "Enterprise"
                },
                {
                  "id": "high-value-leads",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.qualification.category }}",
                  "rightValue": "High-Value"
                },
                {
                  "id": "qualified-leads",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.qualification.category }}",
                  "rightValue": "Qualified"
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "crm-contact-creator",
          "name": "CRM Contact Creator",
          "type": "n8n-nodes-base.hubspot",
          "position": [
            1600,
            600
          ],
          "parameters": {
            "resource": "contact",
            "operation": "create",
            "additionalFields": {
              "email": "={{ $json.email }}",
              "phone": "={{ $json.phone }}",
              "status": "Qualified Lead",
              "company": "={{ $json.company_name }}",
              "jobTitle": "={{ $json.job_title }}",
              "lastName": "={{ $json.last_name }}",
              "firstName": "={{ $json.first_name }}",
              "leadScore": "={{ $json.lead_score }}",
              "leadSource": "={{ $json.lead_source }}",
              "customFields": {
                "red_flags": "={{ JSON.stringify($json.qualification.red_flags) }}",
                "lead_grade": "={{ $json.qualification.grade }}",
                "lead_category": "={{ $json.qualification.category }}",
                "lead_priority": "={{ $json.qualification.priority }}",
                "email_template": "={{ $json.sales_actions.email_template }}",
                "fit_assessment": "={{ JSON.stringify($json.qualification.fit_assessment) }}",
                "scoring_details": "={{ JSON.stringify($json.scoring_details) }}",
                "meeting_priority": "={{ $json.sales_actions.meeting_priority }}",
                "immediate_actions": "={{ JSON.stringify($json.sales_actions.immediate_actions) }}",
                "follow_up_sequence": "={{ JSON.stringify($json.sales_actions.follow_up_sequence) }}",
                "sales_rep_assignment": "={{ $json.sales_actions.sales_rep_assignment }}",
                "enriched_company_data": "={{ JSON.stringify($json.enriched_data.company) }}",
                "opportunity_indicators": "={{ JSON.stringify($json.qualification.opportunity_indicators) }}",
                "enriched_financial_data": "={{ JSON.stringify($json.enriched_data.financial) }}"
              }
            }
          },
          "credentials": {
            "hubspotApi": {
              "id": "credential-id",
              "name": "hubspotApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "crm-deal-creator",
          "name": "CRM Deal Creator",
          "type": "n8n-nodes-base.hubspot",
          "position": [
            1600,
            800
          ],
          "parameters": {
            "resource": "deal",
            "operation": "create",
            "additionalFields": {
              "amount": "={{ $json.enriched_data.financial.revenue_estimate || '50000' }}",
              "dealname": "={{ $json.company_name + ' - ' + $json.job_title + ' Deal' }}",
              "closedate": "={{ new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toISOString().split('T')[0] }}",
              "dealstage": "Qualification",
              "customFields": {
                "industry": "={{ $json.enriched_data.company.industry || 'Unknown' }}",
                "lead_grade": "={{ $json.qualification.grade }}",
                "lead_score": "={{ $json.lead_score }}",
                "deal_source": "={{ $json.lead_source }}",
                "company_size": "={{ $json.enriched_data.company.company_size || 'Unknown' }}",
                "deal_priority": "={{ $json.qualification.priority }}",
                "funding_stage": "={{ $json.enriched_data.financial.last_funding_round || 'Unknown' }}",
                "lead_category": "={{ $json.qualification.category }}",
                "expected_value": "={{ $json.enriched_data.financial.revenue_estimate || '50000' }}",
                "assigned_sales_rep": "={{ $json.sales_actions.sales_rep_assignment }}"
              }
            }
          },
          "credentials": {
            "hubspotApi": {
              "id": "credential-id",
              "name": "hubspotApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "welcome-email-sender",
          "name": "Welcome Email Sender",
          "type": "n8n-nodes-base.sendEmail",
          "position": [
            1800,
            700
          ],
          "parameters": {
            "message": "={{ '<h2>Welcome ' + $json.first_name + '!</h2><p>Thank you for your interest in our solutions. Based on your profile at ' + $json.company_name + ', we believe we can help you achieve your goals.</p><p><strong>Next Steps:</strong></p><ul>' + $json.sales_actions.immediate_actions.map(action => '<li>' + action + '</li>').join('') + '</ul><p>We look forward to connecting with you!</p>' }}",
            "subject": "={{ 'Welcome ' + $json.first_name + ' - Next Steps for ' + $json.company_name }}",
            "toEmail": "={{ $json.email }}",
            "emailType": "html",
            "additionalFields": {
              "replyTo": "user@example.com",
              "fromName": "Sales Team"
            }
          },
          "credentials": {
            "sendEmail": {
              "id": "credential-id",
              "name": "sendEmail Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "sales-task-YOUR_OPENAI_KEY_HERE",
          "name": "Sales Task Creator",
          "type": "n8n-nodes-base.hubspot",
          "position": [
            1800,
            900
          ],
          "parameters": {
            "resource": "task",
            "operation": "create",
            "additionalFields": {
              "status": "Not Started",
              "dueDate": "={{ new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString() }}",
              "subject": "={{ 'Follow up with ' + $json.first_name + ' ' + $json.last_name + ' from ' + $json.company_name }}",
              "priority": "={{ $json.qualification.priority === 'Critical' ? 'High' : $json.qualification.priority }}",
              "description": "={{ 'Lead Score: ' + $json.lead_score + '\\nGrade: ' + $json.qualification.grade + '\\nCategory: ' + $json.qualification.category + '\\nImmediate Actions: ' + $json.sales_actions.immediate_actions.join(', ') + '\\nFollow-up Sequence: ' + $json.sales_actions.follow_up_sequence.join('\\n') }}",
              "customFields": {
                "deal_value": "={{ $json.enriched_data.financial.revenue_estimate || '50000' }}",
                "lead_grade": "={{ $json.qualification.grade }}",
                "lead_score": "={{ $json.lead_score }}",
                "assigned_sales_rep": "={{ $json.sales_actions.sales_rep_assignment }}"
              }
            }
          },
          "credentials": {
            "hubspotApi": {
              "id": "credential-id",
              "name": "hubspotApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "slack-notification-sender",
          "name": "Slack Notification Sender",
          "type": "n8n-nodes-base.slack",
          "position": [
            2000,
            700
          ],
          "parameters": {
            "text": "={{ '🚨 NEW HIGH-VALUE LEAD: ' + $json.first_name + ' ' + $json.last_name + ' from ' + $json.company_name + '\\n📊 Lead Score: ' + $json.lead_score + ' (' + $json.qualification.grade + ')\\n🎯 Category: ' + $json.qualification.category + '\\n💰 Estimated Value: ' + ($json.enriched_data.financial.revenue_estimate || 'Unknown') + '\\n👤 Assigned to: ' + $json.sales_actions.sales_rep_assignment + '\\n⚡ Priority: ' + $json.qualification.priority }}",
            "channel": "sales-alerts",
            "otherOptions": {
              "username": "Sales Pipeline Bot",
              "icon_emoji": ":rocket:"
            }
          },
          "credentials": {
            "slackApi": {
              "id": "credential-id",
              "name": "slackApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "dashboard-logger",
          "name": "Dashboard Logger",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            2000,
            900
          ],
          "parameters": {
            "options": {
              "headerRow": true
            },
            "operation": "append",
            "sheetName": "Processed Leads",
            "documentId": "sales-pipeline-dashboard",
            "valuesToSend": {
              "matchingColumns": [
                {
                  "value": "={{ new Date().toISOString() }}",
                  "column": "Timestamp"
                },
                {
                  "value": "={{ $json.lead_id }}",
                  "column": "Lead ID"
                },
                {
                  "value": "={{ $json.first_name + ' ' + $json.last_name }}",
                  "column": "Name"
                },
                {
                  "value": "={{ $json.company_name }}",
                  "column": "Company"
                },
                {
                  "value": "={{ $json.job_title }}",
                  "column": "Job Title"
                },
                {
                  "value": "={{ $json.email }}",
                  "column": "Email"
                },
                {
                  "value": "={{ $json.lead_score }}",
                  "column": "Lead Score"
                },
                {
                  "value": "={{ $json.qualification.grade }}",
                  "column": "Grade"
                },
                {
                  "value": "={{ $json.qualification.category }}",
                  "column": "Category"
                },
                {
                  "value": "={{ $json.qualification.priority }}",
                  "column": "Priority"
                },
                {
                  "value": "={{ $json.lead_source }}",
                  "column": "Lead Source"
                },
                {
                  "value": "={{ $json.sales_actions.sales_rep_assignment }}",
                  "column": "Assigned Rep"
                },
                {
                  "value": "={{ $json.enriched_data.company.company_size || 'Unknown' }}",
                  "column": "Company Size"
                },
                {
                  "value": "={{ $json.enriched_data.company.industry || 'Unknown' }}",
                  "column": "Industry"
                },
                {
                  "value": "={{ $json.enriched_data.financial.last_funding_round || 'Unknown' }}",
                  "column": "Funding Stage"
                },
                {
                  "value": "={{ $json.enriched_data.financial.revenue_estimate || 'Unknown' }}",
                  "column": "Estimated Value"
                },
                {
                  "value": "={{ $json.sales_actions.immediate_actions.join('; ') }}",
                  "column": "Immediate Actions"
                },
                {
                  "value": "={{ $json.qualification.red_flags.join('; ') }}",
                  "column": "Red Flags"
                },
                {
                  "value": "={{ $json.qualification.opportunity_indicators.join('; ') }}",
                  "column": "Opportunity Indicators"
                }
              ]
            },
            "valueToMatchOn": "",
            "columnToMatchOn": ""
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4
        },
        {
          "id": "overview-sticky-note",
          "name": "Workflow Overview",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            400,
            100
          ],
          "parameters": {
            "color": 0,
            "width": 600,
            "height": 400,
            "content": "# 🎯 Sales Pipeline Automation Overview\n\nThis comprehensive workflow automates the entire lead processing pipeline from initial capture to CRM integration and team notifications.\n\n## Key Components\n1. **Dual Trigger System** - Scheduled monitoring + real-time webhooks\n2. **AI-Powered Data Enrichment** - LinkedIn & Crunchbase integration\n3. **Advanced Lead Scoring** - 0-100 point algorithm with multiple factors\n4. **Smart Routing & CRM Integration** - Automated contact/deal creation\n5. **Intelligent Follow-up** - Personalized email sequences\n6. **Team Collaboration** - Slack notifications & task assignment\n7. **Analytics & Reporting** - Google Sheets dashboard\n\n## Benefits\n- 90% reduction in manual lead processing time\n- Consistent lead qualification across all sources\n- Immediate response to high-value prospects\n- Complete audit trail and performance analytics"
          },
          "typeVersion": 1
        },
        {
          "id": "triggers-sticky-note",
          "name": "Lead Monitoring System",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            280,
            450
          ],
          "parameters": {
            "color": 4,
            "width": 500,
            "height": 350,
            "content": "# ⏱️ Automated Lead Monitoring\n\nDual trigger system ensures no leads are missed:\n\n## Schedule Trigger\n- **Frequency**: Every 2 hours (configurable)\n- **Purpose**: Systematic CRM scanning for new leads\n- **Best for**: Batch processing and backup monitoring\n\n## Webhook Trigger\n- **Type**: Real-time HTTP POST endpoint\n- **Purpose**: Instant processing of new lead notifications\n- **Best for**: Immediate response to high-priority leads\n\n## Configuration Tips\n- Set schedule frequency based on lead volume\n- Monitor webhook reliability and add fallback logic\n- Use different time zones if operating globally\n- Test both triggers regularly to ensure reliability"
          },
          "typeVersion": 1
        },
        {
          "id": "scraper-sticky-note",
          "name": "CRM Data Extraction",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            680,
            450
          ],
          "parameters": {
            "color": 5,
            "width": 500,
            "height": 350,
            "content": "# 🤖 AI-Powered Data Extraction\n\nScrapeGraph AI intelligently extracts structured lead data from your CRM dashboard using natural language processing.\n\n## How It Works\n- **Input**: CRM dashboard URL with new leads\n- **Processing**: AI analyzes page content and extracts relevant data\n- **Output**: Structured JSON with lead information\n\n## Key Features\n- Natural language prompts for data extraction\n- Handles dynamic web content and JavaScript\n- Flexible schema definition for custom fields\n- Error handling for missing or malformed data\n\n## Configuration\n- Update the website URL to match your CRM\n- Customize the extraction schema for your data fields\n- Add ScrapeGraph AI API credentials\n- Test with sample pages to verify extraction accuracy"
          },
          "typeVersion": 1
        },
        {
          "id": "enrichment-sticky-note",
          "name": "Data Enrichment System",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            680,
            850
          ],
          "parameters": {
            "color": 5,
            "width": 500,
            "height": 350,
            "content": "# 🏢 Company Intelligence Enrichment\n\nAutomatically enriches lead data with comprehensive company information from LinkedIn and financial data from Crunchbase.\n\n## LinkedIn Enrichment\n- Company size and industry classification\n- Recent news and company updates\n- Key personnel and decision makers\n- Technology stack and competitive landscape\n- Social media activity and engagement metrics\n\n## Crunchbase Financial Data\n- Funding rounds and total investment\n- Company valuation and growth stage\n- Investor information and partnerships\n- Revenue estimates and employee count\n- Acquisition history and IPO status\n\n## Benefits\n- Enhanced lead qualification accuracy\n- Better sales rep assignment decisions\n- Personalized outreach opportunities\n- Risk assessment through red flag detection"
          },
          "typeVersion": 1
        },
        {
          "id": "scoring-sticky-note",
          "name": "Lead Intelligence Processing",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1080,
            450
          ],
          "parameters": {
            "color": 1,
            "width": 550,
            "height": 450,
            "content": "# 🧠 Advanced Lead Scoring Algorithm\n\nSophisticated JavaScript processor that calculates lead scores based on multiple weighted factors.\n\n## Scoring Factors (0-100 points)\n- **Company Size**: 10-100 points based on employee count\n- **Industry Fit**: 20-95 points for target industry alignment\n- **Funding Stage**: 30-95 points based on investment rounds\n- **Lead Source**: 20-90 points for source quality (demo > referral > form)\n- **Job Title**: 25-95 points for decision-making authority\n- **Engagement Signals**: 0-50 points for intent indicators\n- **Company Traction**: 0-35 points for growth signals\n\n## Lead Grading System\n- **A+ (85-100)**: Enterprise priority, immediate follow-up\n- **A (75-84)**: High-value leads, priority sequence\n- **B+ (65-74)**: Qualified prospects, standard process\n- **B (55-64)**: Good prospects, nurture sequence\n- **C+ (45-54)**: Marginal leads, long-term nurture\n- **C (0-44)**: Low priority, minimal follow-up\n\n## Automation Triggers\n- **90+ Score**: Same-day personal outreach\n- **85+ Score**: Enterprise AE assignment\n- **70+ Score**: Priority follow-up sequence"
          },
          "typeVersion": 1
        },
        {
          "id": "routing-sticky-note",
          "name": "Lead Categorization & Routing",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1280,
            450
          ],
          "parameters": {
            "color": 3,
            "width": 500,
            "height": 350,
            "content": "# 🔀 Smart Lead Routing\n\nIntelligent conditional logic routes qualified leads through automated action sequences based on their scores and categories.\n\n## Routing Logic\n- **Enterprise (85+)**: Critical priority path\n- **High-Value (70-84)**: Expedited processing\n- **Qualified (50-69)**: Standard workflow\n- **Below 50**: Filtered out or nurture sequence\n\n## Quality Gates\n- Red flag detection prevents low-quality leads\n- Opportunity indicators boost lead priority\n- Fit assessment validates ideal customer profile\n- Multiple validation checks ensure data quality\n\n## Benefits\n- Prevents sales team overload with low-quality leads\n- Ensures high-value prospects get immediate attention\n- Maintains consistent lead qualification standards\n- Optimizes sales rep time allocation"
          },
          "typeVersion": 1
        },
        {
          "id": "crm-sticky-note",
          "name": "CRM & Sales Automation",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1480,
            450
          ],
          "parameters": {
            "color": 6,
            "width": 550,
            "height": 400,
            "content": "# 💼 CRM Integration & Automation\n\nSeamlessly integrates with HubSpot CRM to create enriched contact records and sales opportunities.\n\n## Contact Creation\n- Complete lead profile with enriched data\n- Custom fields for scoring and intelligence\n- Automatic lead source and campaign attribution\n- Sales rep assignment based on lead category\n\n## Deal Generation\n- Automatic opportunity creation with estimated value\n- Deal stage set to qualification phase\n- Priority and category tags for pipeline management\n- 90-day close date estimation\n\n## Task Management\n- Automated follow-up task creation\n- Priority assignment based on lead score\n- Detailed task descriptions with action items\n- Sales rep assignment and due date scheduling\n\n## Email Automation\n- Personalized welcome emails with dynamic content\n- Template selection based on lead category\n- Immediate actions and next steps included\n- Professional formatting with company branding"
          },
          "typeVersion": 1
        },
        {
          "id": "collaboration-sticky-note",
          "name": "Team Notifications & Analytics",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1880,
            450
          ],
          "parameters": {
            "color": 7,
            "width": 550,
            "height": 400,
            "content": "# 🔔 Team Collaboration & Analytics\n\nReal-time notifications and comprehensive reporting keep the entire sales team informed and aligned.\n\n## Slack Integration\n- Instant notifications for high-value leads\n- Lead score, category, and assignment details\n- Estimated deal value and priority indicators\n- Direct links to CRM records for quick access\n\n## Analytics Dashboard\n- Google Sheets integration for comprehensive reporting\n- Lead scoring trends and conversion metrics\n- Sales rep performance and assignment tracking\n- Red flag analysis and opportunity indicators\n- Historical data for trend analysis\n\n## Reporting Features\n- Real-time lead processing logs\n- Performance metrics by source and category\n- Scoring distribution and qualification rates\n- Follow-up completion and conversion tracking\n\n## Benefits\n- Complete visibility into lead pipeline\n- Data-driven sales process optimization\n- Team accountability and performance tracking\n- Historical analysis for continuous improvement"
          },
          "typeVersion": 1
        },
        {
          "id": "config-sticky-note",
          "name": "Setup & Configuration Guide",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1080,
            100
          ],
          "parameters": {
            "color": 0,
            "width": 550,
            "height": 400,
            "content": "# ⚙️ Configuration Requirements\n\n## Required API Credentials\n- **ScrapeGraph AI**: API key for web scraping\n- **HubSpot**: OAuth2 for CRM integration\n- **Email Service**: SMTP or service provider credentials\n- **Slack**: Bot token for team notifications\n- **Google Sheets**: OAuth2 for analytics dashboard\n\n## URL Configuration\n- Update CRM dashboard URLs to match your system\n- Configure webhook endpoints for real-time triggers\n- Set LinkedIn company page URL patterns\n- Configure Crunchbase organization URLs\n\n## Customization Options\n- Modify lead scoring weights in processor code\n- Adjust automation thresholds for different priorities\n- Customize email templates and follow-up sequences\n- Configure sales rep assignment rules\n\n## Testing Checklist\n- Verify all API connections and credentials\n- Test webhook endpoints with sample data\n- Validate data extraction schemas\n- Check CRM field mappings and custom properties\n- Test email delivery and Slack notifications"
          },
          "typeVersion": 1
        }
      ],
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "updatedAt": "2024-01-15T10:00:00.000Z",
      "versionId": "1",
      "staticData": null,
      "connections": {
        "AI CRM Leads Scraper": {
          "main": [
            [
              {
                "node": "AI Company Enrichment Scraper",
                "type": "main",
                "index": 0
              },
              {
                "node": "AI Financial Data Scraper",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Financial Data Scraper": {
          "main": [
            [
              {
                "node": "Lead Intelligence Processor",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Lead Intelligence Processor": {
          "main": [
            [
              {
                "node": "Lead Categorization Splitter",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "CRM New Lead Webhook Trigger": {
          "main": [
            [
              {
                "node": "AI CRM Leads Scraper",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Lead Categorization Splitter": {
          "main": [
            [
              {
                "node": "CRM Contact Creator",
                "type": "main",
                "index": 0
              },
              {
                "node": "CRM Deal Creator",
                "type": "main",
                "index": 0
              },
              {
                "node": "Welcome Email Sender",
                "type": "main",
                "index": 0
              },
              {
                "node": "Sales Task Creator",
                "type": "main",
                "index": 0
              },
              {
                "node": "Slack Notification Sender",
                "type": "main",
                "index": 0
              },
              {
                "node": "Dashboard Logger",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Company Enrichment Scraper": {
          "main": [
            [
              {
                "node": "Lead Intelligence Processor",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Automated Lead Monitor Trigger": {
          "main": [
            [
              {
                "node": "AI CRM Leads Scraper",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      },
      "triggerCount": 2
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 22,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 1
        },
        "n8n-nodes-base.code": {
          "count": 1
        },
        "n8n-nodes-base.slack": {
          "count": 1
        },
        "n8n-nodes-base.hubspot": {
          "count": 3
        },
        "n8n-nodes-base.webhook": {
          "count": 1
        },
        "n8n-nodes-base.sendEmail": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 9
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-base.scheduleTrigger": {
          "count": 1
        },
        "n8n-nodes-scrapegraphai.scrapegraphAi": {
          "count": 3
        }
      }
    },
    "status": "published",
    "user": {
      "name": "vinci-king-01",
      "username": "vinci-king-01",
      "bio": "",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/marco-vinciguerra-7ba365242/"
      ],
      "avatar": "https://gravatar.com/avatar/d939eeef03a5fcb5df08bee8196f12ccb248c38209487414e419032004f0c014?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": 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": 40,
        "icon": "file:slack.svg",
        "name": "n8n-nodes-base.slack",
        "codex": {
          "data": {
            "alias": [
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/automations-for-activists/",
                  "icon": "✨",
                  "label": "How Common Knowledge use workflow automation for activism"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/slack/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Slack"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "Slack",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 47,
        "icon": "file:webhook.svg",
        "name": "n8n-nodes-base.webhook",
        "codex": {
          "data": {
            "alias": [
              "HTTP",
              "API",
              "Build",
              "WH"
            ],
            "resources": {
              "generic": [
                {
                  "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/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "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/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/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, 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/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/creating-custom-incident-response-workflows-with-n8n/",
                  "label": "How to automate every step of an incident response workflow"
                },
                {
                  "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/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-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Webhook"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"
        },
        "displayName": "Webhook",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 76,
        "icon": "file:hubspot.svg",
        "name": "n8n-nodes-base.hubspot",
        "codex": {
          "data": {
            "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/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/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "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"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.hubspot/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/hubspot/"
                }
              ]
            },
            "categories": [
              "Sales"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "HubSpot"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjIuODgzIDY5Ljg4MyI+PHVzZSB4bGluazpocmVmPSIjYSIgeD0iMi40NDIiIHk9IjIuNDQyIi8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGZpbGw9IiNmODc2MWYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSJub25lIiBkPSJNNTUuNTA0IDMwLjQwMWExNi4yNiAxNi4yNiAwIDAgMC01LjkwNC01Ljg2NGMtMS44NjUtMS4wODQtMy43OTQtMS43NzMtNS45NzItMi4wN3YtNy43OThhNS43MSA1LjcxIDAgMCAwIDMuNTI1LTUuMzU3IDUuODYgNS44NiAwIDAgMC01Ljg1OS01Ljg4OSA1LjkxIDUuOTEgMCAwIDAtNS45MDggNS44ODljMCAyLjM5MyAxLjI3IDQuNDM0IDMuNDUyIDUuMzU3djcuNzU0YTE3IDE3IDAgMCAwLTUuMTk1IDEuNjMxTDEyLjc2OSA4LjI0N2MuMTQ2LS41NTIuMjczLTEuMTIzLjI3My0xLjcyNEE2LjUyIDYuNTIgMCAwIDAgNi41MTkgMCA2LjUyIDYuNTIgMCAwIDAgMCA2LjUyNGE2LjUyMyA2LjUyMyAwIDAgMCA2LjUyNCA2LjUyNCA2LjQ3IDYuNDcgMCAwIDAgMy4zNS0uOTUybDEuMzY3IDEuMDM1IDE4LjcyNiAxMy41MDFjLS45OTEuOTA4LTEuOTE0IDEuOTQzLTIuNjUxIDMuMTA1LTEuNDk0IDIuMzY4LTIuNDA3IDQuOTcxLTIuNDA3IDcuODEzdi41ODZhMTYuNCAxNi40IDAgMCAwIDEuMDI1IDUuNjQ1QzI2LjUgNDUuMzI0IDI3LjMzIDQ2LjczIDI4LjM2MSA0OGwtNi4yMjEgNi4yMzVhNS4wMSA1LjAxIDAgMCAwLTUuMjk4IDEuMTYyYy0uOTQ3Ljk0Mi0xLjQ4IDIuMjI3LTEuNDc1IDMuNTY1cy41MjcgMi42MTIgMS40NzkgMy41NjQgMi4yMjcgMS40OCAzLjU2NSAxLjQ4YTUgNSAwIDAgMCAzLjU2NS0xLjQ4IDUuMDUgNS4wNSAwIDAgMCAxLjQ3NS0zLjU2NCA1IDUgMCAwIDAtLjIzNC0xLjUxNGw2LjQyNi02LjQyNmExNiAxNiAwIDAgMCAyLjg1NiAxLjU2MyAxNi43IDE2LjcgMCAwIDAgNi42ODUgMS40MDZoLjQzOWExNS43NiAxNS43NiAwIDAgMCA3LjYyNy0xLjkyOSAxNS43NyAxNS43NyAwIDAgMCA1Ljk3Ny01LjYzYzEuNDk5LTIuMzkzIDIuMzE5LTUuMDQ0IDIuMzE5LTcuOTU5di0uMTQ2YzAtMi44NjYtLjY2NC01LjUwOC0yLjA1MS03Ljkzem0tNy44NDcgMTMuNDg3Yy0xLjc0MyAxLjkzOC0zLjc1IDMuMTM1LTYuMDE2IDMuMTM1aC0uNDNjLTEuMjk0IDAtMi41NjQtLjM1Ni0zLjc5OS0xLjAxMWE4LjggOC44IDAgMCAxLTMuMzMtMy4wMzJjLS44OTgtMS4yNy0xLjM4Ny0yLjY1Ni0xLjM4Ny00LjEyNnYtLjQzOWMwLTEuNDQ1LjI3OC0yLjgxNy45NzctNC4xMTEuNzQ3LTEuNDY1IDEuNzU4LTIuNTE1IDMuMTAxLTMuMzg5YTcuNiA3LjYgMCAwIDEgNC4yOTctMS4yOTRoLjE0N2MxLjQxNiAwIDIuNzY5LjI3OCA0LjAzOC45MjhhOC41NiA4LjU2IDAgMCAxIDMuMTc0IDIuODg2IDkuMiA5LjIgMCAwIDEgMS40MjEgNC4wNTNsLjAzNC45MTNjMCAxLjk4Ny0uNzYyIDMuODI4LTIuMjggNS40OTh6Ii8+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "HubSpot",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 2,
            "name": "Sales"
          }
        ]
      },
      {
        "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": 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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 39,
        "name": "CRM"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}