Skip to main content

Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack

Workflow preview

Workflow preview
100%
Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow runs daily, pulls birthdays from Google Contacts, generates personalized birthday copy with OpenAI, sends greetings via Gmail, WhatsApp Business Cloud, and Telegram whe...

Best for

  • Personal Productivity automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.googlecontacts, n8n-nodes-base.if, n8n-nodes-base.set, n8n-nodes-base.stickynote, n8n-nodes-base.code, @n8n/n8n-nodes-langchain.openai, n8n-nodes-base.gmail

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Ravi Patel.

Original n8n.io source

1.1 Workflow description

Title
Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack
Workflow name
Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack

Quick Overview

This workflow runs daily, pulls birthdays from Google Contacts, generates personalized birthday copy with OpenAI, sends greetings via Gmail, WhatsApp Business Cloud, and Telegram when available, and posts a per-contact delivery summary to Slack.

How it works

  1. Runs every day at 8:00 AM on a schedule.
  2. Fetches all contacts from Google Contacts including names, birthdays, email addresses, phone numbers, and biographies.
  3. Normalizes contact details, validates email/phone/Telegram chat ID fields, and keeps only contacts whose birthday is today.
  4. Uses OpenAI to generate a birthday message payload (email subject/body plus a short chat message) and applies fallback text if any fields are missing.
  5. Sends the birthday greeting through Gmail, WhatsApp Business Cloud, and Telegram only for channels that pass validation, and records a sent or skipped status for each channel.
  6. Builds a Slack-friendly summary per birthday contact and posts it to the configured Slack channel.

Setup

  1. Connect your Google Contacts account in n8n so the workflow can read contacts with birthdays, emails, phone numbers, and biographies.
  2. Add an OpenAI credential and ensure your prompt returns JSON fields named subject, emailMessage, and shortMessage.
  3. Add a Gmail OAuth2 credential for sending emails and confirm the workflow is allowed to email your contacts.
  4. Add WhatsApp Business Cloud credentials and replace YOUR_WHATSAPP_PHONE_NUMBER_ID with your phone number ID.
  5. Add a Telegram bot credential and ensure each recipient’s numeric chatId is available (for example stored in the contact biography field).
  6. Add a Slack OAuth2 credential and replace YOUR_SLACK_CHANNEL_ID with the channel where the final summary should be posted.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - Google Contacts

Type / Role
n8n-nodes-base.googleContacts - googleContacts
Config choices
Version 1

Block 3 - If WhatsApp

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 4 - WhatsApp Skipped

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 5 - If Telegram

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 6 - Telegram Skipped

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 7 - Sticky Input

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Sticky Validation

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Sticky AI

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Email

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky WhatsApp

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Telegram

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Summary

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Checklist

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Normalize + Validate1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - AI Birthday Message1

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 17 - Prepare Messages1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 18 - If Email1

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 19 - Gmail1

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 20 - Email Skipped1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 21 - Email Sent1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 22 - WhatsApp1

Type / Role
n8n-nodes-base.whatsApp - whatsApp
Config choices
Version 1

Block 23 - WhatsApp Sent1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 24 - Telegram1

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Showing the first 24 of 30 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack
Complexity advanced
Nodes 30
Categories Personal Productivity, Multimodal AI
Author Ravi Patel
Published 15 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16359/16359.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Send daily birthday greetings via Gmail, WhatsApp, Telegram and Slack do?

Quick Overview This workflow runs daily, pulls birthdays from Google Contacts, generates personalized birthday copy with OpenAI, sends greetings via Gmail, WhatsApp Business Cloud, and Telegram whe...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Personal Productivity, Multimodal AI use case.