会議の起票 automatique (Google Sheets + Gmail)

中級

これはPersonal Productivity, Multimodal AI分野の自動化ワークフローで、7個のノードを含みます。主にCode, Gmail, GoogleSheets, ManualTriggerなどのノードを使用。 Google SheetsとGmailを使った会議議事録配信の自動化

前提条件
  • Googleアカウント + Gmail API認証情報
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "wrf8Kd0XRbKFEHwR",
  "meta": {
    "instanceId": "0430772da25f7bca29bf5ef2b251086a85fb4096503a6f781526d32befd038d6"
  },
  "name": "Meeting Minutes Automation (Google Sheets + Gmail)",
  "tags": [
    {
      "id": "3T7uxjPBNibzqJlE",
      "name": "Google",
      "createdAt": "2025-08-18T07:15:32.460Z",
      "updatedAt": "2025-08-18T07:15:32.460Z"
    },
    {
      "id": "7zEwLFClveXBEcdb",
      "name": "google sheet",
      "createdAt": "2025-08-18T07:16:22.756Z",
      "updatedAt": "2025-08-18T07:16:22.756Z"
    },
    {
      "id": "E9IjhPyJvr7DXQgz",
      "name": "meeting minutes",
      "createdAt": "2025-08-18T07:17:07.060Z",
      "updatedAt": "2025-08-18T07:17:07.060Z"
    },
    {
      "id": "WsGNTPBsmCdx55kq",
      "name": "email",
      "createdAt": "2025-08-18T07:16:22.745Z",
      "updatedAt": "2025-08-18T07:16:22.745Z"
    },
    {
      "id": "bg5CwpF83fBHrGAh",
      "name": "Productivity",
      "createdAt": "2025-08-18T07:15:32.499Z",
      "updatedAt": "2025-08-18T07:15:32.499Z"
    },
    {
      "id": "eAzNESqLUWwWMrE9",
      "name": "gmail",
      "createdAt": "2025-08-18T07:16:22.709Z",
      "updatedAt": "2025-08-18T07:16:22.709Z"
    }
  ],
  "nodes": [
    {
      "id": "aecc3b32-343b-421b-b758-e642f5e7c750",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 3,
        "height": 176,
        "content": "## Required\n\n\n- Google account Gmail\n- Google Sheet"
      },
      "typeVersion": 1
    },
    {
      "id": "ba8eb175-dfc8-4b58-b7ce-31d5ebed6fd0",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -352
      ],
      "parameters": {
        "color": 2,
        "width": 416,
        "height": 848,
        "content": "## 1.Workflow trigger et data gathering\n\nTrigger: Manual Trigger : run the workflow after you finish writing the meeting minutes and you’re ready to send them.\n\nNodes involved:\n\n- Manual Trigger → starts the workflow\n\n- Google Sheets (Read) → pulls the minutes from your sheet\n\nGoogle Sheet requirements:\n\n- Required columns: Topic, Status, Owner, Next Step\n\nSetup:\n\n- Select the Spreadsheet and Tab (e.g., Meeting Minutes).\n\n- Enable Use first row as header.\n\n- Ensure column names match exactly (spelling/case).\n\nTip:\n- If you later want automation, replace Manual Trigger with a Schedule (daily/weekly).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "67394444-d561-468f-bc5d-14e7d73e6c48",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        -352
      ],
      "parameters": {
        "color": 4,
        "width": 560,
        "height": 848,
        "content": "## 2. Send the email\n\nPurpose: Build the meeting-minutes message from your sheet data and send it to the right recipients.\n\nNodes involved:\n\n- Code (Function) → formats content (HTML) and subject line\n\n- Gmail → sends the email\n\nSetup (Code node)\n- Use this snippet to generate a subject, HTML body, and recipients from your sheet rows/columns:\n\n- Setup (Gmail node)\n\n- Credentials: select your Gmail OAuth credential\n\n\nValidation\n- Send a test email to yourself first\n- Check that all required columns (Topic, Status, Owner, Next Step) appear and render correctly\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7722b28d-8289-4b46-838d-6ef72865abed",
      "name": "トリガー",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        304,
        336
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9a808aca-5b56-4d5d-9f60-861e17dd85b8",
      "name": "会議議事録付きメール",
      "type": "n8n-nodes-base.gmail",
      "position": [
        928,
        336
      ],
      "webhookId": "9411bee4-d354-40dd-84a2-559bb6beb7bb",
      "parameters": {
        "sendTo": "email",
        "message": "={{$json.html}}",
        "options": {},
        "subject": "Meeting notes today's meeting"
      },
      "typeVersion": 2.1
    },
    {
      "id": "cd26d1d7-ba33-4983-acd4-f2d65f88c413",
      "name": "メールの生成",
      "type": "n8n-nodes-base.code",
      "position": [
        720,
        336
      ],
      "parameters": {
        "jsCode": "const allItems = $input.all();\n\n\nconsole.log(\"Données reçues:\", JSON.stringify(allItems, null, 2));\n\n// build the table\nlet tableRows = '';\nallItems.forEach(item => {\n  tableRows += `\n  <tr>\n    <td>${item.json.Topic || ''}</td>\n    <td>${item.json.Status || ''}</td>\n    <td>${item.json.Owner || ''}</td>\n    <td>${item.json[\"Next Step\"] || ''}</td>\n  </tr>`;\n});\n\n// generate  HTML\nconst html = `\n<!DOCTYPE html>\n<html>\n<head>\n  <style>\n    table {\n      border-collapse: collapse;\n      width: 100%;\n      margin: 20px 0;\n      font-family: Arial, sans-serif;\n    }\n    th, td {\n      border: 1px solid #dddddd;\n      text-align: left;\n      padding: 8px;\n    }\n    th {\n      background-color: #f2f2f2;\n      font-weight: bold;\n    }\n  </style>\n</head>\n<body>\n  <p>Hello,</p>\n  <p>Here are the elements of the meeting:</p>\n  \n  <table>\n    <thead>\n      <tr>\n        <th>Topic</th>\n        <th>Status</th>\n        <th>Owner</th>\n        <th>Next Step</th>\n      </tr>\n    </thead>\n    <tbody>\n      ${tableRows}\n    </tbody>\n  </table>\n  \n  <p>Have a good day.<br/>PM Team</p>\n</body>\n</html>`;\n\nreturn [{ json: { html } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "3f6ccf89-ad6f-4981-b089-03305093a3ff",
      "name": "データの取得",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        512,
        336
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "id"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "url"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "ee35c6b7-b5c5-4b38-b126-fa4a6df47265",
  "connections": {
    "7722b28d-8289-4b46-838d-6ef72865abed": {
      "main": [
        [
          {
            "node": "3f6ccf89-ad6f-4981-b089-03305093a3ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f6ccf89-ad6f-4981-b089-03305093a3ff": {
      "main": [
        [
          {
            "node": "cd26d1d7-ba33-4983-acd4-f2d65f88c413",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cd26d1d7-ba33-4983-acd4-f2d65f88c413": {
      "main": [
        [
          {
            "node": "9a808aca-5b56-4d5d-9f60-861e17dd85b8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - 個人の生産性, マルチモーダルAI

有料ですか?

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

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

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

作成者
Yassin Zehar

Yassin Zehar

@yassinzehar

Digital & IT Project Manager | Data-oriented | Agile certified (PSM I, PSPO I) | Paris

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34