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

업무 종료 자동 리포트 → 구글 시트 기록

  • ▸Airtable Trigger로 레코드 생성/수정 이벤트를 감지할 수 있다
  • ▸변경된 필드만 추출해 의미 있는 알림 메시지를 만들 수 있다
  • ▸Slack으로 팀에 변경 내용을 자동 공유할 수 있다

✅사전 준비

  • □Airtable Personal Access Token 발급 및 자격증명 등록
  • □Slack 자격증명 연결 완료
  • □알림 받을 Airtable Base ID, Table ID 확인

Airtable Trigger 설정값

Event: Record Created / Record Updated (필요에 따라 선택)
Base ID:  appXXXXXXXXXXXXXX  (Airtable URL에서 확인)
Table ID: tblXXXXXXXXXXXXXX

Slack 알림 메시지 — 변경 내용 포함

📋 Airtable 레코드가 변경되었습니다

테이블: {{ $json.tableName }}
레코드: *{{ $json.fields["이름"] ?? $json.fields["Name"] ?? "이름 없음" }}*
변경일시: {{ $now.toFormat("yyyy-MM-dd HH:mm") }}

🔗 바로가기: https://airtable.com/{{ $json.baseId }}/{{ $json.tableId }}/{{ $json.id }}
💡 TIPAirtable Trigger가 없는 n8n 버전이라면 Schedule Trigger + Airtable List Records 노드 조합으로 동일하게 구현할 수 있어요.
⚡

워크플로우 JSON

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

📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
  "name": "recipe009_daily_report_sheet_record",
  "nodes": [
    {
      "parameters": {
        "triggerOn": "message",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "daily-report"
        },
        "options": {}
      },
      "id": "slack-trig-009-01",
      "name": "Slack 일일 보고 채널 감지",
      "type": "n8n-nodes-base.slackTrigger",
      "typeVersion": 1.1,
      "position": [
        200,
        400
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": false,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "cond-not-bot",
              "leftValue": "={{ $json.bot_id }}",
              "rightValue": "",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        }
      },
      "id": "if-009-02",
      "name": "봇 메시지 제외",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        420,
        400
      ]
    },
    {
      "parameters": {
        "resource": "sheet",
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $env.DAILY_REPORT_SHEET_ID }}"
        },
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "일일보고"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "날짜": "={{ $now.format('yyyy-MM-dd') }}",
            "시간": "={{ $now.format('HH:mm') }}",
            "작성자": "={{ $json.user }}",
            "내용": "={{ $json.text }}"
          }
        },
        "options": {}
      },
      "id": "sheets-009-03",
      "name": "구글 시트에 보고 기록",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        640,
        300
      ]
    },
    {
      "parameters": {
        "resource": "reaction",
        "operation": "add",
        "channel": "={{ $json.channel }}",
        "timestamp": "={{ $json.ts }}",
        "name": "white_check_mark"
      },
      "id": "slack-009-04",
      "name": "기록 완료 이모지 반응",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        860,
        300
      ]
    }
  ],
  "connections": {
    "Slack 일일 보고 채널 감지": {
      "main": [
        [
          {
            "node": "봇 메시지 제외",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "봇 메시지 제외": {
      "main": [
        [
          {
            "node": "구글 시트에 보고 기록",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "구글 시트에 보고 기록": {
      "main": [
        [
          {
            "node": "기록 완료 이모지 반응",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "timezone": "Asia/Seoul"
  },
  "meta": {
    "chapter": 1,
    "recipe": "009",
    "title": "업무 종료 자동 리포트 → 구글 시트 기록",
    "difficulty": "⭐⭐",
    "estimatedTime": "30분",
    "apps": [
      "Slack",
      "Google Sheets"
    ],
    "workflowUrl": "www.koreaaitimes.com/books/n8n-vol2/recipe009"
  }
}
← 이전 레시피☰ 목차다음 레시피 →