JotForm、HubSpot、メール、AIスコアリングを使った自動リードクオリファイケーション&ニルティング

中級

これはAI Summarization分野の自動化ワークフローで、12個のノードを含みます。主にIf, Set, Code, Slack, Hubspotなどのノードを使用。 JotForm、HubSpot、メール、AIスコアリングによる自動リードクオリファイアケーションと育成

前提条件
  • Slack Bot Token または Webhook URL
  • HubSpot API Key
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "162ac074e4d71c45bf56839ebdf3fced34910e0c755169697977507dcb193b1b",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "c016b293-b976-428f-b72c-f1d287c74a4d",
      "name": "JotFormトリガー",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -560,
        576
      ],
      "webhookId": "jotform-webhook",
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ae285cb5-4ac1-4cbf-beb7-37be3e90c747",
      "name": "リードデータ抽出・整形",
      "type": "n8n-nodes-base.set",
      "position": [
        -336,
        576
      ],
      "parameters": {
        "mode": "combine",
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 3.3
    },
    {
      "id": "681c776e-6e28-4b04-96fe-ea656438b55e",
      "name": "AIリードスコアリング",
      "type": "n8n-nodes-base.code",
      "position": [
        -112,
        576
      ],
      "parameters": {
        "jsCode": "// AI-powered lead scoring algorithm\nconst items = $input.all();\nconst scoredItems = [];\n\nfor (const item of items) {\n  const data = item.json;\n  let score = 0;\n  let qualificationNotes = [];\n  \n  // Email domain scoring (business vs personal)\n  const email = data.email || '';\n  const domain = email.split('@')[1] || '';\n  const personalDomains = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com'];\n  \n  if (!personalDomains.includes(domain.toLowerCase())) {\n    score += 25;\n    qualificationNotes.push('Business email domain (+25)');\n  } else {\n    qualificationNotes.push('Personal email domain (0)');\n  }\n  \n  // Company size scoring\n  const companySize = data.companySize || data.company_size || '';\n  if (companySize.includes('50+') || companySize.includes('100+') || companySize.includes('500+')) {\n    score += 30;\n    qualificationNotes.push('Large company size (+30)');\n  } else if (companySize.includes('10-50') || companySize.includes('25-99')) {\n    score += 20;\n    qualificationNotes.push('Medium company size (+20)');\n  } else {\n    score += 10;\n    qualificationNotes.push('Small company size (+10)');\n  }\n  \n  // Budget scoring\n  const budget = data.budget || data.estimatedBudget || '';\n  if (budget.includes('$10,000+') || budget.includes('$25,000+') || budget.includes('Enterprise')) {\n    score += 25;\n    qualificationNotes.push('High budget (+25)');\n  } else if (budget.includes('$5,000') || budget.includes('$10,000')) {\n    score += 15;\n    qualificationNotes.push('Medium budget (+15)');\n  } else {\n    score += 5;\n    qualificationNotes.push('Lower budget (+5)');\n  }\n  \n  // Timeline scoring (urgency)\n  const timeline = data.timeline || data.implementation_timeline || '';\n  if (timeline.includes('Immediately') || timeline.includes('Within 1 month') || timeline.includes('ASAP')) {\n    score += 20;\n    qualificationNotes.push('Urgent timeline (+20)');\n  } else if (timeline.includes('1-3 months') || timeline.includes('Next quarter')) {\n    score += 10;\n    qualificationNotes.push('Medium timeline (+10)');\n  } else {\n    score += 5;\n    qualificationNotes.push('Long timeline (+5)');\n  }\n  \n  // Determine lead tier\n  let leadTier = 'Cold';\n  if (score >= 75) {\n    leadTier = 'Hot';\n  } else if (score >= 50) {\n    leadTier = 'Warm';\n  }\n  \n  scoredItems.push({\n    json: {\n      ...data,\n      leadScore: score,\n      leadTier: leadTier,\n      qualificationNotes: qualificationNotes,\n      scoredAt: new Date().toISOString()\n    }\n  });\n}\n\nreturn scoredItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "c3bf276b-f38e-47e5-87e4-b0055d6aa140",
      "name": "リード品質によるルーティング",
      "type": "n8n-nodes-base.if",
      "position": [
        112,
        576
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "hot-lead",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.leadTier }}",
              "rightValue": "Hot"
            },
            {
              "id": "warm-lead",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.leadTier }}",
              "rightValue": "Warm"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6ad68ea3-621f-4abd-b8c6-1b6d55c8d95e",
      "name": "HubSpot CRMへ追加",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        560,
        384
      ],
      "parameters": {
        "operation": "create"
      },
      "typeVersion": 2
    },
    {
      "id": "cfb3e0c8-9b5d-43e5-ab58-6a5cd542f566",
      "name": "Google Sheetsへ記録",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        336,
        768
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $json.firstName }} {{ $json.lastName }}",
            "Email": "={{ $json.email }}",
            "Phone": "={{ $json.phone }}",
            "Budget": "={{ $json.budget }}",
            "Source": "JotForm",
            "Status": "New",
            "Company": "={{ $json.company }}",
            "Timeline": "={{ $json.timeline }}",
            "Lead Tier": "={{ $json.leadTier }}",
            "Timestamp": "={{ $now.toISO() }}",
            "Lead Score": "={{ $json.leadScore }}",
            "Company Size": "={{ $json.companySize }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "your-spreadsheet-id",
          "cachedResultName": "Lead Tracker"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "27c1fd07-3abf-4183-8c5f-a39c859b5652",
      "name": "営業チーム通知(ホットリード)",
      "type": "n8n-nodes-base.slack",
      "position": [
        336,
        240
      ],
      "webhookId": "a119a8a8-18dd-4783-be1f-24112f82edd9",
      "parameters": {
        "text": "🔥 *HOT LEAD ALERT!*\n\n*{{ $json.firstName }} {{ $json.lastName }}* from *{{ $json.company }}*\n📧 {{ $json.email }}\n📱 {{ $json.phone }}\n\n*Lead Score:* {{ $json.leadScore }}/100\n*Tier:* {{ $json.leadTier }}\n*Budget:* {{ $json.budget }}\n*Timeline:* {{ $json.timeline }}\n*Company Size:* {{ $json.companySize }}\n\n*Qualification Notes:*\n{{ $json.qualificationNotes.join('\\n') }}\n\n_Action Required: Follow up within 1 hour!_",
        "otherOptions": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "a02fd656-7794-45f1-9695-fcf64c51a825",
      "name": "個人別メール生成",
      "type": "n8n-nodes-base.code",
      "position": [
        336,
        576
      ],
      "parameters": {
        "jsCode": "// Generate personalized email content based on lead data\nconst items = $input.all();\nconst emailItems = [];\n\nfor (const item of items) {\n  const data = item.json;\n  const firstName = data.firstName || data.first_name || data.name?.split(' ')[0] || 'there';\n  const company = data.company || data.companyName || 'your company';\n  const leadTier = data.leadTier || 'Warm';\n  \n  let subject = '';\n  let body = '';\n  \n  if (leadTier === 'Hot') {\n    subject = `Quick follow-up - Let's get ${company} started!`;\n    body = `Hi ${firstName},\n\nThank you for your interest! I noticed you're looking to get started soon, and I wanted to reach out personally.\n\nBased on your requirements:\n• Budget: ${data.budget}\n• Timeline: ${data.timeline}\n• Company size: ${data.companySize}\n\nI've reserved a spot in my calendar for a demo specifically tailored to ${company}'s needs. We can show you exactly how our solution will work for you.\n\nI'm available for a quick 15-minute call tomorrow. What time works best for you?\n\nLooking forward to speaking soon!\n\nBest regards,\nSales Team`;\n  } else {\n    subject = `Great to connect, ${firstName}! Here's what you need to know`;\n    body = `Hi ${firstName},\n\nThank you for reaching out! I'm excited to learn more about ${company} and how we can help.\n\nI've put together some resources that I think you'll find valuable:\n\n📊 Case Study: How companies like yours improved results by 3x\n📹 Quick Demo: See our platform in action (5 min video)\n📚 Guide: Best practices for your industry\n\nI'll follow up in a few days to see if you have any questions. In the meantime, feel free to reply to this email or book a time on my calendar: [Calendar Link]\n\nBest regards,\nSales Team`;\n  }\n  \n  emailItems.push({\n    json: {\n      ...data,\n      emailSubject: subject,\n      emailBody: body\n    }\n  });\n}\n\nreturn emailItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "fbe3c39e-0c45-42c9-a524-89448f0056b7",
      "name": "個人別メール送信",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        560,
        576
      ],
      "webhookId": "645b63b2-4336-4149-83be-3de2d28985e6",
      "parameters": {
        "options": {
          "replyTo": "sales@yourcompany.com",
          "allowUnauthorizedCerts": false
        },
        "subject": "={{ $json.emailSubject }}",
        "toEmail": "={{ $json.email }}",
        "fromEmail": "sales@yourcompany.com"
      },
      "typeVersion": 2.1
    },
    {
      "id": "6959cd8f-3c3e-4584-ad90-382404e801d9",
      "name": "マーケティング通知(ウォーム/コールドリード)",
      "type": "n8n-nodes-base.slack",
      "position": [
        336,
        960
      ],
      "webhookId": "8dc28fe0-5a5d-482c-bf3c-b99b99431916",
      "parameters": {
        "text": "📋 *New Lead Submission*\n\n*{{ $json.firstName }} {{ $json.lastName }}* from *{{ $json.company }}*\n📧 {{ $json.email }}\n\n*Lead Score:* {{ $json.leadScore }}/100\n*Tier:* {{ $json.leadTier }}\n\n_Automated nurture sequence initiated_",
        "otherOptions": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "2a936548-a209-4577-a514-09eafb7a51d2",
      "name": "デイリーサマリー作成",
      "type": "n8n-nodes-base.set",
      "position": [
        784,
        480
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "summary-text",
              "name": "dailySummary",
              "type": "string",
              "value": "={{ $json.totalLeads }} new leads processed:\n• {{ $json.hotLeads }} Hot Leads\n• {{ $json.warmLeads }} Warm Leads  \n• {{ $json.coldLeads }} Cold Leads\n\nAverage Lead Score: {{ $json.avgScore }}/100"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "6552c1da-6b0d-4501-9768-587246d1b94c",
      "name": "付箋メモ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        400
      ],
      "parameters": {
        "width": 500,
        "height": 476,
        "content": "# 🎯 Lead Qualification & Nurturing System\n\nAuto-captures JotForm leads, scores them by AI, and sends hot leads to sales, others to marketing. All leads go to HubSpot and Google Sheets, with Slack alerts and auto follow-up email.\n\n**Scoring:** Based on email, company size, budget, and timeline.\n\n**Setup:**  \n- Connect JotForm, HubSpot, Sheets, Slack, SMTP  \n- Map fields  \n- Adjust score logic and email templates\n\n**Results:**  \n- Respond faster, convert more, eliminate manual entry\n\n*Built by Daniel Shashko*  \n[Connect on LinkedIn](https://www.linkedin.com/in/daniel-shashko/)"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "681c776e-6e28-4b04-96fe-ea656438b55e": {
      "main": [
        [
          {
            "node": "c3bf276b-f38e-47e5-87e4-b0055d6aa140",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c016b293-b976-428f-b72c-f1d287c74a4d": {
      "main": [
        [
          {
            "node": "ae285cb5-4ac1-4cbf-beb7-37be3e90c747",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ad68ea3-621f-4abd-b8c6-1b6d55c8d95e": {
      "main": [
        [
          {
            "node": "2a936548-a209-4577-a514-09eafb7a51d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c3bf276b-f38e-47e5-87e4-b0055d6aa140": {
      "main": [
        [
          {
            "node": "6ad68ea3-621f-4abd-b8c6-1b6d55c8d95e",
            "type": "main",
            "index": 0
          },
          {
            "node": "cfb3e0c8-9b5d-43e5-ab58-6a5cd542f566",
            "type": "main",
            "index": 0
          },
          {
            "node": "27c1fd07-3abf-4183-8c5f-a39c859b5652",
            "type": "main",
            "index": 0
          },
          {
            "node": "a02fd656-7794-45f1-9695-fcf64c51a825",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "6ad68ea3-621f-4abd-b8c6-1b6d55c8d95e",
            "type": "main",
            "index": 0
          },
          {
            "node": "cfb3e0c8-9b5d-43e5-ab58-6a5cd542f566",
            "type": "main",
            "index": 0
          },
          {
            "node": "6959cd8f-3c3e-4584-ad90-382404e801d9",
            "type": "main",
            "index": 0
          },
          {
            "node": "a02fd656-7794-45f1-9695-fcf64c51a825",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fbe3c39e-0c45-42c9-a524-89448f0056b7": {
      "main": [
        [
          {
            "node": "2a936548-a209-4577-a514-09eafb7a51d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ae285cb5-4ac1-4cbf-beb7-37be3e90c747": {
      "main": [
        [
          {
            "node": "681c776e-6e28-4b04-96fe-ea656438b55e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a02fd656-7794-45f1-9695-fcf64c51a825": {
      "main": [
        [
          {
            "node": "fbe3c39e-0c45-42c9-a524-89448f0056b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - AI要約

有料ですか?

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

ワークフロー情報
難易度
中級
ノード数12
カテゴリー1
ノードタイプ9
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Daniel Shashko

Daniel Shashko

@tomax

AI automation specialist and a marketing enthusiast. More than 6 years of experience in SEO/GEO. Senior SEO at Bright Data.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34