발행일: 2026-10-06(화) 11:44
← 목차로 돌아가기|하루 30분 n8n 시리즈 ② 실무 자동화 레시피 100
RECIPE 063

회의록 자동 생성 → Notion 저장 + 팀 공유

  • ▸회의 녹음/텍스트에서 AI로 회의록 자동 생성
  • ▸액션 아이템과 담당자 자동 추출
  • ▸Notion에 저장 후 참석자에게 이메일 자동 발송

✅사전 준비

  • □OpenAI Whisper API 키 (음성→텍스트 변환, 선택사항)
  • □OpenAI GPT-4o API 키 (회의록 생성)
  • □Notion 통합 토큰 및 회의록 DB 생성
  • □Gmail OAuth2 자격증명 설정

회의록 생성 프롬프트

System: 당신은 전문 회의록 작성자입니다.
다음 형식으로 회의록을 작성하세요:

## 회의 요약
(3~5줄 핵심 요약)

## 주요 논의 사항
- 항목 1
- 항목 2

## 액션 아이템
| 담당자 | 내용 | 기한 |

## 다음 회의
(언급된 경우)

User: {{ $json.transcript }}

Notion 회의록 페이지 생성

{
  "parent": { "database_id": "YOUR_MEETING_DB_ID" },
  "properties": {
    "제목": { "title": [{ "text": { "content": "{{ $json.meeting_title }} - {{ $now.toFormat('yyyy-MM-dd') }}" } }] },
    "날짜": { "date": { "start": "{{ $now.toISODate() }}" } },
    "참석자": { "multi_select": {{ $json.attendees.map(a => ({name: a})) }} }
  },
  "children": [{
    "object": "block",
    "type": "paragraph",
    "paragraph": { "rich_text": [{ "text": { "content": "{{ $json.minutes }}" } }] }
  }]
}
💡 TIPZoom, Google Meet의 자동 자막 텍스트 파일(.vtt)을 Webhook으로 수신하거나 Google Drive에서 읽어 바로 처리할 수 있습니다.
⚡

워크플로우 JSON

아래 JSON을 복사해 n8n에 바로 임포트하세요

📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
  "recipeId": "recipe063",
  "title": "Stripe 결제 완료 → 회계 시트 자동 기록",
  "chapter": 6,
  "category": "재무 & 정산 자동화",
  "difficulty": "⭐⭐",
  "estimatedTime": "30분",
  "usedApps": [
    "Stripe",
    "Google Sheets",
    "Slack"
  ],
  "description": "Stripe에서 결제가 완료되는 즉시 결제 금액·고객명·이메일·결제 시간을 Google Sheets 매출 시트에 자동 기록합니다. 일정 금액(100만 원) 이상 결제 건은 대표에게 Slack 알림을 추가로 발송합니다.",
  "nodes": [
    {
      "id": "node1",
      "type": "n8n-nodes-base.stripeTrigger",
      "name": "Stripe 결제 완료 감지",
      "parameters": {
        "events": [
          "payment_intent.succeeded"
        ]
      }
    },
    {
      "id": "node2",
      "type": "n8n-nodes-base.googleSheets",
      "name": "매출 시트 자동 기록",
      "parameters": {
        "operation": "appendOrUpdate",
        "spreadsheetId": "={{$env.SALES_SHEET_ID}}",
        "sheetName": "매출내역",
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "결제일시": "={{$now.format('YYYY-MM-DD HH:mm:ss')}}",
            "고객명": "={{$json['charges']['data'][0]['billing_details']['name']}}",
            "고객이메일": "={{$json['charges']['data'][0]['billing_details']['email']}}",
            "결제금액": "={{$json['amount'] / 100}}",
            "통화": "={{$json['currency'].toUpperCase()}}",
            "결제ID": "={{$json['id']}}"
          }
        }
      }
    },
    {
      "id": "node3",
      "type": "n8n-nodes-base.if",
      "name": "100만 원 이상 여부 확인",
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{$node['Stripe 결제 완료 감지'].json['amount'] / 100}}",
              "operation": "largerEqual",
              "value2": 1000000
            }
          ]
        }
      }
    },
    {
      "id": "node4",
      "type": "n8n-nodes-base.slack",
      "name": "대표 Slack 알림",
      "parameters": {
        "channel": "={{$env.CEO_SLACK_ID}}",
        "text": "💰 대형 결제 발생!\n고객: {{$node['Stripe 결제 완료 감지'].json['charges']['data'][0]['billing_details']['name']}}\n금액: ₩{{($node['Stripe 결제 완료 감지'].json['amount'] / 100).toLocaleString()}}\n결제 시각: {{$now.format('MM/DD HH:mm')}}"
      }
    }
  ],
  "envVariables": {
    "SALES_SHEET_ID": "Google Sheets 매출 시트 ID",
    "CEO_SLACK_ID": "대표 Slack 채널 또는 DM ID"
  },
  "tips": [
    "Stripe 금액은 센트(cent) 단위로 전달되므로 100으로 나눠야 원화 또는 달러 단위가 됩니다.",
    "통화가 여러 개라면 IF 노드에서 currency별로 분기해 각각 다른 시트에 기록할 수 있어요.",
    "레시피 062(인보이스 자동 발송)와 연결하면 결제 완료 즉시 인보이스까지 자동 발송됩니다."
  ],
  "qrUrl": "www.koreaaitimes.com/books/n8n-vol2/recipe063"
}
← 이전 레시피☰ 목차다음 레시피 →