従業員の表彰業務の自動化(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 Chat Model",
      "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