Birthday and Anniversary Reminder
Runs daily to check a SharePoint employee list for upcoming birthdays and work anniversaries. Sends congratulatory messages to a Teams channel and reminder emails to managers one day in advance.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
Every morning at 8 AM, this flow checks a SharePoint employee list for upcoming birthdays and work anniversaries. For each match found, it posts a congratulatory message to a Teams celebration channel and sends a reminder email to the employee's manager one day in advance.
Use Case
Employee celebrations—birthdays and work anniversaries—strengthen team morale and culture. Manually tracking dates and sending reminders is error-prone. Without automation, many milestones are forgotten.
The flow is ideal for teams that:
- Automatic detection of upcoming milestone dates
- Celebrates team members publicly in Teams channel
- Managers receive advance notice for one-on-one recognition
- Supports milestone-based recognition (5, 10, 15 years)
- Centralizes employee celebration tracking
- Improves employee engagement and morale
Flow Architecture
Recurrence — Daily, 8 AM
RecurrenceFires every morning at 8 AM UTC.
Get Employee List — Birthdays
SharePoint Get ItemsFilters employees where birth month and day match tomorrow using `Month(Birthday) eq @{formatDateTime(addDays(utcNow(),1),'MM')} and Day(Birthday) eq @{formatDateTime(addDays(utcNow(),1),'dd')}`.
Process Birthdays
Apply to EachFor each birthday match: posts a celebration message to the Teams #celebrations channel and sends a reminder email to the employee's manager.
Get Employee List — Anniversaries
SharePoint Get ItemsFilters employees where hire date month and day match tomorrow.
Process Anniversaries
Apply to EachFor each anniversary match: calculates years of service, posts a milestone message to Teams with special formatting for milestone anniversaries (5, 10, 15 years), and notifies the manager and HR.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_EmployeeListName | String | <configure> | SharePoint list name containing employee records with birthday and hire date fields (e.g. 'Employees'). |
| flowlibs_CelebrationChannelId | String | <configure> | Teams channel ID for posting birthday and anniversary announcements. |
| flowlibs_HREmail | String | alerts@yourcompany.com | Email address for the HR team to receive anniversary notifications. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| SharePoint | shared_sharepointonline | GetItems (Read employee birthday and anniversary records) |
| Microsoft Teams | shared_teams | PostMessageToChannelV3 (Post celebration messages to channel) |
| Office 365 Outlook | shared_office365 | SendEmailV2 (Send reminder emails to managers and HR) |
| Azure AD | shared_azuread | GetUser (Optional: fetch employee profile photos for adaptive cards) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Deploying to another environment
- Import the solution into the target environment, then set flowlibs_EmployeeListName to the target SharePoint list name, flowlibs_CelebrationChannelId to the target Teams channel ID, and flowlibs_HREmail to the target HR distribution email. Verify the SharePoint employee list contains properly formatted Birthday and HireDate fields, then turn the flow on.
- Add employee photos to cards
- Integrate Azure AD to retrieve and embed employee profile pictures in adaptive cards.
- Create milestone badge logic
- Add conditions for 5, 10, 15, 20+ year anniversaries with special emoji or formatting.
- Monthly birthday calendar
- Create a companion flow that generates a monthly birthday summary email.
- Gift card integration
- Add a Planner task creation step to remind managers to purchase anniversary gifts.
- Work anniversary special recognition
- Differentiate anniversary messages from birthday messages with different emoji and tone.
- Skip weekend birthdays
- Add a condition to move weekend birthday announcements to the following Monday.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Filter tomorrow's birthdays
OData filter passed to SharePoint Get Items so only employees whose birthday is tomorrow are returned.
EXPR.02Filter tomorrow's anniversaries
OData filter matching tomorrow's month/day against the HireDate column.
EXPR.03Calculate years of service
Returns the integer number of years between the employee's hire date and tomorrow — used to build the milestone message.
EXPR.04Build celebration message
Constructs the Teams celebration message text for each matched employee.
EXPR.05Check milestone anniversary
True when the years-of-service value is a multiple of 5 — used to trigger milestone formatting.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.