Automatización del reconocimiento de empleados con Slack, Sheets y Gmail
Este es unHR, Multimodal AIflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como If, Code, Gmail, Slack, GoogleSheets. Automatización del reconocimiento de empleados usando Slack, Sheets, Gmail y GPT-4 opcional
- •Cuenta de Google y credenciales de API de Gmail
- •Bot Token de Slack o URL de Webhook
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (16)
Categoría
{
"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": "Nueva Fila Agregada",
"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": "Formatear Datos del Empleado",
"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": "Generar Mensaje Personalizado",
"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": "Publicar Mensaje en #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": "Actualizar Fila (Estado)",
"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": "Enviar Correo de Agradecimiento",
"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": "Notificar a RRHH en privado",
"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": "Verificar si el Correo se Envió Exitosamente",
"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": "Alertar a RRHH si el Correo Falla",
"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": "Actualizar Fila (Estado del Correo)",
"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": "Nota Adhesiva",
"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": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-96
],
"parameters": {
"color": 3,
"height": 320,
"content": "## Trigger"
},
"typeVersion": 1
},
{
"id": "98d256e2-aa52-4d31-ae6a-d76df030a708",
"name": "Nota Adhesiva2",
"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": "Nota Adhesiva3",
"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": "Nota Adhesiva4",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Recursos Humanos, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Marth
@marthSimplifying 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.
Compartir este flujo de trabajo