Automatización de cumpleaños y aniversarios de empleados con Google Gemini y Slack

Intermedio

Este es unHR, Multimodal AIflujo de automatización del dominio deautomatización que contiene 8 nodos.Utiliza principalmente nodos como If, Slack, Aggregate, GoogleSheets, Agent. Automatización de cumpleaños y aniversarios de empleados usando Google Gemini y Slack

Requisitos previos
  • Bot Token de Slack o URL de Webhook
  • Credenciales de API de Google Sheets
  • Clave de API de Google Gemini
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "INSTANCE_ID_PLACEHOLDER",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "node-id-1",
      "name": "Modelo de Chat Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1424,
        592
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "GOOGLE_GEMINI_CREDENTIAL_ID",
          "name": "Google Gemini API account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "node-id-2",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        272
      ],
      "parameters": {
        "width": 304,
        "height": 480,
        "content": "## 🎉 Replace BillyBot: Free Slack Employee Birthday & Anniversary Automation\n\n- Runs daily at 9 AM. Fetches employee data from Google Sheets, filters today's birthdays/anniversaries, generates personalized AI messages, and posts to Slack.\n- Sheet format: NO | Name | Email | Date of Birth (YYYY-MM-DD) | Joining Date (YYYY-MM-DD)\n- AI features: 12 rotating message styles, auto-calculates tenure, Slack markdown formatting\n- Cost: $0-20/month vs BillyBot's $1/employee/month ($600-2,400/year for 50-200 employees)"
      },
      "typeVersion": 1
    },
    {
      "id": "node-id-3",
      "name": "Activador Diario 9AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        368,
        416
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "node-id-4",
      "name": "Obtener Datos de Empleados",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        592,
        416
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "SHEET_ID_PLACEHOLDER",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/GOOGLE_SHEET_DOCUMENT_ID/edit#gid=SHEET_ID_PLACEHOLDER",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "GOOGLE_SHEET_DOCUMENT_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/GOOGLE_SHEET_DOCUMENT_ID/edit",
          "cachedResultName": "employee-data-sheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "node-id-5",
      "name": "Verificar Cumpleaños o Aniversario Laboral",
      "type": "n8n-nodes-base.if",
      "position": [
        864,
        416
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "condition-id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $now.toFormat('MM-dd') }}",
              "rightValue": "={{ DateTime.fromISO($json['Date of Birth']).toFormat('MM-dd') }}"
            },
            {
              "id": "condition-id-2",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $now.toFormat('MM-dd') }}",
              "rightValue": "={{ DateTime.fromISO($json['Joining Date']).toFormat('MM-dd') }}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "node-id-6",
      "name": "Combinar Celebraciones del Día",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1184,
        400
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "node-id-7",
      "name": "Generar Mensaje Personalizado Slack",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1424,
        400
      ],
      "parameters": {
        "text": "=todays date :- {{ $now }}\n\nemp data :- {{ $json.data.toJsonString() }}",
        "options": {
          "systemMessage": "=🎉 Slack Celebration Message Generator\nGenerate unique, heartfelt birthday and work anniversary messages for Slack that feel genuinely human-written, never templated.\n🎯 Core Rules\nUniqueness: Never repeat opening phrases, sentence structures, or tones across messages. Each celebration must feel completely different.\nAuthenticity: Write like a caring colleague, not a robot. Messages should be personal, warm, and memorable.\nVariation: Rotate through different styles, emojis, and approaches systematically.\n🎨 Message Styles (Rotate These)\nBirthdays:\n\nJoyful - Pure celebration and excitement\nReflective - New beginnings and fresh chapters\nGrateful - Appreciation for their presence\nPlayful - Lighthearted with gentle humor\nAchievement - Celebrate growth and contributions\nWarm - Team family togetherness\n\nWork Anniversaries:\n\nMilestone - Highlight achievements and impact\nJourney - Their evolution and growth story\nTeam Impact - How they enrich the culture\nFuture-Forward - Excitement for what's ahead\nExcellence - Innovation and expertise\nLegacy - Foundational role (5+ years)\n\n📝 Format Requirements\nStructure:\n*[Unique Opening + Name + Hook]* [Emoji Combo]\n[Specific wishes/appreciation - keep brief]\n_— from the team 💙_\nMarkdown:\n\n*bold* for names and key phrases\n_italic_ for signature only\nProper line breaks for readability\n\nEmojis (rotate):\n\nBirthday: 🎂✨, 🎉🎂, 🎂🌟, 🎈🎉, 🎂🎊, 🌟🎁, 🎉✨, 🎂💫\nAnniversary: 🎊🚀, 🏆🎉, 🎊💪, ⭐🎊, 🚀✨, 🎉🏅, 🎊⚡, 💎🎊\n\n🎲 Variation Rules\n\nOpening: Never repeat within 30 days\nTone: Never use same emotional tone consecutively\nLength: 1-3 lines per person, mobile-friendly\nAnniversary Years: Adapt message to tenure length\n\n💡 Writing Tips\n\nUse first names only\nVary sentence length and rhythm\nKeep culturally inclusive and professional\nMake it screenshot-worthy\nEach person gets distinctly different treatment\n\nOutput: Generate ready-to-post Slack messages that colleagues will genuinely react to and appreciate."
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "node-id-8",
      "name": "Publicar Celebración en Canal Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1808,
        400
      ],
      "webhookId": "WEBHOOK_ID_PLACEHOLDER",
      "parameters": {
        "text": "={{ $json.output }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "SLACK_CHANNEL_ID",
          "cachedResultName": "your-channel-name"
        },
        "otherOptions": {
          "includeLinkToWorkflow": false
        }
      },
      "credentials": {
        "slackApi": {
          "id": "SLACK_CREDENTIAL_ID",
          "name": "slack-bot-credential"
        }
      },
      "typeVersion": 2.3
    }
  ],
  "pinData": {},
  "connections": {
    "node-id-3": {
      "main": [
        [
          {
            "node": "node-id-4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "node-id-4": {
      "main": [
        [
          {
            "node": "node-id-5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "node-id-1": {
      "ai_languageModel": [
        [
          {
            "node": "node-id-7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "node-id-6": {
      "main": [
        [
          {
            "node": "node-id-7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "node-id-5": {
      "main": [
        [
          {
            "node": "node-id-6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "node-id-7": {
      "main": [
        [
          {
            "node": "node-id-8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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?

Intermedio - 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

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos8
Categoría2
Tipos de nodos8
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Roshan Ramani

Roshan Ramani

@rawsun007

I love building smart n8n automations that actually work reliably. My focus is on making everyday tasks like email, social media, and CRM workflows simpler using AI. I've shared templates in the n8n community, including a WhatsApp Expense Tracker that people really enjoy. What keeps me excited is constantly trying new things - testing fresh nodes, playing with AI tools like LangChain, and discovering creative ways to connect systems!

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34