Google Sheets から Discord チャンネルを作成してメンバーに通知する

中級

これはAI, Marketing分野の自動化ワークフローで、14個のノードを含みます。主にFilter, Discord, GoogleSheets, GoogleSheetsTriggerなどのノードを使用、AI技術を活用したスマート自動化を実現。 Google SheetsからDiscordチャンネルを作成してメンバーに通知する

前提条件
  • Discord Bot Token または Webhook
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "onboarding-workflow-template",
  "meta": {
    "instanceId": "template-instance-id",
    "templateCredsSetupCompleted": false
  },
  "name": "Discord Channel Creation from Google Sheets with Member Notifications",
  "tags": [],
  "nodes": [
    {
      "id": "c9ed5dd5-e2b9-4e6b-b0b5-3af3729428a7",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -60
      ],
      "parameters": {
        "width": 280,
        "height": 340,
        "content": "## Monitor New Project Entries\nMonitors Google Sheets for new project entries and initiates the workflow when a new row is added to the Project Onboarding sheet."
      },
      "typeVersion": 1
    },
    {
      "id": "f8509721-482a-4088-93a8-59c3abd86af9",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -420,
        -60
      ],
      "parameters": {
        "width": 280,
        "height": 340,
        "content": "## Filter Valid Project Entries\nFilters entries to only process projects that don't have Discord channels created yet (Discord ID is empty) and have a valid timestamp."
      },
      "typeVersion": 1
    },
    {
      "id": "5c51ca61-5591-4512-8b26-5988d0ce9dc9",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -120,
        -60
      ],
      "parameters": {
        "width": 280,
        "height": 340,
        "content": "## Create New Discord Channel\nCreates a new Discord channel with the Project ID as the channel name in the specified category for project organization."
      },
      "typeVersion": 1
    },
    {
      "id": "b5a5eb5a-e4fa-4ed3-b590-972eb9c0080f",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        -60
      ],
      "parameters": {
        "width": 280,
        "height": 340,
        "content": "## Update Google Sheets with Channel Info\nUpdates the Google Sheet with the newly created Discord channel ID and marks the status as 'Discord Created' for tracking purposes."
      },
      "typeVersion": 1
    },
    {
      "id": "08e09442-ee10-4421-9ff8-9ed234c8dad3",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        -60
      ],
      "parameters": {
        "width": 580,
        "height": 360,
        "content": "## Send Project Announcement\nSends a formatted message to the Discord channel announcing the new project with key details and team assignments."
      },
      "typeVersion": 1
    },
    {
      "id": "f418dff7-e57c-40b7-a4a3-8b6357936b85",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        -60
      ],
      "parameters": {
        "width": 280,
        "height": 340,
        "content": "## Complete Onboarding Process\nMarks the onboarding process as complete in the tracking sheet after all messages have been sent successfully."
      },
      "typeVersion": 1
    },
    {
      "id": "9042f971-3a6e-4125-ba4c-326793446a9e",
      "name": "新規プロジェクトエントリを監視",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -620,
        120
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyX"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "PROJECT_SHEET_ID",
          "cachedResultName": "Project Onboarding"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "YOUR_GOOGLE_SHEET_URL_HERE"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c0f8af86-cd7c-42d5-b8c3-d20a75e4a9cf",
      "name": "有効なプロジェクトエントリをフィルタリング",
      "type": "n8n-nodes-base.filter",
      "position": [
        -320,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a5d0b0c6-424b-441d-bcf7-7a5ac25698b2",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json['Discord ID'] }}",
              "rightValue": "Created"
            },
            {
              "id": "f3cef95a-0856-4eff-a2ad-c42a64bae076",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Timestamp }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "97ddddfb-8bc8-43e9-b06a-4c95a423c7f6",
      "name": "Discordチャンネルを作成",
      "type": "n8n-nodes-base.discord",
      "position": [
        -20,
        120
      ],
      "webhookId": "YOUR_DISCORD_WEBHOOK_ID",
      "parameters": {
        "name": "={{ $json['Project ID'] }}",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_DISCORD_GUILD_ID",
          "cachedResultName": "Your Discord Server"
        },
        "options": {
          "categoryId": {
            "__rl": true,
            "mode": "list",
            "value": "YOUR_DISCORD_CATEGORY_ID",
            "cachedResultName": "New Projects Category"
          }
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
          "name": "Discord Bot API"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "005657e7-eef2-45e0-aceb-694bee90757f",
      "name": "スプレッドシートをDiscordチャンネルIDで更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        280,
        120
      ],
      "parameters": {
        "columns": {
          "value": {
            "Domain ID": "={{ $('Filter Valid Project Entries').item.json['Domain ID'] }}",
            "Discord ID": "={{ $json.id }}",
            "Discord Server Creation": "Discord Created"
          },
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Domain ID"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "PROJECT_SHEET_ID",
          "cachedResultName": "Project Onboarding"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "YOUR_GOOGLE_SHEET_URL_HERE"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "2a5bfd36-9fe4-4832-8a6c-6063bd620483",
      "name": "メッセージ送信ステータスを確認",
      "type": "n8n-nodes-base.filter",
      "position": [
        560,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "36a3a601-2204-4080-a869-ee00506a7fec",
              "operator": {
                "type": "dateTime",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('Monitor New Project Entries').item.json.Timestamp }}",
              "rightValue": ""
            },
            {
              "id": "7675f210-3bc8-41b9-9dee-53b13926eaa1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json['Discord Server Creation'] }}",
              "rightValue": "Discord Created"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a7499f15-0c8d-4505-92c0-0967432700ee",
      "name": "プロジェクト告知メッセージを送信",
      "type": "n8n-nodes-base.discord",
      "position": [
        900,
        120
      ],
      "webhookId": "YOUR_DISCORD_WEBHOOK_ID",
      "parameters": {
        "content": "=Congratulations Team! We Got A New Project 🤩 🥳 @everyone\n\n@ProjectManager Please assign this project to the respective team\n\n**Project ID:** {{ $('Filter Valid Project Entries').item.json['Project ID'] }}\n**Project Type:** {{ $('Filter Valid Project Entries').item.json['Product Type'] }}\n**Client Name:** {{ $('Filter Valid Project Entries').item.json['Client Name'] }}\n\n**What is the main goal of this client? What he/she is trying to achieve with this project?**\n{{ $('Filter Valid Project Entries').item.json['What is the main goal of this client? What he/she is trying to achieve with this project?'] }}\n\n**Is there any task that we need to do immediately on this project?**\n{{ $('Filter Valid Project Entries').item.json['Is there any task that we need to do immediately on this project?'] }}\n\n**Our commitments to the client that operation team should know?**\n{{ $('Filter Valid Project Entries').item.json['Our commitments to the client that operation team should know?'] }}",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_DISCORD_GUILD_ID",
          "cachedResultName": "Your Discord Server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Update Sheet with Discord Channel ID').item.json['Discord ID'] }}"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
          "name": "Discord Bot API"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3c43a71e-fa48-407a-8cd6-b4fd866d1657",
      "name": "追加プロジェクト詳細を送信",
      "type": "n8n-nodes-base.discord",
      "position": [
        1140,
        120
      ],
      "webhookId": "YOUR_DISCORD_WEBHOOK_ID",
      "parameters": {
        "content": "=**Additional Project Information:**\n\n**Anything else you want to share about this project?**\n{{ $('Filter Valid Project Entries').item.json['Anything else you want to share about this project?'] }}\n\n**Access Information:**\n**Google Analytics:** {{ $('Filter Valid Project Entries').item.json['Access [Google Analytics]'] }}\n**Google Search Console:** {{ $('Filter Valid Project Entries').item.json['Access [Google Search Console]'] }}\n**Website Backend:** {{ $('Filter Valid Project Entries').item.json['Access [Website Backend]'] }}\n\n**Competitors & Keywords:**\n{{ $('Filter Valid Project Entries').item.json['List of top competitors & seed keywords? (whatever is available)'] }}\n\n**Call Recording:** {{ $('Filter Valid Project Entries').item.json['Call Recording URL'] }}\n\n**Communication Method:** {{ $('Filter Valid Project Entries').item.json['Communication Method (if any)'] }}",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_DISCORD_GUILD_ID",
          "cachedResultName": "Your Discord Server"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.channel_id }}"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
          "name": "Discord Bot API"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "4a7b142a-9fc4-4eb8-baf2-1745a3597e69",
      "name": "オンボーディング完了をマーク",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1480,
        120
      ],
      "parameters": {
        "columns": {
          "value": {
            "Discord ID": "={{ $('Check Message Sending Status').item.json['Discord ID'] }}",
            "Discord Server Creation": "Discord Created, Onboarding Message Sent"
          },
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Discord ID"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "PROJECT_SHEET_ID",
          "cachedResultName": "Project Onboarding"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "YOUR_GOOGLE_SHEET_URL_HERE"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "template-version-id",
  "connections": {
    "97ddddfb-8bc8-43e9-b06a-4c95a423c7f6": {
      "main": [
        [
          {
            "node": "005657e7-eef2-45e0-aceb-694bee90757f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9042f971-3a6e-4125-ba4c-326793446a9e": {
      "main": [
        [
          {
            "node": "c0f8af86-cd7c-42d5-b8c3-d20a75e4a9cf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a5bfd36-9fe4-4832-8a6c-6063bd620483": {
      "main": [
        [
          {
            "node": "a7499f15-0c8d-4505-92c0-0967432700ee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0f8af86-cd7c-42d5-b8c3-d20a75e4a9cf": {
      "main": [
        [
          {
            "node": "97ddddfb-8bc8-43e9-b06a-4c95a423c7f6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c43a71e-fa48-407a-8cd6-b4fd866d1657": {
      "main": [
        [
          {
            "node": "4a7b142a-9fc4-4eb8-baf2-1745a3597e69",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7499f15-0c8d-4505-92c0-0967432700ee": {
      "main": [
        [
          {
            "node": "3c43a71e-fa48-407a-8cd6-b4fd866d1657",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "005657e7-eef2-45e0-aceb-694bee90757f": {
      "main": [
        [
          {
            "node": "2a5bfd36-9fe4-4832-8a6c-6063bd620483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - 人工知能, マーケティング

有料ですか?

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

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

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34