Constructeur de file de priorité de suivi

Avancé

Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 18 nœuds.Utilise principalement des nœuds comme Sort, Limit, ClickUp, Function, GoogleSheets. Automatisation du classement et de la création de tâches pour les prospects avec Google Sheets + ClickUp

Prérequis
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "EHOx9tJ71PVTuz5c",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Priority Follow-Up Queue Builder",
  "tags": [],
  "nodes": [
    {
      "id": "f6fbaebc-f91b-4f31-810b-945d282a29b2",
      "name": "Déclencheur manuel",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        944,
        704
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6dab30f9-0b1c-463f-909c-0b9239dbf1cd",
      "name": "Note adhésive",
      "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": "Lire les prospects de la feuille",
      "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": "Note adhésive1",
      "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": "Note adhésive2",
      "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": "Note adhésive3",
      "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": "Trier par score de priorité",
      "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": "Note adhésive4",
      "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": "Sélectionner les 10 premiers prospects",
      "type": "n8n-nodes-base.limit",
      "position": [
        2064,
        704
      ],
      "parameters": {
        "maxItems": 10
      },
      "typeVersion": 1
    },
    {
      "id": "024f813e-41c8-42fb-a6c4-3a61b3d4232b",
      "name": "Note adhésive5",
      "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": "Suggérer l'heure d'envoi optimale",
      "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": "Note adhésive6",
      "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": "Créer une tâche 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": "Note adhésive7",
      "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": "Mettre à jour la feuille - Marquer comme en file d'attente",
      "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": "Note adhésive8",
      "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": "Calculer les jours depuis le contact1",
      "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": "Calculer le score de priorité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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Création de contenu, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds18
Catégorie2
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34