Build an Automated Shift Scheduling Platform with Power Automate and Microsoft Shift

Build an Automated Shift Scheduling Platform with Power Automate and Microsoft Shift

Creating a schedule for your shift-based workers can be a time-consuming and frustrating task. If you want your business to run like a well-oiled machine, it may help to swap the traditional spreadsheets and calendars for modern scheduling software. 

Microsoft Shifts lets you build a schedule, assign shifts to employees, and even create a To Do list for each individual shift. Your employees can then access this schedule at any time, directly from their Microsoft Teams dashboard. 

In this article, we’ll share everything you need to know about Microsoft Shifts. Once you’re up and running with Shifts, we’ll show you how to get more from this application, by adding powerful automation to the mix. 

By the end of this article, you’ll be managing all of your employee schedules via Microsoft Shifts. You’ll also receive notifications about important shift-related events, via two custom Power Automate workflows

What we’ll be building 

Microsoft Shifts is an app that lets you build, update, and manage your schedules, directly from the Teams user interface. You can even assign activities to each shift, which is perfect if you have little direct contact with an employee, for example if you’re managing a remote workforce, or your employees are still working from home due to COVID restrictions. 

However, sometimes you’ll need to make changes to your schedule. For example, perhaps an employee becomes ill, or has a family emergency they need to attend to. In these scenarios, Shifts has everything employees need to request swift swaps, or time off. 

By default, Shifts doesn’t explicitly notify you about these requests. If an employee needs to cancel a shift due to sickness, or two team members want to swap their shifts, you’ll probably want to know about it! 

Towards the end of this article, we’ll use Power Automate to create some simple workflows that send you an email, or a smartphone notification every time an employee submits a change request. This ensures you can respond to these changes immediately, without having to manually monitor the Microsoft Shifts application. 

How to enable Microsoft Shifts 

Before we build our automation workflow, it’s a good idea to verify that Microsoft Shifts is enabled for all users across your organization: 

  1. Log into the Microsoft Teams admin center. 
  2. In the left-hand menu, select “Teams apps > Manage apps.”
  1. Search for the “Shifts” application, and select it when it appears. 

You can now check the “Status” slider, and activate it if necessary. Microsoft Shifts is now enabled across your organization, ready for you to use. 

If you want to disable Microsoft Shifts at any point, simply navigate back to this screen and deactivate the “Status” slider. 

How to build your schedule in Microsoft Shifts 

Let’s start by creating a basic schedule, and then adding team members to that schedule. For example, you might create a schedule for a specific department, such as customer service or engineering. If you’re open for business 24/7, it might make sense to create a separate day and night schedule. Alternatively, you can monitor your entire workforce from a single screen, by creating an organization-wide schedule. 

To create your first schedule: 

  1. Sign into Microsoft Teams
  2. In the left-hand menu, click the three-dotted icon and then select “Shifts.”
  1. You can now choose the team who you’re creating this schedule for. Note that you must be this team’s owner. 
  2. When prompted, confirm your time zone. 
  3. Microsoft Teams will now generate a blank schedule. By default, all team members will be added to this schedule automatically. However, you can add more employees by selecting “Add people.” This includes employees outside of your chosen team.
  1. Typically, you’ll now want to populate your schedule by creating some shifts. You can either create an open shift that any employee can claim, or create a shift and assign that shift to an employee simultaneously. 
    • To perform the latter, double-click an empty slot next to the date where you want to create this shift, and the person you’re assigning this shift to. This will launch a window where you can enter information about this shift, including whether this shift includes any paid or unpaid breaks. 
  1. You may also want to assign a list of shift activities. This can be particularly helpful for employees who work unsupervised, such as remote staff members. Even if you do have face-to-face contact with an employee, providing a To Do list can help avoid misunderstandings, and boost productivity
    • To create an activity list, click “Add activity.” This will launch a popup where you can create the employee’s “To Do” list.
  1. Alternatively, you can create an open shift, which any employee can claim. This can be particularly useful if you offer optional overtime, or work with freelancers or contractors who don’t have a fixed shift pattern. 
    • In the “Open Shifts” row, double-click an empty slot for the date and time where you want to create the open shift. You can then create this shift as normal, for example specifying a start and end date, and adding a list of shift activities. 
  1. This open shift will now be added to your schedule, ready for an employee to claim. Alternatively, you can assign an open shift to an employee at any point, by clicking the three dots that appear alongside the open shift. You can then select “Assign open shift,” and choose the lucky employee. 
  1. You can now rinse and repeat to create more shifts, and build your completed schedule. 
  2. Your employees can’t access this schedule until you share it with them. When you’re ready to go live, select “Share with team” in the upper-right corner. Now, all team members will be able to view this schedule directly from their Microsoft Teams dashboard. 

How to enhance Microsoft Shifts with Power Automate workflows 

Out-of-the-box, Microsoft Shifts provides everything you need to coordinate your shift workers. However, you’ll need to access the Shifts application in order to view any changes that have been made to the schedule. This means it’s easy to miss important developments, such as an employee requesting emergency sick leave.

To ensure every shift runs smoothly, you may want to add some automation to the mix. By combining some simple Power Automate workflows with Microsoft Shifts, you’ll receive a notification everytime someone makes a change to the schedule. This helps you monitor your schedule, without having to manually check the Microsoft Shifts application. 

In this section, we’ll create two simple automated cloud flows for Microsoft Shifts. Both of these flows start exactly the same: 

  1. Log into your Microsoft 365 account
  2. Select the “Power Automate” app. 
  3. In the left-hand menu, click “Create.” 
  4. When prompted, select “Automated cloud flow.” 
  1. This launches the “Build an automated cloud flow” window. The next steps will vary, depending on which Microsoft Shifts flow you want to create. 

Never miss another vacation or sick leave request 

Employees can request time off directly from the Microsoft Shifts user interface. This includes vacation days, parental leave, and sick days. To request leave, an employee can simply select the “Requests” tab, followed by “New request.”

In the subsequent popup, the employee can then select “Time off” and create their request.

You can review these requests, by launching the Microsoft Shifts user interface and then selecting the “Requests” tab. You can then approve or deny each request.

However, this requires you to periodically check the “Requests” tab. This can result in frustrating delays for your employees. You may even fail to notice that an employee is unable to attend their scheduled shift! 

In this section, we’ll build a simple Power Automate flow that’ll send you an email every time an employee requests time off. 

To create this workflow:

  1. In the “Build an automated cloud flow” popup, give your flow a descriptive name. I’m using “Time off notifications.” 
  2. For your trigger, type “Shifts.” When it appears, select the following trigger: “When a time off request is created, updated, or deleted.” 
  3. Select “Create.” This creates a new workflow with your chosen trigger.
  1. Click to place your cursor inside the “Team” field. In the subsequent dropdown, select the team that you want to monitor. 
  2. Click “New step.” 
  3. In the “Choose an action” panel, type “email.” 
  4. When it appears, select the following: “Send an email notification (v3).” This adds a new panel to your Power Automate workflow.
  1. Click to place your cursor inside the “To” field. 
  2. You can now enter your email address. 
  3. To create a more informative email, I’m going to use some dynamic content. For “Subject line,” click “Add dynamic content.” This will launch Power Automate’s dynamic content menu.
  1. I want my subject line to specify whether the time off request has been created, updated, or deleted. Click “Change Type.” 
  2. You can now add any necessary supporting text to this subject line. 
  1. Next, click to place your cursor inside the “Body” field. You can now write your email. IMAGE microsoft-teams-email 
  2. Click “Save.” Your workflow is now live! 

Now, anytime an employee creates, updates, or deletes a time off request, Power Automate will send you a notification via email. You can then react to this change immediately. 

Get shift swap notifications sent to your smartphone 

Sometimes, your employees may need to request a shift swap, for example due to changes in their childcare, or other responsibilities. 

To request a shift swap, employees can select “New request” and then open the “Swap” tab.

The employee can then enter the necessary information, and submit their request. You’ll need to approve or deny this request directly from the Microsoft Shifts dashboard. However, you may benefit from receiving notifications outside of Shifts. 

Since we covered email notifications in the previous section, let’s focus on mobile notifications this time around. Assuming that you’ve installed the Power Automate mobile app (Android or iOS), this workflow will push a notification to your smartphone or tablet every time a swift swap request is created. 

To create this workflow: 

  1. In the “Build an automated cloud flow” popup, give your flow a descriptive name. I’m using “Shift swap notifications.” 
  2. For your trigger, type “Shifts.” When it appears, select the following trigger: “When swap shift request is created, updated, or deleted.” 
  3. Select “Create.” This creates a blank workflow with your chosen trigger. ● Click to place your cursor inside the “Team” field. In the subsequent dropdown, select the team that you want to monitor. 
  4. Click “New step.” This adds a “Choose an action” panel to your workflow. ● In this panel, select “Notifications > Send me a mobile notification.”
  1. You can now create your mobile notification. I’m going to add some dynamic content, so click “Add dynamic content.”
  1. I want to specify whether the swift swap request was created, changed, or deleted. To include this information in your notification, select “Change Type.” 
  2. At this point, you may want to add some static text to your notifications. 
  1. You can add more information to your mobile notification, such as a link to Microsoft Teams. When you’re happy with how your notification is set up, click “Save” to publish your workflow.

Now, every time a swift swap request is created, changed, or deleted, you’ll receive a notification on your mobile device. 

Want more Power Automate workflows? We’ve published a step-by-step guide to building a vacation approval platform, an expenses approval system, and even a Microsoft Teams virtual commute feature.