ウェブフォームから Google シートおよび Slack へのリーダーポテンシャル管理の自動化
初級
これはLead Generation分野の自動化ワークフローで、5個のノードを含みます。主にCode, Slack, Webhook, GoogleSheetsなどのノードを使用。 ウェブフォームから Google Sheets および Slack へのリード管理の自動化
前提条件
- •Slack Bot Token または Webhook URL
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •Google Sheets API認証情報
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "4cdc8f9c-6197-437d-92c3-b12100a790d9",
"name": "コード",
"type": "n8n-nodes-base.code",
"position": [
-208,
128
],
"parameters": {
"jsCode": "const items = $input.all();\n\nconst updatedItems = items.map((item) => {\n const { name, email, businessName, message, timeline, budget } =\n item.json.body;\n return {\n name,\n email,\n businessName,\n \"project intent/need\": message,\n timeline,\n budget,\n };\n});\n\nreturn updatedItems;\n"
},
"typeVersion": 2
},
{
"id": "b64a3c66-72a0-4661-84c5-27eab0af3105",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
0,
128
],
"parameters": {
"columns": {
"value": {
"full name": "={{ $json.name }}",
"Budget Range": "={{ $json.budget }}",
"Business name": "={{ $json.businessName }}",
"Email Address": "={{ $json.email }}",
"Project Timeline": "={{ $json.timeline }}",
"Project Intent/Needs": "={{ $json['project intent/need'] }}"
},
"schema": [
{
"id": "full name",
"type": "string",
"display": true,
"required": false,
"displayName": "full name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Email Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Intent/Needs",
"type": "string",
"display": true,
"required": false,
"displayName": "Project Intent/Needs",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Timeline",
"type": "string",
"display": true,
"required": false,
"displayName": "Project Timeline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Budget Range",
"type": "string",
"display": true,
"required": false,
"displayName": "Budget Range",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Business name",
"type": "string",
"display": true,
"required": false,
"displayName": "Business name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Preferred Communication Channel",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Preferred Communication Channel",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How they heard about DAEX AI",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "How they heard about DAEX AI",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit?usp=drivesdk",
"cachedResultName": "client intake form"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "b0RUCwZZREhRN85o",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "d1adffe8-b7fd-46e7-aa37-ef0d910dda0d",
"name": "ウェブフック",
"type": "n8n-nodes-base.webhook",
"position": [
-416,
128
],
"webhookId": "34e9fb3f-f6bd-4a44-bb58-6fe58ffe4a78",
"parameters": {
"path": "34e9fb3f-f6bd-4a44-bb58-6fe58ffe4a78",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "4dbd211d-9db5-4567-b092-0111e9512e03",
"name": "メッセージを送信",
"type": "n8n-nodes-base.slack",
"message": "*New Website Lead Alert!* :zap:\n\nA new project inquiry has been received and logged to the Google Sheet.\n\n*Details:*\n- *Name:* {{ $('Code').item.json.name }}\n- *Email:* {{ $('Code').item.json.email }}\n- *Business Name:* {{ $('Code').item.json.businessName || 'N/A' }}\n- *Project Intent/Need:* {{ $('Code').item.json['project intent/need'] }}\n- *Timeline:* {{ $('Code').item.json.timeline || 'Not specified' }}\n- *Budget:* {{ $('Code').item.json.budget || 'Not specified' }}\n\n:clipboard: *Google Sheet Link:* https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit#gid=0\n:alarm_clock: *Received At:* {{ new Date().toLocaleString() }}\n\n:point_right: *Action:* Please review the details in the Google Sheet and follow up with the lead as soon as possible!",
"position": [
208,
128
],
"webhookId": "cd1a4d51-2ac3-4ebf-85ae-b08ef08e830f",
"parameters": {
"text": "=*New Website Lead Alert!* :zap:\\n\\nA new project inquiry has been received and logged to the Google Sheet.\\n\\n*Details:*\\n- *Name:* {{ $('Code').item.json.name }}\\n- *Email:* {{ $('Code').item.json.email }}\\n- *Business Name:* {{ $('Code').item.json.businessName || 'N/A' }}\\n- *Project Intent/Need:* {{ $('Code').item.json['project intent/need'] }}\\n- *Timeline:* {{ $('Code').item.json.timeline || 'Not specified' }}\\n- *Budget:* {{ $('Code').item.json.budget || 'Not specified' }}\\n\\n:clipboard: *Google Sheet Link:* https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit#gid=0\\n:alarm_clock: *Received At:* {{ new Date().toLocaleString() }}\\n\\n:point_right: *Action:* Please review the details in the Google Sheet and follow up with the lead as soon as possible!\" }, {",
"user": {
"__rl": true,
"mode": "list",
"value": "U08UNT9F5E2",
"cachedResultName": "daevo_workforce"
},
"select": "user",
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "rCOUwK3276xqTfQi",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "6696d004-c56f-4e9c-8f8e-9d5355561eb0",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-976,
-368
],
"parameters": {
"color": 7,
"width": 1056,
"height": 896,
"content": "Website Contact Form to Google Sheet & Slack Notification\n\nThis document provides a complete guide to setting up and configuring the n8n workflow that captures website contact form submissions, logs them to a Google Sheet, and sends real-time notifications to Slack.\n\n### Workflow Overview\n\nThis workflow automates lead management by:\n\n1. **Capturing Submissions:** A webhook or form trigger receives data from your website's contact form.\n\n2. **Transforming Data:** A Code node processes the incoming data into a clean, standardized format.\n\n3. **Logging to Google Sheet:** The processed data is appended as a new row in a designated Google Sheet, acting as your lead database.\n\n4. **Notifying Team on Slack:** A detailed alert message is sent to a specified Slack channel, ensuring immediate team awareness and prompt follow-up.\n\n### Step-by-Step Setup Guide\n\nFollow these steps to set up and activate your n8n workflow:\n\n#### 1. Import the Workflow\n\n* Copy the entire JSON content of your n8n workflow from the Canvas.\n\n* In your n8n instance, go to \"Workflows\" (left sidebar).\n\n* Click the \"New\" button (or \"+\" icon) and select \"Import from JSON.\"\n\n* Paste the copied JSON and click \"Import.\"\n\n#### 2. Configure Credentials\n\nBefore activating the workflow, you need to set up the necessary credentials for Google Sheets and Slack.\n\n* **Google Sheets Account:**\n\n 1. In n8n, go to \"Credentials\" (left sidebar).\n\n 2. Click \"New Credential\" and search for \"Google Sheets API.\"\n\n 3. Choose \"OAuth2\" authentication.\n\n 4. Follow the on-screen prompts to connect your Google Account and grant access to Google Sheets.\n\n 5. Once created, note down its ID (e.g., `b0RUCwZZREhRN85o`).\n\n* **Slack Account:**\n\n 1. In n8n, go to \"Credentials\" (left sidebar).\n\n 2. Click \"New Credential\" and search for \"Slack API.\"\n\n 3. Choose \"OAuth2\" authentication.\n\n 4. You will likely need to create a Slack App in your workspace (`api.slack.com/apps`).\n\n 5. Configure \"Bot Token Scopes\" (e.g., `chat:write`, `channels:read`).\n\n 6. Install the app to your workspace.\n\n 7. Follow the n8n authentication steps to connect your Slack workspace.\n\n 8. Once created, note down its ID (e.g., `rCOUwK3276xqTfQi`).\n\n#### 3. Prepare Your Google Sheet\n\nYou need a Google Sheet to store your form submissions.\n\n* **Create a New Google Sheet:** Go to Google Sheets and create a new spreadsheet.\n\n* **Name the Sheet:** Ensure the first sheet tab is named `Sheet1`.\n\n* **Add Column Headers:** In the first row of `Sheet1`, add the following column headers exactly as listed below:\n\n * `Full Name`\n\n * `Email Address`\n\n * `Business Name`\n\n * `Project Intent/Needs`\n\n * `Project Timeline`\n\n * `Budget Range`\n\n * `Received At` (This column will automatically record the submission timestamp)\n\n#### 4. Configure Each Node in n8n\n\nNow, go back to your imported workflow in n8n and configure each node:\n\n* **Webhook1 (Webhook Trigger):**\n\n * This node receives data from your website form.\n\n * **Path:** `34e9fb3f-f6bd-4a44-bb58-6fe58ffe4a78` (This is unique to your workflow; do not change it unless you intend to generate a new webhook URL).\n\n * After activating the workflow, you will get a \"Webhook URL\" from this node. This URL is what you'll use in your website's contact form submission settings (e.g., as the action URL for your HTML form, or in your form builder's webhook integration).\n\n* **Code (Code Node):**\n\n * This node transforms the incoming webhook data into a standardized JSON format.\n\n * No configuration is typically needed here unless your incoming form fields differ significantly from `name`, `email`, `businessName`, `message`, `timeline`, `budget`.\n\n * The code maps `item.json.body` fields to a cleaner output:\n\n ```\n const items = $input.all();\n const updatedItems = items.map((item) => {\n const { name, email, businessName, message, timeline, budget } = item.json.body;\n return {\n name,\n email,\n businessName,\n \"project intent/need\": message, // Renames 'message'\n timeline,\n budget,\n };\n });\n return updatedItems;\n \n ```\n\n* **Google Sheets1 (Google Sheets Node):**\n\n * **Operation:** `Append`\n\n * **Credentials:** Select your \"Google Sheets Account\" credential (e.g., `b0RUCwZZREhRN85o`).\n\n * **Spreadsheet ID:** Replace `1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo` with *your actual Google Sheet ID*. You can find this in the URL of your Google Sheet.\n\n * **Sheet Name:** `Sheet1` (or your chosen sheet name).\n\n * **Columns Mapping:** Ensure the mapping is correct. It should look like this:\n\n * `full name`: `={{ $json.name }}`\n\n * `Email Address`: `={{ $json.email }}`\n\n * `Project Intent/Needs`: `={{ $json['project intent/need'] }}`\n\n * `Project Timeline`: `={{ $json.timeline }}`\n\n * `Budget Range`: `={{ $json.budget }}`\n\n * `Business name`: `={{ $json.businessName }}`\n\n * `Received At`: `={{ new Date().toLocaleString() }}` (Manually add this mapping if not present, using the expression)\n\n* **Send a message (Slack Node):**\n\n * **Operation:** `Send a message`\n\n * **Credentials:** Select your \"Slack Account\" credential (e.g., `rCOUwK3276xqTfQi`).\n\n * **Channel ID:** Replace `YOUR_SLACK_CHANNEL_ID` with the actual ID of the Slack channel where you want the alerts to appear (e.g., `C0123456789`). You can get this by right-clicking the channel in Slack and selecting \"Copy link\" - the ID is the last part of the URL.\n\n * **Message:** This is the detailed alert message:\n\n ```\n *New Website Lead Alert!* :zap:\n \n A new project inquiry has been received and logged to the Google Sheet.\n \n *Details:*\n - *Name:* {{ $('Code').item.json.name }}\n - *Email:* {{ $('Code').item.json.email }}\n - *Business Name:* {{ $('Code').item.json.businessName || 'N/A' }}\n - *Project Intent/Need:* {{ $('Code').item.json['project intent/need'] }}\n - *Timeline:* {{ $('Code').item.json.timeline || 'Not specified' }}\n - *Budget:* {{ $('Code').item.json.budget || 'Not specified' }}\n \n :clipboard: *Google Sheet Link:* [https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit#gid=0](https://docs.google.com/spreadsheets/d/1OBxt6TX3edgxiSYnsULCuSM5OL7GYlA6W3DjNYBEpfo/edit#gid=0)\n :alarm_clock: *Received At:* {{ new Date().toLocaleString() }}\n \n :point_right: *Action:* Please review the details in the Google Sheet and follow up with the lead as soon as possible!\n \n ```\n\n#### 5. Activate the Workflow\n\n* Once all credentials and node parameters are configured, click the \"Activate\" toggle in the top right corner of the n8n workflow editor.\n\n#### 6. Test the Workflow\n\n* Copy the \"Production Webhook URL\" from the \"Webhook1\" node.\n\n* Use a tool like Postman, Insomnia, or a simple HTML form on a test page to send a `POST` request to this URL with a JSON body containing your test data (e.g., `{\"name\": \"Test User\", \"email\": \"test@example.com\", \"businessName\": \"Test Co\", \"message\": \"I need automation!\", \"timeline\": \"ASAP\", \"budget\": \"$1000-$2000\"}`).\n\n* Alternatively, if you're integrating with an existing website form, submit a test entry through your website.\n\n* Verify that a new row appears in your Google Sheet and a message is posted in your designated Slack channel.\n\nThis comprehensive guide should help you and others set up this high-ROI automation efficiently"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"4cdc8f9c-6197-437d-92c3-b12100a790d9": {
"main": [
[
{
"node": "b64a3c66-72a0-4661-84c5-27eab0af3105",
"type": "main",
"index": 0
}
]
]
},
"d1adffe8-b7fd-46e7-aa37-ef0d910dda0d": {
"main": [
[
{
"node": "4cdc8f9c-6197-437d-92c3-b12100a790d9",
"type": "main",
"index": 0
}
]
]
},
"b64a3c66-72a0-4661-84c5-27eab0af3105": {
"main": [
[
{
"node": "4dbd211d-9db5-4567-b092-0111e9512e03",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
初級 - リード獲得
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Instagram のリーチを Google テーブルに自動保存
Instagram からのリードを自動のに Google スプレッドシートに保存
Code
Webhook
Google Sheets
+
Code
Webhook
Google Sheets
4 ノードDavid Olusola
リード獲得
LinkedInリード生成+CRMオートメーションソフトウェアパック
Apifyを使用してLinkedInプロフィールから抽出し、Google Sheets CRMに自動のにリードデータを生成
If
Set
Code
+
If
Set
Code
18 ノードDavid Olusola
リード獲得
Notion CRM へのフォーム送信設定
Webフォームの送信をNotion CRMデータベースにキャプチャー
Code
Notion
Webhook
+
Code
Notion
Webhook
7 ノードDavid Olusola
リード獲得
新しいCalendly予約をGoogleスプレッドシートに自動追加
新規Calendly予約を自動のにGoogleスプレッドシートに追加
Code
Webhook
Google Sheets
+
Code
Webhook
Google Sheets
5 ノードDavid Olusola
顧客管理
Zoomの録画をGPT-4で自動要約し、Slackとメールに送信
Zoom録画をGPT-4で自動要約してSlackとメールに送信
Code
Gmail
Slack
+
Code
Gmail
Slack
6 ノードDavid Olusola
AI要約
人事日払い管理
JavaScriptを使用してHR従業員の日付追跡とリマインダーを自動化
Set
Code
Gmail
+
Set
Code
Gmail
18 ノードDavid Olusola
人事
ワークフロー情報
難易度
初級
ノード数5
カテゴリー1
ノードタイプ5
作成者
David Olusola
@dae221I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com
外部リンク
n8n.ioで表示 →
このワークフローを共有