How to Send Birthday Email Using Power Automate? [SharePoint List & Excel]

Sending birthday emails is a great way to make someone feel unique and valued, whether it’s for colleagues, clients, or friends. However, remembering everyone’s birthday can be challenging. That’s where Power Automate comes in!

In this tutorial, we will create a SharePoint list to store individuals’ names and birth dates. Power Automate will check the list daily; if it’s someone’s birthday, it will automatically send them an email.

I will also guide you on how to send birthday emails using data stored in an Excel file using Power Automate.

Send Birthday Email Using Power Automate

Imagine you are part of an HR team and want to ensure all employees receive a personalized birthday email on their special day.

To achieve this, we will maintain a SharePoint list called “Birthday Tracker,” where we can store the details of all employees, including their names and birthdates. Power Automate will check this list daily and email employees celebrating their birthdays.

Power Automate automatic birthday emails outlook

Now follow the below steps:

1. In the Power Automate, click the Scheduled Cloud flow, enter the Flow name, and provide the following:

  • Starting: Provide the date you want to run your flow, like 1st December.
  • at: Provide the time you want to run the flow, like 10:00 AM.
  • Repeat every: We want to run the flow every day, so here, select 1 Day.
how to automate birthday emails in outlook

2. Add a Get items action to provide the Site Address and List Name where the employee details are stored.

automate birthday emails in outlook

This fetches all the items (employee records) from the SharePoint list, including their DOBs.

3. Add an Apply to each control action and set its input to the output of the Get items action.

power automate birthday emails

4. Inside this control, Add a Compose action and use this expression to extract only the month and day from the DOB:

formatDateTime(item()?['DateofBirth'],'MM-dd')

The Compose formats the DOB to “MM-dd” (month and day), which helps us match it to today’s date.

how to send automated birthday emails from outlook

5. Add a Condition control to compare the formatted DOB with today’s date. Use this expression to get today’s date in “MM-dd” format:

formatDateTime(utcNow(),'MM-dd')  
how to create automated birthday emails in outlook

6. Inside the Ture branch of the condition, Add a Send an email (V2) action and provide below parameters:

  • To: Employee’s email address (map it from dynamic content).
  • Subject: “Happy Birthday!” or a custom subject line.
  • Body: Write a personalized birthday wish.
Power Automate happy birthday wishes for employee

Save and test the flow manually. You will see if any employee has today their birth date that employee receives an email.

Send Birthday Email using Power Automate

Patti Fernandez received a birthday email because her birthdate is already stored as today’s date in the SharePoint list.

Send Birthday Emails From Excel Using Power Automate

In the above example, we explored how to send birthday emails using Power Automate with data stored in a SharePoint list. But what if the birthday information is stored in an Excel file instead? No worries, with the help of Power Automate, we can handle that.

If your birthday data is saved in an Excel file, whether in OneDrive or a SharePoint document library, Power Automate can still be used to create an automated flow. Connecting to your Excel file, Power Automate can automatically retrieve data, check for today’s birthdays, and send personalized emails.

In this tutorial, I will show you how to set up a Power Automate flow that sends birthday emails using data from an Excel file.

I created an Excel file named “Birthday Records,” stored in a SharePoint document library, and formatted it as a table. The table includes columns like Name, Email, and Date of Birth:

power automate birthday emails from excel

Now follow the below steps:

1. Log in to Power Automate and select + Create -> Scheduled cloud flow. Enter the flow name, choose the starting date and time, and set the repeat frequency to Every 1 Day. Click Create.

How to Send Birthday Emails from Excel Using Power Automate

This ensures the flow runs daily to check for birthdays.

2. Add a List rows present in a table action and provide below parameters:

  • Location: Select the location where the Excel file is stored.
  • Document Library: Choose the document library (SharePoint site).
  • File: Select the Excel file (Employee’s Birthday).
  • Table: Choose the table name from the dropdown.
how to automatically send customized birthday emails with microsoft excel

3. Add Initialize variable actions Name: DOB, Type: String, Value: (leave blank).

power automate send email from excel

4. Add an Apply to each action and set the input as the Value dynamic content for the List rows present in a table action.

Inside the loop, Add Set variable actions. Set the variable to the dynamic content of the DOB column.

send emails from excel with power automate

5. Add a Compose action with the following expression to format the DOB into MM-dd format:

addDays('1900-01-01', sub(int(variables('DOB')), 2), 'MM-dd')
a screenshot of a computer

6. Add a Condition action inside the Apply to each loop, like the first example.

Send Birthday Emails from Excel Using Power Automate

7. Add Send an email (V2) action to send the birthday email. Provide:

  • To: The Email ID variable.
  • Subject: A personalized subject, such as “Happy Birthday, [Name]!”
  • Body: Add your custom message. Use dynamic content to personalize it further.
power automate send email from excel list

Save the flow, then test it by triggering it manually to ensure it sends the email as expected.

How to Send Birthday Emails from Excel in Power Automate

Conclusion

This tutorial taught us how to use Power Automate to send automated birthday emails from a SharePoint list or an Excel file. First, we created a SharePoint list to store employee details, including their birthdates, and set up a scheduled flow to check the list daily and send an email if it’s someone’s birthday.

Then, we explored how to achieve the same goal with data stored in an Excel file, using Power Automate to retrieve the birthdate, compare it with today’s date, and send a personalized email.

You may also like:

  • Hi – is there a way to include an attachment to the email in this flow? I’ve created a branded e-card and would like it to be attached – its saved on sharepoint, and also in the list but I can’t seem to add it to the flow (even using the ‘attachment’ section when composing the email..
    HELP!

    Thanks!

  • you seem to compare the DOB to today’s date, but it will always return false as the year will always be different, no? I believe you only have to compare Month and Day with Today()

  • Good day,

    How do I send a Birthday message to multiple people on the same day. Currently, my flow only send a message to the first person where the condition is true and fails on the rest where the condition is true.

  • >

    Build a High-Performance Project Management Site in SharePoint Online

    User registration Power Apps canvas app

    DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

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

    Power Platform Tutorial FREE PDF Download

    FREE Power Platform Tutorial PDF

    Download 135 Pages FREE PDF on Microsoft Power Platform Tutorial. Learn Now…