8
n8n 한국어amn8n.com

GPT-4o, Google 캘린더 및 Gmail을 사용한 회의 참가자 연구 자동 생성

고급

이것은AI, Marketing, IT Ops분야의자동화 워크플로우로, 18개의 노드를 포함합니다.주로 If, Set, Gmail, Filter, Markdown 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. GPT-4o, Google 캘린더 및 Gmail을 사용하여 회의 참가자 연구 자동 생성

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "45e293393b5dd8437fb351e5b1ef5511ef67e6e0826a1c10b9b68be850b67593"
  },
  "nodes": [
    {
      "id": "7976731d-692d-45f8-b986-3f82d998dfa0",
      "name": "회사 조사",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        600,
        780
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/responses",
        "options": {},
        "requestMethod": "POST",
        "authentication": "headerAuth",
        "jsonParameters": true,
        "bodyParametersJson": "={{\n  JSON.stringify({\n    model: \"gpt-4o\",\n    tools: [{ type: \"web_search_preview\" }],\n    input: $json.prompt\n  })\n}}",
        "queryParametersJson": "{}",
        "headerParametersJson": "{}"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "rhDo5pdVQQsBgcVZ",
          "name": "Header Auth account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2f123bde-a5a0-4828-81e8-b875ac27d081",
      "name": "인물 조사",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        940,
        960
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/responses",
        "options": {},
        "requestMethod": "POST",
        "authentication": "headerAuth",
        "jsonParameters": true,
        "bodyParametersJson": "={{\n  JSON.stringify({\n    model: \"gpt-4o\",\n    tools: [{ type: \"web_search_preview\" }],\n    input: $json.prompt\n  })\n}}",
        "queryParametersJson": "{}",
        "headerParametersJson": "{}"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "rhDo5pdVQQsBgcVZ",
          "name": "Header Auth account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "07131cea-4600-479f-9048-3e1ec26dac25",
      "name": "Google 캘린더 트리거",
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "position": [
        -1000,
        940
      ],
      "parameters": {
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "eventCreated",
        "calendarId": {
          "__rl": true,
          "mode": "list",
          "value": "youremail@example.com",
          "cachedResultName": "Your Name Here"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "gpYtW24uwPf0eJEq",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fece4fec-b5e5-43ee-8bb2-64093729137a",
      "name": "본인 제외 필터",
      "type": "n8n-nodes-base.filter",
      "position": [
        -320,
        940
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a45fab6b-2017-4740-a7a2-dfc90bc2eafb",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $json.self }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c25cf9a0-99b9-4e52-8852-0824ff53982c",
      "name": "참가자 분리",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -480,
        940
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "=attendees"
      },
      "typeVersion": 1
    },
    {
      "id": "e7709b40-db55-4b4f-8953-218b96d38d73",
      "name": "각 참가자별 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -40,
        940
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "5db7b2b5-078e-4b3a-b8b6-d12903127a93",
      "name": "회사 이메일인가?",
      "type": "n8n-nodes-base.if",
      "position": [
        260,
        960
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "2e0ad575-3652-4981-ad78-e76d95880448",
              "operator": {
                "type": "string",
                "operation": "notRegex"
              },
              "leftValue": "={{ $('For Each Attendee').item.json.email }}",
              "rightValue": "@(gmail\\.com|hotmail\\.com|yahoo\\.com|outlook\\.com|icloud\\.com|aol\\.com|live\\.com|msn\\.com|protonmail\\.com|me\\.com|mail\\.com|gmx\\.com|yandex\\.com)"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "14e226d4-7f42-4da3-b941-9c69facbbbf6",
      "name": "모든 연구 통합",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        260,
        260
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "599fb5b6-8426-4edf-bae8-34ad69aa68e9",
      "name": "필드 수집",
      "type": "n8n-nodes-base.set",
      "position": [
        1100,
        960
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f4b7dbc5-8f43-4cb7-aa59-508822625152",
              "name": "person",
              "type": "string",
              "value": "={{ $json.output[1].content[0].text }}"
            },
            {
              "id": "28988743-7e98-41c3-a564-0e507f8a69af",
              "name": "company",
              "type": "string",
              "value": "={{ $('For Each Attendee').item.json.email.match(/@(gmail\\.com|hotmail\\.com|yahoo\\.com|outlook\\.com|icloud\\.com|aol\\.com|live\\.com|msn\\.com|protonmail\\.com|me\\.com|mail\\.com|gmx\\.com|yandex\\.com)/) ? 'No company information found.' : $('Research Company').item.json.output[1].content[0].text }}"
            },
            {
              "id": "ed7cc918-4b08-4de8-a21e-7410cfe6b6cb",
              "name": "email",
              "type": "string",
              "value": "={{ $('For Each Attendee').item.json.email }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d226f2f5-9671-49b7-bd3d-eea8896aee87",
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        620
      ],
      "parameters": {
        "color": 7,
        "width": 880,
        "height": 700,
        "content": "## 1. New Google Calendar Event Detected\n\nOur workflow is triggered when a new calendar event comes in. \n\nThe event gives us access to a list of attendees which we can loop over in the next step. We need to filter out ourselves if we are in the meeting too!"
      },
      "typeVersion": 1
    },
    {
      "id": "89881dac-69cb-42fd-995c-bc459eab28a5",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        620
      ],
      "parameters": {
        "color": 7,
        "width": 1120,
        "height": 700,
        "content": "## 2. Research Attendee + Company\n\nAPI calls are made to the OpenAI Responses API using the new web search preview endpoint. This allows us to search the web for any mentions of each attendee. If the email address is a company email, we also make a search request to find out about the company. We use some context about ourself (in the \"Set Context\" node) so that the LLM can make an educated guess if there are many people with the same name."
      },
      "typeVersion": 1
    },
    {
      "id": "2a7f467e-cd0c-45f3-bbcd-9b37746b74ef",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 1120,
        "height": 580,
        "content": "## 3. Generate + Send Report\n\nFinally, we combine all the data from the meeting attendees into a report. The report gets written in Markdown, converted into HTML, and the send via the Gmail API."
      },
      "typeVersion": 1
    },
    {
      "id": "d04cf49a-d1fa-4019-9a98-01ec64bd6a37",
      "name": "HTML 작성",
      "type": "n8n-nodes-base.markdown",
      "position": [
        440,
        260
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {
          "tables": true
        },
        "markdown": "=### Meeting Briefing\n\n{{ \n\n$json.data.reduce((acc, entry, index) => acc + (`\n\n### Person ${index + 1} (${entry.email}):\n\n${entry.person}\n\n### Person ${index + 1} Company:\n\n${entry.company}\n\n---`)\n\n, '').trim().replace(/---$/, '')\n\n}}"
      },
      "typeVersion": 1
    },
    {
      "id": "ac2a56db-2d80-4412-8985-a29577db5bcb",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        1100
      ],
      "parameters": {
        "width": 310,
        "height": 200,
        "content": "## Edit Here\nEdit a few variables here to get started:\n- **context**: Some information about you to help the web search return the right people. \n- **email**: The email that you want to send the report to."
      },
      "typeVersion": 1
    },
    {
      "id": "d32e4220-78fa-4581-abd3-ceff4e95641a",
      "name": "필드 편집",
      "type": "n8n-nodes-base.set",
      "position": [
        -740,
        940
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ad442334-0219-4297-91c3-03575920d9b9",
              "name": "context",
              "type": "string",
              "value": "I am working in web development, based in Singapore/Australia, and I work with startups"
            },
            {
              "id": "46cff036-7624-4682-8a22-966a5c46c7b5",
              "name": "email",
              "type": "string",
              "value": "youremail@example.com"
            },
            {
              "id": "c9b83d56-8b24-4767-bc83-0eb0b5f62986",
              "name": "attendees",
              "type": "array",
              "value": "={{ $json.attendees }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "600667b6-aae3-4a9e-a71c-a0819921a823",
      "name": "보고서 전송",
      "type": "n8n-nodes-base.gmail",
      "position": [
        600,
        260
      ],
      "webhookId": "86c63a4a-64e7-41e5-b657-c80b59dce562",
      "parameters": {
        "sendTo": "={{ $('Edit Fields').item.json.email }}",
        "message": "={{ $json.data }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "=Meeting Briefing: {{ $('Google Calendar Trigger').item.json.summary }} ({{ new Date($('Google Calendar Trigger').item.json.start.dateTime).format(\"dd/MM/yyyy\") }})"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "aXTuNMJaYuKFOKTa",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "863c58b1-3b88-4b25-9191-31c77c2911cd",
      "name": "인물 프롬프트",
      "type": "n8n-nodes-base.set",
      "position": [
        780,
        960
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7096cd1e-179c-4230-b869-73f7cb1a9ff9",
              "name": "prompt",
              "type": "string",
              "value": "=I have a call scheduled with {{ $('For Each Attendee').item.json.email }} Please find out as much as you can about the owner of this email address. \n\n- What do they do? \n- What are their interests? \n- What might I not know about them?\n\n{{ $('For Each Attendee').item.json.email.match(/@(gmail\\.com|hotmail\\.com|yahoo\\.com|outlook\\.com|icloud\\.com|aol\\.com|live\\.com|msn\\.com|protonmail\\.com|me\\.com|mail\\.com|gmx\\.com|yandex\\.com)/) ? '' : `Make sure to crawl their company website (http:/$('For Each Attendee').item.json.email.split('@')[1]}) to see if there's anything there.` }} \n\nFor context: {{ $('Edit Fields').item.json.email }}. If there is any ambiguity, use this information to find the most likely person to be meeting with me.\n\nDon't tailor your answer to this context - stay objective about the person only. Make your answer less than 100 words."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "dbc54bdb-1b50-44ae-a3d2-b4ab33d1ecc3",
      "name": "회사 프롬프트",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        780
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9d1121f3-a5a6-4f73-8726-0a84cad94e77",
              "name": "prompt",
              "type": "string",
              "value": "=Check out the website http://{{ $('For Each Attendee').item.json.email.split(\"@\")[1] }}). \n\n- What does this company do? \n- What problem do they solve? \n- What is their business model? \n\nFor context about me: {{ $('Edit Fields').item.json.context }}.\n\nDon't mention anything about this context in your answer - stay objective about the company. Make your answer less than 100 words. \n\nIf you are unable to find a company at this URL, just write 'Company Not Found'."
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "pinData": {},
  "connections": {
    "d04cf49a-d1fa-4019-9a98-01ec64bd6a37": {
      "main": [
        [
          {
            "node": "600667b6-aae3-4a9e-a71c-a0819921a823",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d32e4220-78fa-4581-abd3-ceff4e95641a": {
      "main": [
        [
          {
            "node": "c25cf9a0-99b9-4e52-8852-0824ff53982c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "863c58b1-3b88-4b25-9191-31c77c2911cd": {
      "main": [
        [
          {
            "node": "2f123bde-a5a0-4828-81e8-b875ac27d081",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "599fb5b6-8426-4edf-bae8-34ad69aa68e9": {
      "main": [
        [
          {
            "node": "e7709b40-db55-4b4f-8953-218b96d38d73",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dbc54bdb-1b50-44ae-a3d2-b4ab33d1ecc3": {
      "main": [
        [
          {
            "node": "7976731d-692d-45f8-b986-3f82d998dfa0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f123bde-a5a0-4828-81e8-b875ac27d081": {
      "main": [
        [
          {
            "node": "599fb5b6-8426-4edf-bae8-34ad69aa68e9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7976731d-692d-45f8-b986-3f82d998dfa0": {
      "main": [
        [
          {
            "node": "863c58b1-3b88-4b25-9191-31c77c2911cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fece4fec-b5e5-43ee-8bb2-64093729137a": {
      "main": [
        [
          {
            "node": "e7709b40-db55-4b4f-8953-218b96d38d73",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7709b40-db55-4b4f-8953-218b96d38d73": {
      "main": [
        [
          {
            "node": "14e226d4-7f42-4da3-b941-9c69facbbbf6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "5db7b2b5-078e-4b3a-b8b6-d12903127a93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5db7b2b5-078e-4b3a-b8b6-d12903127a93": {
      "main": [
        [
          {
            "node": "dbc54bdb-1b50-44ae-a3d2-b4ab33d1ecc3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "863c58b1-3b88-4b25-9191-31c77c2911cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c25cf9a0-99b9-4e52-8852-0824ff53982c": {
      "main": [
        [
          {
            "node": "fece4fec-b5e5-43ee-8bb2-64093729137a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "14e226d4-7f42-4da3-b941-9c69facbbbf6": {
      "main": [
        [
          {
            "node": "d04cf49a-d1fa-4019-9a98-01ec64bd6a37",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "07131cea-4600-479f-9048-3e1ec26dac25": {
      "main": [
        [
          {
            "node": "d32e4220-78fa-4581-abd3-ceff4e95641a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 인공지능, 마케팅, IT 운영

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수18
카테고리3
노드 유형11
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Adam Janes

Adam Janes

@adamjanes

I am a product-minded technologist with hacker DNA building things in AI automation. I have a broad and varied background - having worked in Product, Design, and Sales - combined with deep technical experience as a Senior Developer and Fractional CTO. I am also a best-selling Udemy instructor (with 25K+ students), and founder of WOOFCODE - a free coding camp for fullstack developers. I practice non-violent communication, motivational interviewing, and Tibetan Buddhist meditation.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34