Azure Function for Teams Notification -- 2
Budget: £20 – £250 GBP
Overview
Create an Azure Function App that monitors user inactivity within EntraID (Azure Active Directory) and notifies their managers via Microsoft Teams and Email if the user has been inactive for 90 or 180 days. Users are tagged with a custom attribute to prevent duplicate notifications. If the user becomes active again, this tag is cleared.
Goals
- Identify users who have not signed in for 90 or 180 days.
- Tag users with a custom attribute (InactiveDays) to track notification status.
- Notify the user's manager via Teams and Email. (Manager is stored in the EntraID profile)
- Avoid notifying users who have already been flagged at a given threshold.
- Remove the tag if the user becomes active again.
Technical Requirements
Trigger
- Time Trigger: Azure Function scheduled to run daily (6am) via a Timer Trigger (CRON expression).
Languages & Tools
- Azure Functions
- PowerShell Core
- Microsoft Graph API (via EntraID)
- Microsoft Teams API (Graph)
- SMTP or Graph Mail API
- Azure App Registration (for Graph API auth)
- Custom EntraID extension property for tagging
Edge Case Handling
- Users without last login info: Skip or optionally include in a separate log.
- Users without managers: Skip and log separately.
- User gets tagged, then logs in: Tag is cleared automatically on next run.
Additional information
- You will build this and test this in your own sandbox
- You will supply some documentation
- I will install, run and test this in my own sandbox.
Create an Azure Function App that monitors user inactivity within EntraID (Azure Active Directory) and notifies their managers via Microsoft Teams and Email if the user has been inactive for 90 or 180 days. Users are tagged with a custom attribute to prevent duplicate notifications. If the user becomes active again, this tag is cleared.
Goals
- Identify users who have not signed in for 90 or 180 days.
- Tag users with a custom attribute (InactiveDays) to track notification status.
- Notify the user's manager via Teams and Email. (Manager is stored in the EntraID profile)
- Avoid notifying users who have already been flagged at a given threshold.
- Remove the tag if the user becomes active again.
Technical Requirements
Trigger
- Time Trigger: Azure Function scheduled to run daily (6am) via a Timer Trigger (CRON expression).
Languages & Tools
- Azure Functions
- PowerShell Core
- Microsoft Graph API (via EntraID)
- Microsoft Teams API (Graph)
- SMTP or Graph Mail API
- Azure App Registration (for Graph API auth)
- Custom EntraID extension property for tagging
Edge Case Handling
- Users without last login info: Skip or optionally include in a separate log.
- Users without managers: Skip and log separately.
- User gets tagged, then logs in: Tag is cleared automatically on next run.
Additional information
- You will build this and test this in your own sandbox
- You will supply some documentation
- I will install, run and test this in my own sandbox.