セールスパイプライン自動化ダッシュボード

上級

これはCRM, AI Summarization分野の自動化ワークフローで、22個のノードを含みます。主にIf, Code, Slack, Hubspot, Webhookなどのノードを使用。 HubSpot CRM、ScrapeGraphAI、Google Sheets ダッシュボードを使って販売パイプラインを自動化

前提条件
  • Slack Bot Token または Webhook URL
  • HubSpot API Key
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "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": "自動化されたリードモニタートリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        400,
        800
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 2
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "crm-webhook-trigger",
      "name": "CRM新規リードWebhookトリガー",
      "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リードスクレイパー",
      "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\": \"john@company.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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "company-enrichment-scraper",
      "name": "AI企業情報エンリッチメントスクレイパー",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "financial-data-scraper",
      "name": "AI財務データスクレイパー",
      "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\": \"contact@acmecorp.com\", \"phone\": \"+1-555-ACME\" } } }",
        "websiteUrl": "={{ 'https://www.crunchbase.com/organization/' + $json.company_name.toLowerCase().replace(/[^a-z0-9]/g, '-') }}"
      },
      "credentials": {
        "scrapegraphAIApi": {
          "id": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "lead-intelligence-processor",
      "name": "リードインテリジェンスプロセッサー",
      "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": "リードカテゴリ分岐",
      "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連絡先作成",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "crm-deal-creator",
      "name": "CRM取引作成",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "welcome-email-sender",
      "name": "ウェルカムメール送信",
      "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": "sales@yourcompany.com",
          "fromName": "Sales Team"
        }
      },
      "credentials": {
        "sendEmail": {
          "id": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "sales-task-creator",
      "name": "セールスタスク作成",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "slack-notification-sender",
      "name": "Slack通知送信",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dashboard-logger",
      "name": "ダッシュボードロガー",
      "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": "",
          "name": ""
        }
      },
      "typeVersion": 4
    },
    {
      "id": "overview-sticky-note",
      "name": "ワークフロー概要",
      "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": "リードモニタリングシステム",
      "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データ抽出",
      "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": "データエンリッチメントシステム",
      "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": "リードインテリジェンス処理",
      "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": "リードカテゴリ分岐とルーティング",
      "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とセールス自動化",
      "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": "チーム通知と分析",
      "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": "セットアップと設定ガイド",
      "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": {
    "crm-leads-scraper": {
      "main": [
        [
          {
            "node": "company-enrichment-scraper",
            "type": "main",
            "index": 0
          },
          {
            "node": "financial-data-scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "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-webhook-trigger": {
      "main": [
        [
          {
            "node": "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
          }
        ]
      ]
    },
    "company-enrichment-scraper": {
      "main": [
        [
          {
            "node": "lead-intelligence-processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "sales-pipeline-trigger": {
      "main": [
        [
          {
            "node": "crm-leads-scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 2
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - 顧客管理, AI要約

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数22
カテゴリー2
ノードタイプ10
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34