Showing results for 
Search instead for 
Did you mean: 
New Member

Microsoft Teams | Shifts >> Creating Approvals Each Time a Request Is Submitted

Hello Everyone! Hoping I can get some help from someone who has done this before. Our organization currently utilizes Teams & Shifts for our Time off Requests. We would like to be able to get an approval notification each time a time off request has been submitted through Shifts. Additionally, we would like to have the approved request integrate with Outlook once approved. 


We currently are testing on 'Team' within Microsoft Teams but would like to have this set up for each department. 


As I understand, this can only be completed through Power Automate. Does anyone have any experience with Power Automate and Shifts within Microsoft Teams? Any help would be much appreciated. 



Super User
Super User


So here you are a link to Teams connector official documentation,  you will find detailed description of Shifts related triggers and action blocks:


Hope this helps


Each time you click on any of our inspiring answers 'Thumb up' icon... ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!

Escribo sobre Power Automate en:

Proud to be a Flownaut!

Ah yes thank you for that. I saw this when looking at connectors, but it seems a couple of them aren't clear on how I can turn it to an approval. I am trying to basically do this:


Check for Requests > If there is a request, send an approval email to the following approver: [Names Here]

Check for Requests > If there isn't a request, do nothing. 


More would be added, but that's the basics of it. 

Advocate I
Advocate I



First post on this forum and I hope it will help you getting an idea on how to do what you want.

I've had the same exact experience and I've built a flow a month ago to be able to get requests from SHIFTS, approve/deny the requests and send an outlook notification with an event invite attached with the time-off information. It may be not elegant but it works.


Here's an overall picture of the flow:



First I'm using a time trigger to check for new requests every 30 min and filter for only pending Time-off request.


'TimeOff Request state' is equal to 'pending'


Then a few boxes to convert time and prepare for what will be needed for the ICS invite:



Next is a filter to convert the Time-off request reason string to it corresponding text followed by a box to identify the user who has make the request.


'List of time off reasons associated with a team Single time off' is equal to the filtered output of the pending request 'TimeOff Request TimeOff Reason ID' 


Now I'm sending the approval request via email to whom will decide. Take note that some basic html will be needed to get the email body formatted correctly. And the condition box will branch-off accordingly to the approval decision.



If the time-off request is approved, it will be added to SHIFTS, otherwise it will be rejected and a notification will be sent to the user.



If the time-off request is approved, an ICS template and file creation will be done in a temporary placeholder on a sharepoint site. Some data manipulation is needed for DTSTART and DTEND to get the time format to ICS standard.


DTSTART and DTEND need to be formatted to ICS, I do it with an Expression:




And finally, I'm sending an email notification to the user that his request has been added to SHIFTS and that he can use the ICS invite attached to the email as a reminder in outlook calendar.



I've worked many hours on this as I'm no coder and I hope it may help you or anyone with a similar request.




Don't forget to mark as a solution and thumbs up if you like.

@karlberg74 thank you so much for your response! I recreated what you posted and the flow runs successfully, but I think I have the values inputted correctly because nothing happens. For each section, could you post what each value entered is?


For example, in the 3rd part right after Recurrence and Shifts: List All Time Off Requests, there is a Filter Array (Pending Request). The Value in From is labeled: 'TimeOff Reque...' but doesn't state the full name of the value. It could be a couple of items based on the available options. Could you provide the full names of all of the entered values/variables?


again, thank you for this! I can see this solving our problems and really appreciate all the time you spent on this. 

@Jakewright94 I've edited my previous post with some pointers in italics to help you with what you need but most are self-explanatory within the title of the action or the comment associated with it.


Fiddling around with all the choices will help you learn more of what Power Automate can give you and you will be able to make it your own.


If you need a more specific answer, just give me a shout.




New Member

Hey - Can you tell me which option you used for the reasons filter array?  Was it the unique ID, Display Name or Time Off Reason item?

Thank you for the guidance, I have created a flow similar to this to send e-mails for any requests in "pending" state.  I cannot figure out how to send e-mails to the user after that request is approved.  I change the filters from "pending" to "approved", but it sends e-mails for every single previously approved time off.  I cannot figure out what filter / expression I need to send only 1 e-mail for the request that was newly approved.

Anyone have any suggestions?

Did you ever figure out the answer to this?

This has been SO helpful! I built my own using yours as a guide and it is working REALLY well. I do have one question though.


Is there a way to make it generate all of the approval request emails at once? Right now, if there are multiple pending requests, we only get one request at a time until it has been approved/rejected. Once that happens, it moves onto the next one.


Can you think of a way where it would send out all of the request emails in one blast?


Any help is appreciated. Thanks.



Helpful resources

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

New Ideas Forum MPA.jpg

A new place to submit your Ideas for Power Automate

Announcing a new way to share your feedback with the Power Automate Team.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

MPA Licensing.jpg

Ask your licensing questions at the Power Automate AMA!

Join Priya Kodukula and the licensing team, super users and MVPs to find answers to your questions on Power Automate licensing.

Users online (3,269)