Chapter 4. Power Automate & SharePoint

Microsoft SharePoint has evolved significantly since its inception in the early 2000s. Its journey began with the Microsoft SharePoint Portal Server 2001 release, which marked Microsoft’s entry into the enterprise collaboration and content management space. This initial version laid the foundation for document sharing and management within organizations. It allowed users to create web-based portals to store, organize, and share documents and other information.

Microsoft Office SharePoint Portal Server 2003 followed, offering improved collaboration features, enhanced search capabilities, and tighter integration with Microsoft Office applications. The platform underwent a significant transformation with the release of Microsoft Office SharePoint Server 2007 (MOSS). It introduced features like document versioning, workflows, and the ability to create custom web applications, making it a more versatile tool for businesses to manage content and streamline processes.

Microsoft Office SharePoint Server 2007 (MOSS 2007) marked a significant milestone in the evolution of SharePoint, particularly in the context of workflows. This version introduced a robust workflow engine that allowed organizations to automate and streamline business processes seamlessly. MOSS 2007 offered two main types of workflows: built-in workflows and custom workflows.

The built-in workflows included essential templates like approval workflows, collecting feedback, and managing document review processes. These out-of-the-box workflows made it easier for users to automate common tasks and approvals without extensive customization. They provided a foundation for businesses to enhance their efficiency and compliance.

Custom workflows, on the other hand, offered greater flexibility. With the introduction of SharePoint Designer 2007, organizations could create custom workflows tailored to their specific needs. This visual design tool allowed users to define workflows without writing code. Organizations could design complex, multi-stage workflows integrating with SharePoint lists, libraries, and document management processes. This capability enabled businesses to optimize internal processes, automate document routing, and improve collaboration within the SharePoint environment.

Overall, MOSS 2007 was pivotal in bringing workflow automation to SharePoint, offering various options to suit basic and intricate business processes. It laid the groundwork for further workflow advancements in subsequent SharePoint versions, making it a key platform for enhancing organizational productivity and collaboration.

In 2010, Microsoft introduced SharePoint 2010, which built upon the success of its predecessor. This version emphasized enhanced social collaboration, business intelligence, and scalability. It introduced features like the Ribbon interface, improved search, and the ability to build custom solutions using SharePoint Designer and Visual Studio.

SharePoint 2013 continued this evolution by focusing on responsive design, making it more accessible across different devices and screen sizes. It also integrated with Microsoft’s cloud platform, Azure, providing hybrid deployment options for organizations.

In 2010, the world started shifting from traditional (server) computing to cloud computing! SharePoint Online was initially launched in 2011 as part of Office 365; this cloud-based evolution of Microsoft’s SharePoint platform has significantly developed and improved over the years! SharePoint Online became “the cloud” alternative for document management and team collaboration. However, its transformation was marked by a shift towards enhanced collaboration and mobility between 2016 and 2019. This era saw the introduction of modern team sites, tighter integration with Microsoft Teams, and responsive design, providing users with a more versatile and mobile-friendly experience.

In 2020-2021, SharePoint Online embraced intelligent content services, with Microsoft incorporating AI-driven features like SharePoint Syntex for content automation and Project Cortex for knowledge extraction. These advancements aimed to automate content categorization and empower organizations with valuable insights from their data. Search, content management, and security updates were also introduced to align with evolving business needs.

Looking ahead to 2022 and beyond, SharePoint Online continues its growth and integration with Microsoft 365 services and Azure. It emphasizes robust data governance, compliance, and security, catering to the stringent requirements of various industries. Furthermore, Microsoft’s commitment to hybrid deployments ensures seamless integration between on-premises SharePoint environments and SharePoint Online, allowing organizations to tailor their collaboration and content management strategies to their unique needs. As SharePoint Online evolves, it remains a powerful platform for modern businesses seeking efficient collaboration, content management, and intelligent automation in the cloud.

4.1 SharePoint & Automation

Workflows have been integral to SharePoint Online’s evolution. SharePoint Online started its journey with basic workflow capabilities but has evolved significantly. In its early years, SharePoint Online offered simple workflows through SharePoint Designer, allowing users to create sequential workflows to automate tasks like document approval or notification routing. However, these workflows needed to be more functional and flexible.

As SharePoint Online matured and became tightly integrated with the broader Microsoft 365 ecosystem, it introduced the SharePoint 2013 workflow platform. This platform brought more advanced workflow capabilities, including the ability to create reusable workflows with SharePoint Designer or custom workflows with Visual Studio. Users could design more complex, multi-stage workflows that spanned across different Microsoft 365 services.

Later in 2015, with the advent of Microsoft Flow (Power Automate - now -), SharePoint Online workflow capabilities reached new heights. Microsoft Flow allowed users to create automated workflows with a user-friendly, low-code approach. It offered integration with various Microsoft 365 apps and external services, providing multiple automation possibilities. Organizations could now build workflows that spanned SharePoint Online, Outlook, and other Microsoft 365 apps, enabling them to optimize their processes and enhance productivity. In 2017, Microsoft Flow was announced as the successor of SharePoint Designer workflows, and SharePoint Designer was deprecated within a year, while SharePoint Designer support will stop as of 2026. This announcement rushed organizations into using Microsoft Flow for streamlining workflows and process automation, while others got busy converting their SharePoint Designer workflows to Microsoft Flow workflows.

On November 4, 2019, Microsoft Flow was rebranded to Power Automate. This change was part of Microsoft’s broader strategy to unify its Power Platform services, including Power Apps and Power BI, under a single branding. The rebranding aimed to reflect better the comprehensive automation capabilities of the service and its integration with the broader suite of Microsoft productivity tools and services, such as Microsoft 365 and Azure.

In recent years, Microsoft has continued to enhance Power Automate and its integration with SharePoint Online, making it the preferred choice for workflow automation. Organizations can leverage this powerful tool to automate document approval, data integration, and business process automation, all within the SharePoint Online environment. As SharePoint Online and Power Automate evolve, businesses can expect even more advanced workflow capabilities and seamless integration with their digital workplace ecosystems.

4.2 Posting a message on Slack and sending an email to the assignee when an issue is created

Problem

You want to post a message to Slack and email a particular recipient when an issue is created in a SharePoint list.

Solution

Create an automated cloud flow that monitors item creation in the SharePoint list, posts a message to Slack and sends an email to a particular recipient in the needed email format.

Discussion

Issue tracking in SharePoint is a powerful feature that allows you to manage and monitor various tasks, problems, or projects. With SharePoint’s out-of-the-box issue tracking list, you can create, assign, prioritize, and track issues throughout their lifecycle. The issues list lets you capture relevant information, such as issue descriptions, due dates, categories, and assigned personnel.

Furthermore, SharePoint’s seamless integration with Power Automate enables you to create workflows, empowering you to automate issue-resolution processes, streamline communication, and ensure timely problem resolution.

  • Before starting to build this flow, make sure that you have created an issue tracking list in SharePoint or that you have read permissions on the list you want to monitor for newly created issues.

  • To create an issue tracking list in SharePoint, you can follow this link https://bit.ly/46vrLpT

  • Go to the Power Automate portal (https://make.powerautomate.com/).

  • Sign in with your Microsoft account or your organization’s account.

  • Make sure you are in the correct Power Automate environment.

  • Click on “My flows” in the left navigation bar.

  • Click on “New flow” to create a new flow.

  • Choose a flow type. In this case, you want to be notified when a new item is created in SharePoint, so you must choose “Automated cloud flow”.

  • Click “Skip” on the popup to navigate to the flow designer experience

  • Search for the “SharePoint” connector in the flow designer.

  • Choose the trigger related to when a new item is created in SharePoint, so choose the “When an item is created” trigger. You may need to sign in and authenticate your “SharePoint” account.

  • Configure the trigger parameters such as Site Address (the relevant site URL where the issue tracking list resides), and the List Name parameter (the SharePoint list to be monitored for newly created items).

  • Add an action to post a message into a “Slack” channel. Search for the “Slack” connector and select the “Post message (V2)” action. You may need to sign in and authenticate your “Slack” account. You may also need to consent that a Power Automate connector requests permission to access a “Slack” workplace. Ensure you allow that request to grant permission for Power Automate to post messages on “Slack”.

  • Configure the action by providing the “Channel Name” (the “Slack” channel you want the message to be posted to).

  • Customize the “Message Text” parameter (the “Slack” message to be posted on the chosen channel). You can use the dynamic content from the trigger - as shown in the figure below - such as “Title”, “Issue description”, “Assigned to DisplayName”, “Priority Value”, and “Link to item” (the URL to the newly created issue in Sharepoint).

  • Then add an action to send an email to the issue assignee. Search for the “Office 365 Outlook” connector and select the “Send an email (V2)” action. You may need to sign in and authenticate your “Office 365 Outlook” account.

  • Configure the action by providing the “To” parameter by choosing “Assigned to Email” from the dynamic content. Then provide a subject for the “Send an email” action, such as “An issue has been created and assigned to you”.

  • Finally, customize the “Body” parameter (email text). You can use the dynamic content from the trigger, as shown below.

    Hi [Assigned to DisplayName],
    A new issue has been created and assigned to you:
    Issue: [Title]
    Description: [Description]
    Priority: [Priority Value]
    More about the issue here: [Link to Item]
  • A quick way to configure the “Body” parameter is by copying the “Message Text” from the previous action and pasting it into the “Body” parameter. Then remove the “Assigned to” line.

  • Give your flow a name and then save and test your flow to ensure it works as expected.

See Also

3.3.2. Getting a Slack message when a file has been updated on OneDrive for business

4.2. Posting a message on Slack when an issue status has been modified

6.2. Send an email to responder when response submitted

7.2. Posting a message on Slack when a message is posted on Teams

4.3 Posting a message on Slack when an issue status has been modified

Problem

You want to post a message to Slack when an item in a SharePoint list has been updated.

Solution

Create an automated cloud flow that monitors item updates in the SharePoint list and then posts a message to Slack containing information about the updated item.

Discussion

Sending a notification when an issue status changes in SharePoint is a seamless way to keep you and your team informed and responsive. By configuring the flow, you can ensure that all of you receive immediate updates when a critical event occurs, such as a change in issue status.

When the flow detects the change, it can automatically send notifications via various channels like email, “Slack”, or messaging platforms, ensuring that the right individuals are promptly alerted. This streamlined approach accelerates issue resolution and enhances collaboration and transparency within the team, ultimately contributing to improved productivity.

  • Before building this flow, ensure that you have created an issue tracking list in SharePoint. or that you have read permissions on the list you want to monitor for newly created issues.

  • To create an issue tracking list in SharePoint, follow this link https://bit.ly/46vrLpT

  • Go to the Power Automate portal (https://make.powerautomate.com/).

  • Sign in with your Microsoft account or your organization’s account.

  • Make sure you are in the correct Power Automate environment.

  • Click on “My flows” in the left navigation bar.

  • Click on “New flow” to create a new flow.

  • Choose a flow type. In this case, you want to be notified when an item has been modified in SharePoint, so you must choose “Automated cloud flow”.

  • Click “Skip” on the popup to navigate to the flow designer experience.

  • Search for the “SharePoint” connector in the flow designer.

  • Choose the trigger related to when a has been modified in SharePoint, so choose the “When an item or a file is modified” trigger. You may need to sign in and authenticate your “SharePoint” account.

  • Configure the trigger parameters such as Site Address (the relevant site URL where the issue tracking list resides), and the List Name parameter (the SharePoint list to be monitored for modified items).

  • The configured trigger will monitor the list for any changes regardless of which column has been modified. In contrast, the trigger will return the modified item. However, we want to check if the status column of the modified item has changed. To do so, Add an action to get the SharePoint list item changes. Search for the “SharePoint” connector and select the “Get changes for an item or a file (properties only)” action.

  • Configure the action parameters such as Site Address (the relevant site URL where the issue tracking list resides), the List or Library Name parameter (the SharePoint list or library to get the changes from), the Id (the of the item to get the changes for), Since (the trigger window start token), and Until (the trigger window end token).

  • The “Since” and “Until” window period specified in the “Get changes for an item or a file” is a period in which we want to get the changes for a specific SharePoint list item. Luckily, we can get the start and end period from the trigger. Therefore, use the “Trigger Window Start Token” in the “Since” parameter field and the “Trigger Window End Token” in the “Until” parameter field.

  • Now that we have the changes for the modified item, we can check if the status column has been modified. Add a new action, search for “Control” and then from the list of actions, choose “Condition”. Configure the condition action by selecting the “Has Column Changed: Status” property from the “Get changes for an item or a file (properties only)” dynamic content for the right-side comparison value. Make sure the comparison operator is set to “is equal to”, and then for the left side comparison, in the expression fly-out pane, type “true” and then click “save”.

  • If the condition is true (under True), add an action to post a message into a “Slack” channel. Search for the “Slack” connector and select the “Post message (V2)” action. You may need to sign in and authenticate your “Slack” account. You may also need to consent that a Power Automate connector requests permission to access a “Slack” workplace. Ensure you allow that request to grant permission for Power Automate to post messages on “Slack”.

  • Configure the action by providing the “Channel Name” (the “Slack” channel you want the message to be posted to).

  • Customize the “Message Text” parameter (the “Slack” message to be posted on the chosen channel). You can use the dynamic content from the trigger - as shown in the figure below - such as “Title”, “Status Value” (new status text value), and “Link to item” (the URL to the modified issue in Sharepoint).

    Issue "[Title]" status has been updated
    New status: [Status Value]
    Link to issue: [Link to Item]
  • Give your flow a name and then save and test your flow to ensure it works as expected.

See Also

3.3.2. Getting a Slack message when a file has been updated on OneDrive for business

4.1. Posting a message on Slack and sending an email to the assignee when an issue is created

7.2. Posting a message on Slack when a message is posted on Teams

4.4 Sending an email when an item has been deleted

Problem

You want to be notified along with stakeholders by email that an item has been deleted from a SharePoint list.

Solution

Create an automated cloud flow that monitors the SharePoint list for item deletion and then sends an email with the needed format to specific users.

Discussion

When an item is deleted in SharePoint, sending an email is an effective way to maintain data governance and keep you informed. With this automated workflow in place, you can swiftly detect when an item is removed, ensuring that necessary personnel is alerted in real-time.

This proactive approach allows you to respond promptly, investigate the reasons for deletion, and take appropriate action, such as data recovery or auditing. Whether it’s a crucial document, record, or piece of information, this notification mechanism helps maintain data integrity, compliance, and security while providing an added layer of accountability within the organization.

  • Before building this flow, ensure that the list you want to monitor for item deletion already exists in SharePoint and that you have read permissions on the list you want to monitor.

  • For this recipe, I’m using the out-of-the-box issue tracker list in SharePoint (that I have created previously)

  • Go to the Power Automate portal (https://make.powerautomate.com/).

  • Sign in with your Microsoft account or your organization’s account.

  • Make sure you are in the correct Power Automate environment.

  • Click on “My flows” in the left navigation bar.

  • Click on “New flow” to create a new flow.

  • Choose a flow type. In this case, you want to be notified when an item has been deleted in SharePoint, so you must choose “Automated cloud flow”.

  • Click “Skip” on the popup to navigate to the flow designer experience.

  • Search for the “SharePoint” connector in the flow designer.

  • Choose the trigger related to when a has been deleted in SharePoint, so choose the “When an item is deleted” trigger. You may need to sign in and authenticate your “SharePoint” account.

  • Configure the trigger parameters such as Site Address (the relevant site URL where the list you want to monitor resides), and the List Name parameter (the SharePoint list to be monitored for items deletion).

  • Then add an action to email you and anyone you want to be informed about the item deletion. Search for the “Office 365 Outlook” connector and select the “Send an email (V2)” action. You may need to sign in and authenticate your “Office 365 Outlook” account.

  • Configure the action by providing the “To” parameter by adding your user account and stakeholder(s) user account(s). Then provide a subject for the “Send an email” action, such as “An issue has been deleted”.

  • Finally, customize the “Body” parameter (email text). You can use the dynamic content from the trigger.

    Hi,
    This is to inform you that issue "[Name]" with Id "String([ID])" has been deleted by [DeletedBy]
    To recycle the issue item back to the list use this [link].
    Thank you,
    Issue tracking monitoring
  • In the “Body” parameter, I have used the following dynamic content from the trigger:

    • Name

    • ID

    • Deleted by

  • I have used an expression to stringify the “ID”

    string(triggerOutputs()?['body/ID'])
  • I also have added a link to the site’s recycle bin in case you want to recover the deleted item.

  • To add a link to the “Body” parameter, click on the link icon and then provide a “Link Title”, “Link Target.” If you want to open the link in a new window by checking the check box, then click “Add”.

  • Give your flow a name and then save and test your flow to ensure it works as expected.

See Also

4.1. Posting a message on Slack and sending an email to the assignee when an issue is created

4.2. Posting a message on Slack when an issue status has been modified

6.2. Send an email to responder when response submitted

4.5 Sending a reminder email for tasks due by tomorrow

Problem

You want to email task assignees for tasks due by tomorrow.

Solution

Create a scheduled cloud flow that runs daily, checks for tasks due by tomorrow in the SharePoint list, and then sends an email to the task assignee using the desired email format.

Discussion

Sending a reminder notification for tasks in a SharePoint list is a smart way to ensure that important deadlines are met efficiently. With this automated flow, you can proactively notify yourself - or task assignees - about impending due dates, keeping you well-prepared and on track.

By leveraging the power of SharePoint’s task management and Power Automate’s capabilities, you can save time and minimize the risk of missed deadlines. This reminder system improves task management and enhances productivity and effective collaboration, as you can focus on completing tasks rather than worrying about tracking deadlines.

  • Before building this flow, ensure that you have created a SharePoint list that has at least the following columns:

    • Title (Single line of text). This column you get by default when creating any custom list.

    • Due Date (Date and Time).

    • Description (Multiple lines of text). This is an optional column.

    • Assigned to (Person or Group)

  • Go to the Power Automate portal (https://make.powerautomate.com/).

  • Sign in with your Microsoft account or your organization’s account.

  • Make sure you are in the correct Power Automate environment.

  • Click on “My flows” in the left navigation bar.

  • Click on “New flow” to create a new flow.

  • Choose a flow type. In this case, you want to check for tasks due tomorrow (every day), so you must choose “Scheduled cloud flow”.

  • Give your flow a name, and then enter the required parameter to set when to run this flow. Set the starting date and time for your flow. Then, set the “Repeat every” to once every day.

  • Click “Create” on the popup to navigate to the flow designer experience.

  • Add a new action (step) and search for “Variable” in the flow designer.

  • Choose “Initialize variable” and set the action parameters such as “Name” (Tomorrow’s start of day), “Type” choose “String”, and “Value” use this expression:

    startOfDay(addDays(utcNow(),1))
  • Add another “Variable” action by adding a new action (step) and searching for “Variable”, then choose “Initialize variable” and set the action parameters such as “Name” (Tomorrow’s end of day), “Type” choose “String”, and “Value” use this expression:

    startOfDay(addDays(utcNow(),2))
  • I will use these variables in the following action (step). To explain why I created them is to set a “date and time” range to pass to the SharePoint “Get items” action to fetch only the tasks within the given range. This is how the search works with SharePoint regarding dates, meaning you can’t send a filter query to a SharePoint action where “Due date” is equal to so and so.

  • Add a new action (step) and search for “SharePoint”, then choose the “Get items” action. You may need to sign in and authenticate your “SharePoint” account.

  • Configure the action parameters such as Site Address (the relevant site URL where the tasks list resides), and the List Name parameter (the SharePoint tasks list).

  • One additional parameter needs to be set. Click on “Show advanced options” in the “Get items” action and set the “Filter Query” parameter as per figure (number).

  • The “Filter Query” is explained as follows:

    Duedate (SharePoint column internal name)

    gt (greater than)

    datetime (datetime conversion operator)

    ‘Tomorrow’s start of day’ (The first variable “the next day start of day”)

    And

    Duedate (SharePoint column internal name)

    lt (Less than)

    datetime (datetime conversion operator)

    ‘Tomorrow’s end of day’ (The second variable “the next day end of day”)

  • Add a new action (step), and search for “control” and then select the “control” actions. From the list of actions, choose “Apply to each”.

  • Configure the “Apply to each” action by setting the “Select an output from previous steps” parameter by selecting the “value” from the “Get items” dynamic content.

  • In the “Apply to each” action, add a new action and search for the “Office 365 Outlook” connector, and select the “Send an email (V2)” action. You may need to sign in and authenticate your “Office 365 Outlook” account.

  • Configure the action by providing the “To” parameter by adding the “Assigned to email” from the dynamic content. Then, provide a subject for the “Send an email” action, such as “Task ‘Title’ is due by tomorrow”.

  • Finally, customize the “Body” parameter (email text). You can use the dynamic content to do so.

  • In the “Body” parameter, I have used the following dynamic content:

    • Assigned to Displayname

    • Title

    • Link to item (the URL to the item in SharePoint)

      Hi [Assignedto DisplayName],
      Your task [Title] is due tomorrow formatDateTime([Duedate],'dd-MM-yyyy').
      Follow this link to access you task: [Link to item]
      Thank you!
    • I have used an expression to format and stringify the “Due date”

      formatDateTime(items('Apply_to_each')?['Duedate'],'dd-MM-yyyy')
  • Save and test your flow to ensure it works as expected.

See Also

3.1.1. Sending recurring reminders

3.1.2. Sending daily weather forecasts

4.5. Sending employees birthday emails

7.4. Sending a report of existing teams and channels

4.6 Sending employees birthday emails

Problem

You want to send a “Happy Birthday” email to the employees celebrating their birthday today.

Solution

Create a scheduled cloud flow that runs daily, checks the SharePoint employees list with a birthday based on today’s date, and then send an email to them using the desired email format.

Discussion

Sending employees a happy birthday email using a Power Automate linked to data stored in a SharePoint list is a thoughtful way to foster a positive work environment and acknowledge your team members’ special days.

This automated workflow allows you to create personalized birthday greetings by extracting employee data from the SharePoint list, such as their names and email addresses. The flow then sends out timely birthday emails to celebrate team members’ milestones, fostering a sense of camaraderie and appreciation within the workplace. Such gestures boost employee morale and contribute to a more engaged and motivated workforce, reinforcing the importance of recognizing and celebrating the individuals who form the heart of any organization.

  • Before building this flow, ensure that you have created the employees’ SharePoint list that has at least the following columns:

    • Title (Single line of text). This column you get by default when creating any custom list.

    • Employee (Person or Group)

    • Birthday day of month (Number).

    • Birthday month (Number)

  • Go to the Power Automate portal (https://make.powerautomate.com/).

  • Sign in with your Microsoft account or your organization’s account.

  • Make sure you are in the correct Power Automate environment.

  • Click on “My flows” in the left navigation bar.

  • Click on “New flow” to create a new flow.

  • Choose a flow type. In this case, you want to check for birthdays today (every day), so you must choose “Scheduled cloud flow”.

  • Give your flow a name, and then enter the required parameter to set when to run this flow. Set the starting date and time for your flow. Then, set the “Repeat every” to once every day.

  • Click “Create” on the popup to navigate to the flow designer experience.

  • Once in the flow designer, expand the “Recurrence” trigger and set the “Time zone” trigger parameter to your local time zone. Power Automate cloud flows run on the UTC zone by default.

  • Now, search for the “Date Time “ connector and select the “Convert time zone” action. This action is necessary to get the current date/time in your time zone.

  • In the “Base time” parameter field, pass the following expression

    utcNow()
  • Fill in the rest of the action parameters:

    • “Format string”: select “Short date pattern”

    • “Source time zone”: select “(UTC) Coordinated Universal Time”

    • “Destination time zone”: select your time zone e.g. (UTC +01:00)

  • Add a new action (step) and search for “Variable”. Choose “Initialize variable” and set the action parameters such as “Name” (Day), “Type” choose “Integer”, and “Value” use this expression:

    int(formatDateTime(body('Convert_time_zone'),'dd'))
  • Add another “Variable” action by adding a new action (step) and searching for “Variable”, then choose “Initialize variable” and set the action parameters such as “Name” (Month), “Type” choose “Integer”, and “Value” use this expression:

    int(formatDateTime(body('Convert_time_zone'),'MM'))
  • The expressions used in the previous two actions will extract the day of the month in the first variable and the month of the year from the “Convert time zone” output.

  • Add a new action (step) and search for “SharePoint”, then choose the “Get items” action. You may need to sign in and authenticate your “SharePoint” account.

  • Configure the action parameters such as Site Address (the relevant site URL where the employees’ birthday list resides), and the List Name parameter (the SharePoint employees list).

  • One additional parameter needs to be set. Click on “Show advanced options” in the “Get items” action and set the “Filter Query” parameter as per figure (number).

  • The “Filter Query” is explained as follows:

    Birthdaydayofmonth (SharePoint column internal name)

    eq (is equal to)

    ‘Day’ (The first variable “Day of the month”)

    and

    Birthdaymonth (SharePoint column internal name)

    eq (is equal to)

    ‘Month’ (The second variable “Month”)

  • Add a new action (step), and search for “control” and then select the “control” actions. From the list of actions, choose “Apply to each”.

  • Configure the “Apply to each” action by setting the “Select an output from previous steps” parameter by selecting the “value” from the “Get items” dynamic content.

  • In the “Apply to each” action, add a new action and search for the “Office 365 Outlook” connector, and select the “Send an email (V2)” action. You may need to sign in and authenticate your “Office 365 Outlook” account.

  • Configure the action by providing the “To” parameter by adding the “Employee email” from the dynamic content. Then, provide a subject for the “Send an email” action, such as “Happy Birthday”.

  • Finally, customize the “Body” parameter (email text). You can use the dynamic content from the “Get items” action.

  • In the “Body” parameter, I have used the following dynamic content:

    • Employee Displayname

      Hi [Employee DisplayName],
      XYZ company and all its employees wish you a happy birthday.
      Thank you,
      XYZ HR
  • Customize the rest of the “Body” parameter (email text). You can use the text as shown in the figure (number).

  • Save and test your flow to ensure it works as expected.

See Also

3.1.1. Sending recurring reminders

3.1.2. Sending daily weather forecasts

4.4. Sending a reminder email for tasks due by tomorrow

7.4. Sending a report of existing teams and channels

4.7 Conclusion

The collaboration between Power Automate and SharePoint has revolutionized how organizations manage and automate their workflows. The examples discussed in this chapter illustrate the adaptability and versatility of this integration in addressing various business needs. By posting messages on Slack and sending emails when issues are created, or their statuses change, teams can respond to challenges with agility and accuracy. This immediate communication is a critical component in problem resolution and decision-making processes.

Moreover, the automated responses to item deletions and the proactive reminder emails for impending tasks contribute to data protection and task management, ensuring that nothing falls through the cracks. These automations save time and reduce the margin for human error, resulting in a more efficient and reliable workflow.

Lastly, sending personalized birthday emails to employees showcases the human side of automation. Recognizing and celebrating team members’ birthdays fosters a positive workplace culture, boosting morale and team cohesion. These small gestures, combined with the power of automation, have a lasting impact on employee satisfaction and engagement.

As organizations seek ways to improve efficiency, communication, and employee well-being, integrating Power Automate and SharePoint will undoubtedly play a pivotal role in shaping the future of business operations. It is a powerful tool that empowers organizations to adapt, innovate, and thrive in an ever-evolving digital landscape.

Get Microsoft Power Automate Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.