優先のフォローキューエブルビルダー

上級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、18個のノードを含みます。主にSort, Limit, ClickUp, Function, GoogleSheetsなどのノードを使用。 Google Sheets + ClickUp を使った potential customer ランキングとタスク作成の自動化

前提条件
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "EHOx9tJ71PVTuz5c",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Priority Follow-Up Queue Builder",
  "tags": [],
  "nodes": [
    {
      "id": "f6fbaebc-f91b-4f31-810b-945d282a29b2",
      "name": "手動トリガー",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        944,
        704
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6dab30f9-0b1c-463f-909c-0b9239dbf1cd",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        624
      ],
      "parameters": {
        "width": 380,
        "height": 280,
        "content": "## 🚀 Workflow Start\n\nThis workflow automatically identifies and queues your highest-priority leads for follow-up.\n\n**What it does:**\n- Reads lead data from Google Sheets\n- Calculates priority scores based on engagement and recency\n- Selects top leads for follow-up\n- Creates tasks in ClickUp\n- Updates the sheet with queue status"
      },
      "typeVersion": 1
    },
    {
      "id": "24b80916-7fbf-415c-89fe-ec198bf10623",
      "name": "スプレッドシートから見込み客を読み取る",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1168,
        704
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98/edit?usp=drivesdk",
          "cachedResultName": "Priority followup"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "s4dP1fNuVZ2gWvs3",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "68039cea-d1b3-4395-88e9-ea530e8d2eec",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        352
      ],
      "parameters": {
        "width": 300,
        "height": 332,
        "content": "## 📊 Step 1: Read Lead Data\n\nFetches all leads from Google Sheet 'Sheet1'.\n\n**Expected columns:**\n- Lead Name\n- Last_Contact_Date\n- Engagement_Score\n- Timezone\n- Email\n- Status"
      },
      "typeVersion": 1
    },
    {
      "id": "a11cadaa-c5e6-4f36-8c09-be885e0484b0",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        864
      ],
      "parameters": {
        "width": 300,
        "height": 304,
        "content": "## ⏰ Step 2: Calculate Recency\n\nCalculates days since last contact for each lead.\n\n**Logic:**\n- Takes Last_Contact_Date\n- Compares with today\n- Adds Days_Since_Last_Contact field\n\n*Longer gaps = higher urgency*"
      },
      "typeVersion": 1
    },
    {
      "id": "58f3405e-6db0-4dee-8efc-704f460299d8",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        320
      ],
      "parameters": {
        "width": 300,
        "height": 340,
        "content": "## 🎯 Step 3: Calculate Priority\n\nCreates a Priority_Score for each lead.\n\n**Formula:**\n- 70% Engagement Score\n- 30% Recency Score\n\n**Example:**\nEngagement: 80/100\nDays since contact: 5\nRecency: 95/100\nPriority = (80×0.7)+(95×0.3) = 84.5"
      },
      "typeVersion": 1
    },
    {
      "id": "3501da06-dcb6-403a-96d1-8b8524958f7e",
      "name": "優先度スコアで並び替え",
      "type": "n8n-nodes-base.sort",
      "position": [
        1840,
        704
      ],
      "parameters": {
        "options": {},
        "sortFieldsUi": {
          "sortField": [
            {
              "order": "descending",
              "fieldName": "Priority_Score"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "367e537c-63b2-47bb-86b3-96102cc54081",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1776,
        880
      ],
      "parameters": {
        "width": 280,
        "height": 164,
        "content": "## 📈 Step 4: Sort Leads\n\nSorts all leads by Priority_Score in descending order.\n\nHighest priority leads appear first."
      },
      "typeVersion": 1
    },
    {
      "id": "b7f1fd67-804a-4f67-9817-e6be404a2aff",
      "name": "上位10件の見込み客を選択",
      "type": "n8n-nodes-base.limit",
      "position": [
        2064,
        704
      ],
      "parameters": {
        "maxItems": 10
      },
      "typeVersion": 1
    },
    {
      "id": "024f813e-41c8-42fb-a6c4-3a61b3d4232b",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2000,
        400
      ],
      "parameters": {
        "width": 280,
        "height": 264,
        "content": "## 🔝 Step 5: Filter Top Leads\n\nSelects only the top 10 highest-priority leads.\n\n**Adjustable:**\nChange maxItems to get more/fewer leads.\n\nCurrent setting: Top 10"
      },
      "typeVersion": 1
    },
    {
      "id": "a2905675-38e1-4ebb-892b-e428af5245f9",
      "name": "最適な送信時間を提案",
      "type": "n8n-nodes-base.function",
      "position": [
        2288,
        704
      ],
      "parameters": {
        "functionCode": "// Suggest optimal send time based on lead's timezone\nreturn items.map(item => {\n  const tz = (item.json.Timezone || '').toUpperCase();\n  let suggestedTime = '9:00 AM';\n  \n  // Timezone-specific recommendations\n  if (tz.includes('IST')) suggestedTime = '10:00 AM IST';\n  else if (tz.includes('PST')) suggestedTime = '9:00 AM PST';\n  else if (tz.includes('EST')) suggestedTime = '9:30 AM EST';\n  else if (tz.includes('GMT')) suggestedTime = '9:00 AM GMT';\n  \n  item.json.Suggested_Send_Time = suggestedTime;\n  \n  return item;\n});"
      },
      "typeVersion": 1
    },
    {
      "id": "a46f0103-bcdc-4d4b-957e-a2d0d1b8d532",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2224,
        880
      ],
      "parameters": {
        "width": 300,
        "height": 320,
        "content": "## 🕐 Step 6: Time Optimization\n\nSuggests best time to contact each lead based on their timezone.\n\n**Time zones supported:**\n- IST: 10:00 AM\n- PST: 9:00 AM\n- EST: 9:30 AM\n- GMT: 9:00 AM\n\n*Maximizes response rates*"
      },
      "typeVersion": 1
    },
    {
      "id": "2545f230-e090-413c-aec2-b02c1b82fc62",
      "name": "ClickUp タスクを作成",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        2512,
        704
      ],
      "parameters": {
        "list": "901611225384",
        "name": "={{ $json.Lead_Name }} - Priority Follow-up",
        "team": "90161261705",
        "space": "90165174252",
        "folderless": true,
        "additionalFields": {}
      },
      "credentials": {
        "clickUpApi": {
          "id": "mcOAWijv7qCSnkNx",
          "name": "ClickUp account-test anuj"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "15b9e908-0b83-4256-b1e5-50fda3da8c51",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2464,
        336
      ],
      "parameters": {
        "width": 300,
        "height": 320,
        "content": "## ✅ Step 7: Create Tasks\n\nCreates a ClickUp task for each priority lead.\n\n**Task includes:**\n- Lead name\n- Priority score\n- Last contact date\n- Suggested send time\n- Engagement data\n\n*Ready for action!*"
      },
      "typeVersion": 1
    },
    {
      "id": "437dec32-0caf-4493-ab5e-e530b8ec7803",
      "name": "スプレッドシートを更新 - キュー登録済みとしてマーク",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2736,
        704
      ],
      "parameters": {
        "options": {},
        "dataMode": "autoMapInputData",
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 704813266,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98/edit#gid=704813266",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hYKQSySynmFlOwF1MJZko7kiY9wJE26M-l5bgeoEw98/edit?usp=drivesdk",
          "cachedResultName": "Priority followup"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "s4dP1fNuVZ2gWvs3",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "4c1dfd1b-b7c2-474b-b9be-0d0b3d40c7cc",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2688,
        912
      ],
      "parameters": {
        "width": 300,
        "height": 268,
        "content": "## 📝 Step 8: Update Records\n\nWrites results back to Sheet2 with:\n- Priority scores\n- Days since contact\n- Suggested send times\n- Queue status\n\n*Keeps your data synchronized*"
      },
      "typeVersion": 1
    },
    {
      "id": "3bba318c-52ef-49ff-95ff-ed546bb0fcf9",
      "name": "最終コンタクトからの日数を計算1",
      "type": "n8n-nodes-base.function",
      "position": [
        1392,
        704
      ],
      "parameters": {
        "functionCode": "// Calculate how many days have passed since last contact\nconst today = new Date();\n\nreturn items.map(item => {\n  const lastContact = new Date(item.json.Last_Contact_Date);\n  const diffDays = Math.floor((today - lastContact) / (1000 * 60 * 60 * 24));\n  \n  item.json.Days_Since_Last_Contact = diffDays;\n  \n  return item;\n});"
      },
      "typeVersion": 1
    },
    {
      "id": "5875baa9-f729-4f6c-872a-9f621b9470dc",
      "name": "優先度スコアを計算1",
      "type": "n8n-nodes-base.function",
      "position": [
        1616,
        704
      ],
      "parameters": {
        "functionCode": "// Calculate priority score combining engagement and recency\nreturn items.map(item => {\n  const engagement = parseFloat(item.json.Engagement_Score) || 0;\n  const days = parseFloat(item.json.Days_Since_Last_Contact) || 0;\n  \n  // Recency score: 100 points minus days (0-100 scale)\n  const recencyScore = Math.max(0, 100 - days);\n  \n  // Priority Score: 70% engagement + 30% recency\n  item.json.Priority_Score = Math.round((engagement * 0.7) + (recencyScore * 0.3));\n  \n  return item;\n});"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4bc03222-7267-4d72-be6d-6be0c3e3b6c7",
  "connections": {
    "f6fbaebc-f91b-4f31-810b-945d282a29b2": {
      "main": [
        [
          {
            "node": "24b80916-7fbf-415c-89fe-ec198bf10623",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2545f230-e090-413c-aec2-b02c1b82fc62": {
      "main": [
        [
          {
            "node": "437dec32-0caf-4493-ab5e-e530b8ec7803",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b7f1fd67-804a-4f67-9817-e6be404a2aff": {
      "main": [
        [
          {
            "node": "a2905675-38e1-4ebb-892b-e428af5245f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "24b80916-7fbf-415c-89fe-ec198bf10623": {
      "main": [
        [
          {
            "node": "3bba318c-52ef-49ff-95ff-ed546bb0fcf9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3501da06-dcb6-403a-96d1-8b8524958f7e": {
      "main": [
        [
          {
            "node": "b7f1fd67-804a-4f67-9817-e6be404a2aff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5875baa9-f729-4f6c-872a-9f621b9470dc": {
      "main": [
        [
          {
            "node": "3501da06-dcb6-403a-96d1-8b8524958f7e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a2905675-38e1-4ebb-892b-e428af5245f9": {
      "main": [
        [
          {
            "node": "2545f230-e090-413c-aec2-b02c1b82fc62",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bba318c-52ef-49ff-95ff-ed546bb0fcf9": {
      "main": [
        [
          {
            "node": "5875baa9-f729-4f6c-872a-9f621b9470dc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - コンテンツ作成, マルチモーダルAI

有料ですか?

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

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

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

作成者
Rahul Joshi

Rahul Joshi

@rahul08

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34