AutomationFlowsData & Sheets › Webhook Lead to Sheets, Slack & Notion

Webhook Lead to Sheets, Slack & Notion

Original n8n title: Lead Management System

LEAD MANAGEMENT SYSTEM. Uses googleSheets, slack, notion. Webhook trigger; 4 nodes.

Webhook trigger★★☆☆☆ complexity4 nodesGoogle SheetsSlackNotion
Data & Sheets Trigger: Webhook Nodes: 4 Complexity: ★★☆☆☆ Added:

This workflow follows the Google Sheets → Notion recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "LEAD MANAGEMENT SYSTEM",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "6405e1eb-4c75-486b-8b7b-1993e1208d55",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        0,
        0
      ],
      "id": "5cf78cdb-de32-4f95-b352-a874f6aca374",
      "name": "Webhook"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "12DC9Lt4OoLDs6kAegMZyx7SgzTFHGqre8PBHjWseKK4",
          "mode": "list",
          "cachedResultName": "lEAD MANAGEMENT",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/12DC9Lt4OoLDs6kAegMZyx7SgzTFHGqre8PBHjWseKK4/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/12DC9Lt4OoLDs6kAegMZyx7SgzTFHGqre8PBHjWseKK4/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "name": "={{ $json.body.name }}",
            "email": "={{ $json.body.email }}",
            "company": "={{ $json.body.company }}",
            "phone": "={{ $json.body.phone }}",
            "source": "={{ $json.body.source }}",
            "created_at": "={{ $now.toISO() }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "name",
              "displayName": "name",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "email",
              "displayName": "email",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "company",
              "displayName": "company",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "phone",
              "displayName": "phone",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "source",
              "displayName": "source",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "created_at",
              "displayName": "created_at",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        208,
        0
      ],
      "id": "3630e63a-a14c-416a-9dbe-cb006d82c3e5",
      "name": "Append row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "C0B2DRHPE20",
          "mode": "list",
          "cachedResultName": "new-channel"
        },
        "text": "=\ud83d\udd25 New Lead Received!  Name: {{ $json.name }} Email: {{ $json.email }} Company: {{ $json.company }} Phone: {{ $json.phone }} Source: {{ $json.source }} Time: {{ $json.created_at }}",
        "otherOptions": {}
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.4,
      "position": [
        416,
        0
      ],
      "id": "8c9d4e8c-8253-40c5-a90d-c3945ac2fc7d",
      "name": "Send a message",
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "value": "https://www.notion.so/35959d0dcf78807782d4d9fb570a276b?v=35959d0dcf7880ec8073000ccda4e4bd",
          "mode": "url"
        },
        "title": "={{ $('Append row in sheet').item.json.name }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Name|title",
              "title": "={{ $('Append row in sheet').item.json.name }}"
            },
            {
              "key": "Email|rich_text",
              "richText": true,
              "text": {
                "text": [
                  {
                    "text": "={{ $('Append row in sheet').item.json.email }}",
                    "annotationUi": {}
                  }
                ]
              }
            },
            {
              "key": "Phone |rich_text",
              "textContent": "={{ $('Append row in sheet').item.json.phone }}"
            },
            {
              "key": "Source|phone_number",
              "phoneValue": "={{ $('Append row in sheet').item.json.source }}"
            },
            {
              "key": "Company|rich_text",
              "textContent": "={{ $('Append row in sheet').item.json.company }}"
            },
            {
              "key": "Created At|rich_text",
              "textContent": "= {{ $now.toISO() }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        624,
        0
      ],
      "id": "c0e00bb0-fc88-4d49-896b-ae48cfef546b",
      "name": "Create a database page",
      "credentials": {
        "notionOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        [
          {
            "node": "Create a database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "versionId": "d44702e7-33ff-4dc0-98f5-f665aea523c3",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "QYyBWlgeq0JFlOK9",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

LEAD MANAGEMENT SYSTEM. Uses googleSheets, slack, notion. Webhook trigger; 4 nodes.

Source: https://github.com/MHassan-AiExpert/n8n-lead-management-system/blob/main/workflows/lead-management-workflow.json — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Kindwork Client Onboarding - Enterprise Edition. Uses slack, googleDrive, notion, sendGrid. Webhook trigger; 25 nodes.

Slack, Google Drive, Notion +3
Data & Sheets

Meeting Notes Generator. Uses httpRequest, slack, notion, googleSheets. Webhook trigger; 17 nodes.

HTTP Request, Slack, Notion +2
Data & Sheets

Support Ticket Classifier. Uses httpRequest, slack, googleSheets, notion. Webhook trigger; 15 nodes.

HTTP Request, Slack, Google Sheets +2
Data & Sheets

Automatically triage Product UAT feedback using AI, route it to the right tools and teams, and close the feedback loop with testers, all in one workflow.

Jira, Slack, Notion +3
Data & Sheets

This workflow accepts meeting transcripts via webhook (Zoom, Google Meet, Teams, Otter.ai, or manual notes), immediately processing them through an intelligent pipeline that eliminates post-meeting ad

OpenAI, Slack, Notion +3