How to Send Birthday Wishes Using Power Automate? (Email & Teams)

I encountered an interesting requirement while working with a client a few days ago. They wanted an automated birthday reminder system in Power Automate. The goal was simple:

  • Send a birthday wish to the employee via Outlook email and a Teams message.
  • Notify their manager about the employee’s birthday on the same day.
  • Send a reminder to the manager three days in advance.
How to Send Birthday Reminder in Power Automate

After receiving this requirement, I explored different ways to implement it. I found two approaches to getting employees’ birth dates:

  • Using Office 365 Azure Active Directory (AAD): This method pulls birth dates directly from AAD, making it ideal for organizations that maintain employee profiles in Microsoft Entra ID (formerly Azure AD).
  • Using a SharePoint list: Here, employee details, including birth dates, are stored in a SharePoint list, allowing flexibility for companies that don’t have birth date data in AAD.

Both methods achieve the same goal of sending birthday wishes to employees via Outlook and Teams while notifying their managers on the same day and three days in advance.

In this tutorial, I will show you how to send birthday reminders in Power Automate.

Send Birthday Wishes Using Power Automate

As mentioned earlier, I will show you two ways to check birthdays. The first method uses Office 365, but if the birthday date is unavailable in Office 365, you can use the second method. Alternatively, you can download our solution, which includes both methods in a single Solution.

Send Birthday Reminder From Office 365 Users Connector in Power Automate

I created a scheduled flow in Power Automate that runs daily at 10 AM to automate birth wishes. This flow checks all employee birthday dates in Office 365 and sends wish emails and Microsoft Teams if the date matches today’s date.

Power automate work flow sending birthday email a day later

Then, use the Search for users (V2) action to retrieve all users from Office 365. Enable pagination and set the value according to your organization’s requirements. In my client’s case, since their organization has fewer than 1,000 users, I set the limit to 1,000.

How to Automate Birthday Emails for Employees Using Power

In the above steps, I get all users, but I can’t get their birthday dates, so I use the Get user profile (V2) action from Office 365 Users Connector to get that.

Then, I added the condition action to check if today’s date is equal to the birthday using the expression below:

Left Side:

formatDateTime(outputs('Get_user_profile_(V2)')?['body/birthday'],'dd-MM')

Right Side:

formatDateTime(utcNow(),'dd-MM')
How to generate a birthday reminder e-mail before birthday in Power Automate

Then, I used the Send an email (V2) action to send an email and Post card in a chat or channel action.

I used the below code for Adaptive Card in Post card in a chat or channel action:

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.4",
    "body": [
        {
            "type": "Image",
            "url": "@{variables('varBirthDayImage')}",
            "size": "Large",
            "horizontalAlignment": "Center"
        },
        {
            "type": "TextBlock",
            "text": "🎉 Happy Birthday, @{outputs('Get_user_profile_(V2)')?['body/displayName']}! 🎂",
            "weight": "Bolder",
            "size": "ExtraLarge",
            "color": "Accent",
            "horizontalAlignment": "Center"
        },
        {
            "type": "TextBlock",
            "text": "Wishing you a day filled with joy, laughter, and success. May this year bring you more achievements and happiness! 🎈🎁",
            "wrap": true,
            "horizontalAlignment": "Center"
        },
        {
            "type": "TextBlock",
            "text": "Enjoy your special day! 🎊",
            "weight": "Bolder",
            "horizontalAlignment": "Center"
        }
    ]
}
Send Birthday Reminder From Office 365 Users Connector in Power Automate

In the down, I provide the out of this Flow.

Send Birthday Reminder From SharePoint List in Power Automate

I created one SharePoint list to implement this solution, and all were set up using a PowerShell script.

Employee Birthday:

Column NameData Types
Employee NamePerson or Group
Date Of BirthDate and time
power automate birthday emails

Create a SharePoint list Using the PowerShell Script:

I used a PowerShell script to simplify creating the required SharePoint list. This script automates the setup, ensuring the list has the correct names and configurations.

Never Forget A Birthday Using Power Automate

Once you run the PowerShell script, the list will be successfully created on your SharePoint site. We are ready to move on to the next step: making the flow in Power Automate.

Create Send Birthday Reminder From SharePoint List in Power Automate

I created a scheduled flow in Power Automate that runs daily at 10 AM to automate birth wishes. This flow checks all employee birthday dates in the SharePoint list. If the date matches today, it will send wish emails and Microsoft Teams.

Then, I use the Get Items action to retrieve the birthday date from the SharePoint list. I used the Filter array action to get the task. For example, if the birth date is today, I used the below parameters in the Filter array:

  • From:
@{outputs('Get_items_|_Employee_Birthday')?['body/value']}
  • Filter Query:
@{formatDateTime(item()?['DateOfBirth'],'dd-MM')} is equal to @{formatDateTime(utcNow(),'dd-MM')}
How to send Birthday Wishes Email using PowerAutomate

After that, I used Apply to each action and provided the body of the filter array action.

Create Send Birthday Reminder From SharePoint List in Power Automate

Then, I used the Send an email (V2) action to send an email and postcard in a chat or channel action. I tell you the same thing I told you above.

Run the flow to Send Birthday Reminder in Power Automate

Once the Power Automate flow is set up, I added one employee’s birthday as two and one employee’s birthday after 3 days.

When I ran the flow, the person and their manager received the below notification:

An employee received an EmailAutomating Birthday Emails Power Automate Tutorial
An employee received a messageBirthday Email Automation with Power Automate
The Manager received an EmailHow to send Birthday email greeting automatically in Power Automate
The Manager received an EmailSend birthday reminder from sharepoint list in power automate

Conclusion

In this tutorial, I showed how to set up an automated birthday reminder using Office 365 and a SharePoint list in Power Automate. The flow runs daily at 10 AM to check if it’s an employee’s birthday. If it is, they receive a birthday wish via email and Teams, and their manager gets a notification. The manager also gets a reminder three days before the birthday.

In the Office 365 method, I used actions to find and check birthdays. I stored birthdays in a list in the SharePoint method and filtered them to find matches. Both methods send emails and Teams messages to employees and managers.

Also, you may like some more Power Automate tutorials:

Power Apps functions free pdf

30 Power Apps Functions

This free guide walks you through the 30 most-used Power Apps functions with real business examples, exact syntax, and results you can see.

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App