8
n8n 한국어amn8n.com

Slack, Sheets 및 Gmail을 활용한 직원 인정 자동화

고급

이것은HR, Multimodal AI분야의자동화 워크플로우로, 16개의 노드를 포함합니다.주로 If, Code, Gmail, Slack, GoogleSheets 등의 노드를 사용하며. Slack, Sheets, Gmail 및 선택적 GPT-4를 사용한 직원 표창 자동화

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • Slack Bot Token 또는 Webhook URL
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "SO3XFrXNyQTjwils",
  "meta": {
    "instanceId": "a287613f1596da776459594685fbf4e2b4a12124f80ab8c8772f5e37bff103ae",
    "templateCredsSetupCompleted": true
  },
  "name": "Employee Recognition Automation with Slack, Sheets & Gmail",
  "tags": [],
  "nodes": [
    {
      "id": "ac6a4d39-86ab-4325-810f-50910cb09d40",
      "name": "OpenAI 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        160,
        272
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "WbMi3ZLLBnECFAAV",
          "name": "temp"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3685995a-dacf-4395-b0a8-3154189bb234",
      "name": "새 행 추가됨",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -48,
        0
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "range": "A:D",
              "rangeDefinition": "specifyRangeA1"
            }
          }
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SHEET_ID"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_DOC_ID"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "y0YhoaKRGXeG1RfK",
          "name": "temp"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f6cc7e9c-e5b1-4c38-9424-95bb34138328",
      "name": "직원 데이터 포맷팅",
      "type": "n8n-nodes-base.code",
      "position": [
        208,
        0
      ],
      "parameters": {
        "jsCode": "return items.map(item => ({\n  json: {\n    name: item.json[\"Name\"],\n    dept: item.json[\"Department\"],\n    reason: item.json[\"Reason\"],\n    date: item.json[\"Date\"],\n    message: `${item.json[\"Name\"]} from ${item.json[\"Department\"]} has been recognized for ${item.json[\"Reason\"]}! 🎉`\n  }\n}));\n"
      },
      "typeVersion": 2
    },
    {
      "id": "dfa27ba6-112e-45cc-8167-c54635a42cda",
      "name": "개인 맞춤 메시지 생성",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        416,
        0
      ],
      "parameters": {
        "options": {
          "systemMessage": "Write a short, friendly recognition message for {name} from the {dept} department who was recognized for {reason}. \nMake it sound genuine and positive, under 2 sentences.\n"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "20a36671-cd34-42c1-982d-3d4c69370768",
      "name": "#general 채널에 메시지 게시",
      "type": "n8n-nodes-base.slack",
      "position": [
        768,
        0
      ],
      "webhookId": "85a6f74e-7089-4ea7-86a0-de1ee38df111",
      "parameters": {
        "text": "=🎉 Employee Spotlight 🎉  \n{{ $json.name }} from {{ $json.dept }} has been recognized for {{ $json.reason }}!  \nGreat work! 👏\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_CHANNEL_ID"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "AFKF0YsguyhsagR0",
          "name": "temp"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "b844e4af-e142-4caa-a1c5-9eeb477a3add",
      "name": "행 업데이트 (상태)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        976,
        0
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "SHEET_ID"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "DOC_ID"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "MSnszF5oRAiSGHDo",
          "name": "temp"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "cd49e9b2-635e-46ad-aacf-f91d01eeeac8",
      "name": "감사 이메일 전송",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1184,
        0
      ],
      "webhookId": "b61ba605-37cc-489b-a259-767157383ce5",
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "message": "=Hi {{ $json.name }},\n\nCongratulations on being recognized for your excellent work in {{ $json.dept }}! \nWe truly appreciate your contribution and dedication.\n\nKeep shining,\nHR Team 🌟\n",
        "options": {},
        "subject": "=Thank you for your amazing work, {{ $json.name }}!"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "6JenZLArAEoAQxk1",
          "name": "tes"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3eb68a1d-4d46-4fa6-9486-4b53ca04dcb9",
      "name": "HR에 비공개 알림",
      "type": "n8n-nodes-base.slack",
      "position": [
        1392,
        0
      ],
      "webhookId": "2db6eb53-811b-45bc-ae9d-a4498c985c02",
      "parameters": {
        "text": "=✅ Recognition completed for {{ $json.name }}  \nPosted to #general and sent thank-you email.\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "CHANNEL_ID"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "AFKF0YsguyhsagR0",
          "name": "temp"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "8290462d-2504-4be0-8bd9-a069ccb6067f",
      "name": "이메일 전송 성공 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        1600,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "64e06d12-cba1-44f4-ad2f-67fa619d9378",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.gmail.status.toLowerCase }}",
              "rightValue": "success"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7f7481b6-b7a7-43e7-a22d-99fdbb7d2dec",
      "name": "이메일 실패 시 HR 알림",
      "type": "n8n-nodes-base.slack",
      "position": [
        1808,
        144
      ],
      "webhookId": "67d1f140-1107-4c97-9dd4-cd07e99fbb67",
      "parameters": {
        "text": "=⚠️ Failed to send email to {{ $json.name }}. \nPlease check Gmail node or update manually.\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "CHANNEL_ID"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "AFKF0YsguyhsagR0",
          "name": "temp"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "9fb98a56-a9ab-4d6b-8d59-a1f6fe2ab937",
      "name": "행 업데이트 (이메일 상태)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1808,
        -160
      ],
      "parameters": {
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "MSnszF5oRAiSGHDo",
          "name": "temp"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "810f8d54-e39d-4cc0-85e4-8171f486bc07",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        256
      ],
      "parameters": {
        "color": 5,
        "width": 1136,
        "height": 944,
        "content": "# Employee Recognition Bot\n\n## Problem\n\nManually recognizing employees is inconsistent. HR often forgets to announce wins, send thank-you emails, or update sheets — hurting morale and culture.\n\n## Solution\n\nThis **n8n workflow automates recognition** from Google Sheets → Slack → Gmail.\nAdd a new entry in Google Sheets, and it will:\n\n* Announce it instantly in Slack\n* Send a personalized thank-you email\n* Update the sheet automatically\n\nZero manual work. 100% consistent recognition.\n\n## What It Does\n\n* Watches Google Sheets for new recognitions\n* Sends Slack announcements & thank-you emails\n* Marks each as “Announced” and “Email Sent”\n* Notifies HR if any step fails\n* (Optional) Uses AI to write personalized messages\n\n## For Who\n\nHR teams, founders, or managers who want an **automated, zero-cost** way to boost morale and culture.\n\n## Setup (Simple)\n\n1. Create Google Sheet → `Name | Department | Reason | Date | Email | Status | EmailStatus`\n2. Connect Google Sheets, Slack, and Gmail in n8n\n3. Add your Slack channel and Gmail email template\n4. (Optional) Add OpenAI node for AI-written messages\n5. Activate workflow → Recognition runs on autopilot\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ed928903-f6dc-4dcf-bee2-a197fa5f7450",
      "name": "스티커 메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -96
      ],
      "parameters": {
        "color": 3,
        "height": 320,
        "content": "## Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "98d256e2-aa52-4d31-ae6a-d76df030a708",
      "name": "스티커 메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -96
      ],
      "parameters": {
        "color": 3,
        "width": 560,
        "height": 320,
        "content": "## Message Generator"
      },
      "typeVersion": 1
    },
    {
      "id": "9752768e-604e-43cb-8e36-2b51fedfc70e",
      "name": "스티커 메모3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -96
      ],
      "parameters": {
        "color": 3,
        "width": 816,
        "height": 320,
        "content": "## Notify"
      },
      "typeVersion": 1
    },
    {
      "id": "88245e07-15be-4321-a8bc-a0701561a992",
      "name": "스티커 메모4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        -208
      ],
      "parameters": {
        "color": 3,
        "width": 496,
        "height": 544,
        "content": "## Logging\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d5c1fe07-cd45-4e77-97f5-3ccf0e5b09bd",
  "connections": {
    "3685995a-dacf-4395-b0a8-3154189bb234": {
      "main": [
        [
          {
            "node": "f6cc7e9c-e5b1-4c38-9424-95bb34138328",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ac6a4d39-86ab-4325-810f-50910cb09d40": {
      "ai_languageModel": [
        [
          {
            "node": "dfa27ba6-112e-45cc-8167-c54635a42cda",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "3eb68a1d-4d46-4fa6-9486-4b53ca04dcb9": {
      "main": [
        [
          {
            "node": "8290462d-2504-4be0-8bd9-a069ccb6067f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b844e4af-e142-4caa-a1c5-9eeb477a3add": {
      "main": [
        [
          {
            "node": "cd49e9b2-635e-46ad-aacf-f91d01eeeac8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6cc7e9c-e5b1-4c38-9424-95bb34138328": {
      "main": [
        [
          {
            "node": "dfa27ba6-112e-45cc-8167-c54635a42cda",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cd49e9b2-635e-46ad-aacf-f91d01eeeac8": {
      "main": [
        [
          {
            "node": "3eb68a1d-4d46-4fa6-9486-4b53ca04dcb9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "20a36671-cd34-42c1-982d-3d4c69370768": {
      "main": [
        [
          {
            "node": "b844e4af-e142-4caa-a1c5-9eeb477a3add",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dfa27ba6-112e-45cc-8167-c54635a42cda": {
      "main": [
        [
          {
            "node": "20a36671-cd34-42c1-982d-3d4c69370768",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8290462d-2504-4be0-8bd9-a069ccb6067f": {
      "main": [
        [
          {
            "node": "9fb98a56-a9ab-4d6b-8d59-a1f6fe2ab937",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7f7481b6-b7a7-43e7-a22d-99fdbb7d2dec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

고급 - 인사, 멀티모달 AI

유료인가요?

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

워크플로우 정보
난이도
고급
노드 수16
카테고리2
노드 유형9
난이도 설명

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

저자
Marth

Marth

@marth

Simplifying Business with Smart Automation. I create and share user-friendly, highly efficient n8n workflow templates for SMEs, focusing on digital marketing, sales, and operational excellence. Get ready to automate, innovate, and elevate your business. Connect me on Linkedin for custom solutions.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34