Automatisierung von hochwertigen Lead-Benachrichtigungen von GoHighLevel zu Slack, Sheets und Kalender

Experte

Dies ist ein Lead Generation-Bereich Automatisierungsworkflow mit 17 Nodes. Hauptsächlich werden If, Code, Slack, HighLevel, GoogleSheets und andere Nodes verwendet. Automatische Sendung von High-Value-Lead-Benachrichtigungen von GoHighLevel an Slack, Sheets und Kalender

Voraussetzungen
  • Slack Bot Token oder Webhook URL
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "S65jfvMZZfPk7EKf",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Automate High-Value Lead Alerts from GoHighLevel to Slack ,Sheets and Calender",
  "tags": [],
  "nodes": [
    {
      "id": "6539d6c2-4beb-42db-af71-48fa1853d0aa",
      "name": "Workflow-Übersicht",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2608,
        -320
      ],
      "parameters": {
        "color": 4,
        "width": 390,
        "height": 464,
        "content": "## 🎯 High-Value Lead Scoring & Alert System\n\nThis workflow automatically:\n- Fetches contacts from HighLevel CRM daily at 8 AM\n- Calculates lead scores from custom fields\n- Alerts sales team via Slack for leads scoring >80\n- Logs high-priority leads to Google Sheets\n- Creates follow-up calendar events automatically\n\n**Setup Required:**\n1. Connect HighLevel OAuth2 credentials\n2. Connect Slack API credentials\n3. Connect Google Sheets OAuth2\n4. Connect Google Calendar OAuth2\n5. Update Slack channel ID with your channel\n6. Update Google Sheet ID with your tracking sheet\n7. Map custom field IDs to match your CRM setup"
      },
      "typeVersion": 1
    },
    {
      "id": "c922fb0a-b1fd-468f-90e5-4aa414efc93c",
      "name": "Hinweis zur Zeitplanung",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2176,
        -304
      ],
      "parameters": {
        "width": 280,
        "height": 220,
        "content": "## ⏰ Daily Trigger\n\nRuns every day at 8:00 AM to check for new high-value leads.\n\n**Customization:**\nAdjust the trigger time in node settings to match your team's schedule."
      },
      "typeVersion": 1
    },
    {
      "id": "5180b1c3-1f23-4101-918e-cf970e5a19ac",
      "name": "Hinweis zur HighLevel-Einrichtung",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1872,
        -368
      ],
      "parameters": {
        "width": 300,
        "height": 280,
        "content": "## 📥 Fetch All Contacts\n\n**Before Using:**\n1. Connect your HighLevel OAuth2 credentials\n2. Ensure API access is enabled in your HighLevel account\n3. Test with a small batch first\n\n**Note:** This retrieves ALL contacts. Consider adding filters if you have a large database."
      },
      "typeVersion": 1
    },
    {
      "id": "ff5451e2-b740-4c16-a7b9-879083678689",
      "name": "Hinweis zur Filterlogik",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        80
      ],
      "parameters": {
        "width": 280,
        "height": 220,
        "content": "## 🔍 Filter Contacts with Custom Fields\n\nOnly processes contacts that have custom fields populated.\n\nThis prevents errors when trying to extract lead scores from incomplete data."
      },
      "typeVersion": 1
    },
    {
      "id": "51cf93d7-a03e-4eed-b4c2-0cf0821d8536",
      "name": "Hinweis zur Code-Konfiguration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        -384
      ],
      "parameters": {
        "width": 300,
        "height": 300,
        "content": "## ⚙️ Transform Contact Data\n\n**Custom Field IDs to Update:**\n- Lead Score Field: `sEic9OWa5yndTAitjgoe`\n- Assigned Rep Field: `YHJqNOSAvMbI08mnabNb`\n\n**Action Required:**\nReplace these IDs with YOUR actual custom field IDs from HighLevel.\n\nFind them in: HighLevel → Settings → Custom Fields → Copy Field ID"
      },
      "typeVersion": 1
    },
    {
      "id": "6f3ad72f-c5d5-476d-90dc-3ffc5181dca1",
      "name": "Hinweis zum Score-Schwellenwert",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1328,
        96
      ],
      "parameters": {
        "width": 280,
        "height": 220,
        "content": "## 🎯 Lead Score Filter\n\nOnly leads with score **>80** proceed to alerting.\n\n**Customization:**\nAdjust the threshold (currently 80) to match your lead qualification criteria."
      },
      "typeVersion": 1
    },
    {
      "id": "ead078ba-ec45-4702-bf08-d14d2fed451d",
      "name": "Slack Konfigurationshinweis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        -512
      ],
      "parameters": {
        "width": 300,
        "height": 332,
        "content": "## 🚨 Slack Alert Setup\n\n**Required Configuration:**\n1. Create a Slack App with chat:write permissions\n2. Install app to your workspace\n3. Get your channel ID:\n   - Right-click channel → View channel details → Copy ID\n4. Replace `YOUR_SLACK_CHANNEL_ID` in node settings\n\n**Security:** Never commit channel IDs to public repositories."
      },
      "typeVersion": 1
    },
    {
      "id": "81620101-5cd3-477e-aa1f-265fee1765ac",
      "name": "Google Sheets-Einrichtungshinweis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        144
      ],
      "parameters": {
        "width": 340,
        "height": 380,
        "content": "## 📊 Google Sheets Logging\n\n**Setup Steps:**\n1. Create a Google Sheet with these columns:\n   contact_id, contact_name, first_name, last_name, email, phone, company_name, lead_score, assigned_rep, assigned_rep_slack_id, location_id, source, tags, country, date_added, date_updated, is_high_priority\n\n2. Share sheet with your service account email\n3. Copy the Sheet ID from URL\n4. Replace `YOUR_GOOGLE_SHEET_ID` in node settings\n\n**Security:** Use environment variables for Sheet IDs in production."
      },
      "typeVersion": 1
    },
    {
      "id": "708a9b3f-9dc4-4e79-9457-7e4524d4c22e",
      "name": "Calendar-Einrichtungshinweis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -368
      ],
      "parameters": {
        "width": 320,
        "height": 348,
        "content": "## 📅 Auto-Schedule Follow-up\n\nCreates a calendar event 1 hour from now for immediate follow-up.\n\n**Configuration:**\n1. Connect Google Calendar OAuth2\n2. Replace `YOUR_CALENDAR_EMAIL` with your team calendar\n3. Adjust timing: Currently set to 1-1.5 hours from trigger\n\n**Tip:** Use a shared team calendar for better visibility."
      },
      "typeVersion": 1
    },
    {
      "id": "c29fd9ed-1582-488b-b4a6-0f02de537e46",
      "name": "Täglicher Trigger um 8 Uhr",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2064,
        -64
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a243805-b158-479c-afd4-431d5989fa24",
      "name": "HighLevel-Kontakte abrufen",
      "type": "n8n-nodes-base.highLevel",
      "position": [
        -1840,
        -64
      ],
      "parameters": {
        "filters": {},
        "options": {},
        "operation": "getAll",
        "requestOptions": {}
      },
      "typeVersion": 2
    },
    {
      "id": "03ed8e64-6a5f-48ac-a025-e379ab7d6b56",
      "name": "Gültige Kontakte filtern",
      "type": "n8n-nodes-base.if",
      "position": [
        -1616,
        -64
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a49be490-38c5-4620-b29f-8150655f32ba",
              "operator": {
                "type": "array",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.customFields }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f006b6bf-4b73-45c6-802d-4cfa0e8e8584",
      "name": "Kontaktdaten transformieren",
      "type": "n8n-nodes-base.code",
      "position": [
        -1392,
        -64
      ],
      "parameters": {
        "jsCode": "// Process all items from the input\nconst items = $input.all();\n\n// Map through all items and extract/transform data\nreturn items.map(item => {\n  const customFields = item.json.customFields || [];\n  \n  // ⚠️ IMPORTANT: Replace these field IDs with YOUR HighLevel custom field IDs\n  // Find the lead score field (Replace 'sEic9OWa5yndTAitjgoe' with your field ID)\n  const leadScoreField = customFields.find(field => field.id === 'YOUR_LEAD_SCORE_FIELD_ID');\n  const leadScore = leadScoreField ? parseFloat(leadScoreField.value) : 0;\n  \n  // Extract assigned rep (Replace 'YHJqNOSAvMbI08mnabNb' with your field ID)\n  const assignedRepField = customFields.find(field => field.id === 'YOUR_ASSIGNED_REP_FIELD_ID');\n  const assignedRep = assignedRepField ? assignedRepField.value : 'Unassigned';\n  \n  return {\n    json: {\n      contact_id: item.json.id,\n      contact_name: item.json.contactName,\n      first_name: item.json.firstName,\n      last_name: item.json.lastName,\n      email: item.json.email || 'No email provided',\n      phone: item.json.phone || 'No phone provided',\n      company_name: item.json.companyName || 'N/A',\n      lead_score: leadScore,\n      assigned_rep: assignedRep,\n      assigned_rep_slack_id: assignedRep, // TODO: Map to actual Slack member IDs\n      location_id: item.json.locationId,\n      source: item.json.source || 'Unknown',\n      tags: Array.isArray(item.json.tags) ? item.json.tags.join(', ') : '',\n      country: item.json.country,\n      date_added: item.json.dateAdded,\n      date_updated: item.json.dateUpdated,\n      is_high_priority: leadScore > 80 // Boolean flag for workflow filtering\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "2bad2795-7f45-4170-8c9d-829193c25828",
      "name": "Prüfen auf High-Value-Lead",
      "type": "n8n-nodes-base.if",
      "position": [
        -1168,
        -64
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ $json.lead_score }}",
              "value2": 80,
              "operation": "larger"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1f2a561f-228b-4793-9823-413f0fd7cea3",
      "name": "Slack-Benachrichtigung an Vertriebsteam senden",
      "type": "n8n-nodes-base.slack",
      "position": [
        -944,
        -160
      ],
      "webhookId": "488b7831-8067-4c78-a12a-ab6b897e7528",
      "parameters": {
        "text": "=🚨 **High-Value Lead Alert**\n\n👤 **Contact:** {{ $json.contact_name }}\n📊 **Lead Score:** {{ $json.lead_score }}\n⏰ **Action Required:** Follow-up within 1 hour\n\n**Contact Details:**\n📧 Email: {{ $json.email }}\n📞 Phone: {{ $json.phone }}\n🏢 Company: {{ $json.company_name }}\n👨‍💼 Assigned Rep: {{ $json.assigned_rep }}\n📍 Location: {{ $json.country }}\n🏷️ Tags: {{ $json.tags }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SLACK_CHANNEL_ID"
        },
        "otherOptions": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "263b6c15-a8fb-44ee-b883-97964cde7176",
      "name": "In Google Sheets-Tracker protokollieren",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -944,
        48
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "contact_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "contact_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "contact_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "contact_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "first_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "first_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "last_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "last_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "phone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "company_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "lead_score",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "lead_score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "assigned_rep",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "assigned_rep",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "assigned_rep_slack_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "assigned_rep_slack_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "location_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "source",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "source",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tags",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "tags",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "country",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "country",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "date_added",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "date_added",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "date_updated",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "date_updated",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "is_high_priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "is_high_priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": []
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "High Priority Leads"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_GOOGLE_SHEET_ID"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "bd644f55-c61e-4e4d-8a9a-438749d094a7",
      "name": "Follow-up-Calendar-Event erstellen",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        -720,
        -160
      ],
      "parameters": {
        "end": "={{ $now.plus(1.5, 'hours').toISO() }}",
        "start": "={{ $now.plus(1, 'hours').toISO() }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_CALENDAR_EMAIL"
        },
        "additionalFields": {
          "description": "=**High-Priority Lead Follow-up**\n\nContact: {{ $json.contact_name }}\nEmail: {{ $json.email }}\nPhone: {{ $json.phone }}\nCompany: {{ $json.company_name }}\nLead Score: {{ $json.lead_score }}\nAssigned Rep: {{ $json.assigned_rep }}\n\nAction: Reach out within 1 hour to maintain engagement.",
          "sendUpdates": "all"
        }
      },
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "be04a62e-8c04-4ee9-9bf1-ef74ae725aa5",
  "connections": {
    "c29fd9ed-1582-488b-b4a6-0f02de537e46": {
      "main": [
        [
          {
            "node": "3a243805-b158-479c-afd4-431d5989fa24",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "03ed8e64-6a5f-48ac-a025-e379ab7d6b56": {
      "main": [
        [
          {
            "node": "f006b6bf-4b73-45c6-802d-4cfa0e8e8584",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f006b6bf-4b73-45c6-802d-4cfa0e8e8584": {
      "main": [
        [
          {
            "node": "2bad2795-7f45-4170-8c9d-829193c25828",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2bad2795-7f45-4170-8c9d-829193c25828": {
      "main": [
        [
          {
            "node": "1f2a561f-228b-4793-9823-413f0fd7cea3",
            "type": "main",
            "index": 0
          },
          {
            "node": "263b6c15-a8fb-44ee-b883-97964cde7176",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3a243805-b158-479c-afd4-431d5989fa24": {
      "main": [
        [
          {
            "node": "03ed8e64-6a5f-48ac-a025-e379ab7d6b56",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1f2a561f-228b-4793-9823-413f0fd7cea3": {
      "main": [
        [
          {
            "node": "bd644f55-c61e-4e4d-8a9a-438749d094a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Lead-Generierung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes17
Kategorie1
Node-Typen8
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34