Power Automate Cookbook

A useful set of templates that will solve complex issues in a matter of seconds.

SharePoint

Parse multi-choice columns in SharePoint

This template provides a full Flow that gets the information from SharePoint and details how to extract multi-select columns. For the sake of example, we’ll be using the “Person” type that is the most complex. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

Synchronize Excel to a SharePoint list

This template provides a full Flow that looks for new Excel files created in a folder, reads the information, and then synchronizes it to a SharePoint. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

How to get previous versions of data in a list

There are times when it’s helpful to fetch the previous versions, so this template will help you do that. In addition, I wrote an article explaining all the processes so, if you have any questions, you can check it here.

Find a document list in a SharePoint site

The template will help you check if the SharePoint site has a document library. It requires two parameters; the first is the site you want to match, and the second is the document library.
In addition, I wrote an article explaining all the processes so, if you have any questions, you can check it here.

 

 

Calendar

Generate an ICS file

Generate an ICS file dynamically based on any parameters.

Add a buffer after meetings.

Adds a 15-minute buffer as soon as you create a new appointment.

 

 

Email

Move all emails to a folder that arrive after working hours

If you receive an email between the defined working hours, it’s moved to a folder. Power Automate picks it up during working hours and transfers it back.

Move back the emails to the inbox at the start of the day

At the beginning of the day, move all emails that arrived outside working hours and move them back to the Inbox.

Add attachments to email dynamically.

This template shows you how to add files to an email dynamically. You can find the explanation and a step-by-step tutorial here.

 

Microsoft Forms

Parse multi-choice element to insert into SharePoint

This template provides a full Flow that gets the information from Microsoft Form and parses it into a SharePoint choice column. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

How to add Forms uploads into a SharePoint list as attachments

The template shows you how to import uploaded files in Microsoft Forms into SharePoint list items as attachments. Some areas may be confusing, so please take a look at the detailed explanation here.

 

 

Microsoft Planner

Add planner checklist items dynamically

How to add checklist items dynamically to Microsoft Planner? For example, you have a Flow with 15 checklist items defined, and you need to add or remove some. It’s a pain to edit the Flow every time you need to do this, so here’s a template for how to do it without changing your Flow. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

When a new email arrives add it as a task in Planner

When we receive an email we want to parse it and create a new task with the subject and body of the email, but also the TO as assigned in the Task. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

Add Attachments to Microsoft Planner from Teams

When we receive a new message in Microsoft Teams we’ll add all attachments to a Microsoft Planner. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

 

 

File Types

Access Excel Using a Custom Path

How to go around the limitation where you can’t access Excel with a Dynamic Path.
This template works as a “function,” so you can import it and use it in multiple Flows.

CSV Parser with no external dependencies (deprecated)

How to have a CSV parser without any external dependencies. You can import it and use it in multiple Flows. You can check here my step-by-step tutorial.

Parse a CSV file with no premium connectors

The template now supports quotes, the configuration of separators, select the file that has headers, and more. It’s a huge upgrade from the other template, and I think you will like it. More details about it here.

Find HTML tag value

This template will enable you to get the value inside an HTML tag. More details about it are here.

When an Excel file is uploaded import the values to a SharePoint list

The idea is to have an Excel uploaded in a SharePoint document library, fetch the rows, and create new items in a SharePoint list. More details about it are here.

Parse HTML to find all links and download files

This solution template will find any link in an HTML string, find links and download all files associated with them, with premium connectors. More details about it are here.

Get “Media Type” of a file

Get the file’s “Media Type” to filter all files of a type in a folder for example. The “Media Type” is returned from SharePoint and other connectors with the “content-type” of the file.
Here’s an example of how it works.

Solution with the “Get Media Type of a file” and “Filter files of a type”

Here’s the solution with a working example of how to fetch all the files of a type in a folder, using the “Get media type” template above. Here’s an example of how it works.

 

Data Types

Convert timestamp into a date

This template provides a formula that you can convert a timestamp to date and not much more. We’ve only focused on demonstrating the overall workflow and how you can use it. The template can be used, for example,  when integrating with APIs that usually return timestamps.
Note: This template only demonstrates the formula’s usage, so please adjust it to your needs. Also, you’ll see in Microsoft’s documentation the description of timestamps as objects like ‘2019-10-28T10:10:10Z’. Intentionally I’m calling these Dates and keep the UNIX concept of the timestamp to avoid confusion.

Convert Excel number into a Date

You can use this template as a “function” where you can call it from anywhere, and it will return the information you want. Please note that I’m returning a String in UTC format so that it’s easier to convert it than to your timezone.

Convert Excel number into a Date up to the second

This template will enable you to convert an Excel number to a date, including the seconds. Please note that you can use this template as a “function” where you can call it from anywhere, which will return the information you want. Please note that I’m producing a String in UTC format, so it’s easier to convert it than to your timezone.
If you’re curious about how it works, I wrote an article explaining it.

 

Triggers

Example of a Get Trigger

This template provides a simple Flow that demonstrates how to call a Request trigger using the Get method. To test it, you need to add your destination Flow’s URL, but you can check the Parse Information section for an example. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

 

 

Management

Standup/Daily Random Talk Order

Want to have a smooth Standup/Daily? Randomize the order that people will talk about and post it on a channel. People know when to speak and, since it’s different every day, people don’t complain about the order. This template is part of an article so, if you have any questions, you can check it here.

 

 

Error Handling

Try, Catch, Finally

This template provides a skeleton for a try, catch, finally “block” to do proper error handling. You can find examples and a full explanation of how it works here.

 

 

 

Other

Unzip a file

The template will unzip a file to the desired folder. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

 

Parse UTM Parameters

This template provides a full Flow that gets a URL and parses the UTM values into individual variables. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

Parse UTM Parameters With Request Trigger

This template provides a full Flow that gets a URL and parses the UTM values into individual variables. It’s similar to the one above but uses the Request trigger to re-use other Flows’ logic. If you don’t know how to call a request Flow, please check the Request Trigger section for an example. I wrote an article explaining all the processes so, if you have any questions, you can check it here.

 

Sorting

Numeric array sorting

This template provides you with a way to sort a numeric array. I designed it to re-use it in your Power Automates without the need to duplicate the code.

Download it here

 

 

How to use the templates in the cookbook?

You can use my step-by-step tutorial on how importing and exporting works. It’s super easy with only some minor things to take into consideration.

You can also check our articles on Microsoft Power Automate to learn more about the tool and know-how to create your own. I encourage you to download the templates and adapt them to your needs. Don’t worry about attribution. It’s not necessary, but I appreciate it if you do.

 

 

Have a cool Power Automate Template?

Awesome, send it my way via email with a simple explanation of what it does so that I can include it here in this cookbook. I’ll attribute submitted templates, so please include any information you want to be displayed. I’ll test them first to ensure quality and that they don’t do anything strange. I’ll only post them in this cookbook if I find something worthwhile that others can benefit from. It can also take me a while, depending on the workload that I have, but I promise to look at all of them.

Don’t submit any template:

  1. That depends on private APIs
  2. that collect information from the user of any sort.
  3. It needs another template or flow to run.

Please also submit only templates that you created and you have permission to share. I cannot be considered responsible for any provided template being proprietary. Please contact me if you find any violation of the terms described below, and I’ll remove it immediately.

 

 

Terms of Use

The templates in this cookbook have been tested as of the date each was added to manueltgomes.com for compatibility with the then-current versions of Microsoft’s Power Automate. Please feel free to use these templates and adapt them to fit your specific needs.

However, please keep in mind that SKILLFUL SARDINE – UNIPESSOAL LDA. and his team can not guarantee that this cookbook’s templates will remain compatible with future updates. Moreover, the templates linked on this cookbook are provided free of charge and as-is without any express or implied warranties, including implied warranties of merchantability, fitness for a particular purpose, and non-infringement. The SKILLFUL SARDINE – UNIPESSOAL LDA. Team makes no specific promises about the templates, the templates’ particular functions, or their reliability, availability, or ability to meet your needs. Also, the SKILLFUL SARDINE – UNIPESSOAL LDA. Team will not be liable to you for any lost profits or other consequential, special, indirect, or incidental damages arising out of or connected with your use of any of the templates in this cookbook.