8
n8n 한국어amn8n.com

회의록 자동화 (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": "Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        304,
        336
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9a808aca-5b56-4d5d-9f60-861e17dd85b8",
      "name": "이메일 with meeting minutes",
      "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": "Generate the email",
      "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": "Get the data",
      "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": "Email with meeting minutes",
            "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