Automate Your Team's Work in Microsoft Power Automate

In this beginner's guide, we'll walk you through the process of creating your first automated flow in Power Automate step by step.

Written by
Matt Jasinski

February 19, 2024

Is your to-do list getting a little too long? Are you tired of wasting your time with dull, repetitive tasks? Thankfully, there’s a simple solution to these common problems. With no-code automation, anyone can start removing tedious work from their daily schedules.

In this post, we’re going to show you everything you need to know to get started with an automation provider that’s perfect for anyone already using Microsoft apps at work: Microsoft’s Power Automate.

We’ll introduce you to Power Automate, explain what it does, and show you how it works. We’ll walk you through the process of building your first automation, or “flow” in Power Automate step by step. 

In our example flow, we’ll connect OneDrive to Slack for simple alerts, so you can see how the platform works firsthand. 

Finally, we’ll go over some pricing info and briefly explore what distinguishes Power Automate from other automation providers, like Zapier and Make. 

What is Power Automate, and what is no-code automation?

First, let’s cover the basics of Power Automate. 

Power Automate is a no-code automation provider developed by Microsoft. Power Automate supports Microsoft’s popular suite of business software, as well as hundreds of other cloud-based apps. 

Tip: You can see a complete, indexed list of every app that Power Automate supports on XRay.Tools. You can also see which apps have integrations in other automation providers like Zapier, Make, and N8N. 

Every automated flow in Power Automate runs whenever its specific triggering event occurs. There are a few different trigger types you can use:

• App triggers: These triggers will launch an automation whenever a specific event occurs in a designated app. Example: Create a message in Microsoft Teams whenever there’s a new file created in a specific OneDrive folder.

an app trigger in Power Automate

• Scheduled triggers: Launch at automation at a scheduled time. Example: Send a summary of all your tasks in Planner to your email inbox every day at 8:56 AM. 

a scheduled trigger in Power Automate

• Button triggers: Launch an automation by clicking a button. Example: Schedule a meeting in Outlook for the next available half hour at the press of a button. 

a button trigger in power automate

RPA in Power Automate

In addition to automating web apps, Power Automate also supports robotic process automation, or RPA.

desktop automation (RPA) in Power Automate

With RPA, you can automate work in your desktop applications. This can be a very useful feature, but since we’re primarily focused on web-based automation on this blog, it’s not something we’ll be covering in this video. 

Let us know in the blog feedback survey if you’d like to see a video exploring Power Automate’s RPA features. 

But for now, let’s dive into building your first automated cloud flow in Power Automate.

Build your first flow in Power Automate

Here’s the automation we’re going to show you how to build: 

Whenever a new file is created in a specific OneDrive folder, send an automated alert to a specific channel in Slack. 

Our example flow: send a message in Slack when a file is added to a OneDrive folder

Note that this automation would also work with Microsoft Teams, but your Teams account will need to be part of a company or school’s workspace; individual accounts won’t work. 

Accounts and software: what you’ll need for this automation

To build this automation, you’ll just need free accounts in:

Power Automate



We’d recommend using the same Microsoft account for Power Automate and OneDrive. 

1. Create a new cloud flow in Power Automate

To begin building, open up Power Automate, and create a new flow.

To start creating a new flow, you can click "Create" either in the middle of the home screen or on the left-hand sidebar. 

2 ways to create flows in Power Automate

Different flow types in Power Automate

Then, you'll see several options to choose from:

“Instant cloud flow” lets you start an automation in your web apps by pressing a button or sending data to a webhook. 

“Scheduled cloud flow” allows you to set up an automation to run at specific times, and is also designed for web apps.

“Desktop flow” is for automating tasks on desktop applications. 

And finally, “Process mining” helps you pull and analyze data from your Microsoft apps.

different flow types in Power Automate

However, for our purposes today, we’re going to use the first option: “Automated cloud flow”.

This option triggers automated actions in any web app when a certain event happens in another web app. 

Click "Automated cloud flow" to create your new flow. 

Name your new flow

Naming a flow in Power Automate

Next, you need to name your flow. Make sure the name is brief but descriptive. For instance, we’ll title our example “Slack Alerts for New OneDrive Files”

As you start building more automations, you’ll want to make sure you can easily keep track of each flow and what it does. 

After entering a name, you can pick the app and event that start the flow. 

2. Add a trigger to your flow 

Look up the app you're using – in this case, OneDrive – and find a trigger that fits what you need. For this automation, select "When a file is created (properties only)".

Choosing a trigger in Power Automate

If you're not sure which trigger is best, you can do a quick Google search for more info, or just try using a trigger and see what data it gives you. 

After choosing your trigger, click "Create." 

Creating a new flow in Power Automate

Then, you'll need to authorize Power Automate to use your information by signing into your trigger app, like OneDrive, and giving Power Automate permission to access it.

Authorizing Power Automate to use an app like OneDrive

Configure your flow’s trigger

Now, you need to configure your trigger. 

Configuration typically requires specifying the exact folder, document, or other location that the trigger needs to monitor. 

For this OneDrive trigger, you only need to specify a folder. 

Basic options for a OneDrive trigger in Power Automate

Click on the folder icon to open up your OneDrive directory, and then pick the folder you want. 

Note that you can open a folder and look for subfolders by clicking on the arrow next to each folder’s name. 

Selecting a folder for Power Automate to watch in OneDrive

In our example, we’ll choose the "Client Proposals - Tutorial" folder. 

A OneDrive trigger with a folder selected in Power Automate

Identifying a folder is the only necessary setting for this trigger, but it’s always a good idea to explore the advanced options for any trigger before continuing.

Advanced options for the "When a File is Created (Properties Only)" OneDrive trigger in Power Automate

Under "Show advanced options”, you’ll find two additional settings: "Include subfolders" and "Number of files to return." 

Enabling the "Subfolders" option will ensure that the automation also runs when a file is added to a subfolder of your designated folder. 

The "Number" setting allows you to choose the maximum number of files to return. 

For our example, we can leave these settings to their defaults. However, these could both be very useful if you’re working with a lot of files and subfolders.

With the trigger all set, click "New step" to add an automated action to your flow. 

3. Add an automated action to your flow

Just like with your trigger, you can begin adding an automated action by searching for the app you want to use. In our example, we want to send a Slack message, so we’ll search for "Slack." 

Adding a Slack message to a flow in Power Automate

Then, pick an appropriate action from the resulting list. Since we want to send a message, "Post message" is the best match. 

Tip: Automation providers like Power Automate rely on APIs to connect to other apps. Understanding API basics and methods like POST and GET will make it much easier to automate your work!

Next, you need to sign in to authorize the app, since Power Automate requires authorization in every app it connects to. Just like with OneDrive in the trigger, you need to sign in to Slack and grant access to Power Automate. 

Authorizing Power Automate to access Slack

It's important to note that you may need to complete the authorization process twice, as Power Automate may time out while waiting for you to sign in. 

Power Automate showing an error after the first attempt to sign in to Slack

If this happens, just try again, and your connection should be successfully authorized. 

Configure your automated action

Once you're signed in, you'll see some options for configuring your automated action. Initially, only a couple of options are shown for Slack: channel name and message text, both of which are required. 

Basic options for an automated Slack message in Power Automate

To pick a channel name, click to pull up a list of all the channels in your Slack workspace. 

Picking a channel from a list in the "Post Message" module

You can also scroll down to the bottom and select “enter custom value,” which will allow you to identify a channel by its ID.

At XRay, we typically recommend using IDs to identify channels, folders, documents, or any data in automations because IDs remain constant while file names can change, which may break automations. 

However, for this tutorial, either method will work; you can pick from the list or enter the ID.

A "Post message" module with the channel chosen

Tip: to find a Slack channel’s ID, open the channel in Slack. Click on the channel’s name, and scroll down to the bottom of the window that pops up. You’ll see the channel ID there. 

Next, you can compose your message in the “Message text” section. 

Entering static text into Power Automate: composing your Slack message

In any text field in Power Automate, you can either enter text directly or retrieve “dynamic content” from an earlier step in the automation. 

A "message text" field with optional dynamic data

Dynamic content refers to data that has been retrieved, created, or updated by the automation. We’ll show you how this works as we put together this Slack message. 

We’ll start with some static text for our alert: 

“A new file has been added to the Proposals folder!

File name:”

Entering static text into a Slack message in Power Automate

This is all static text, which means it will be exactly the same every time the automation runs.

But now, we'll add some dynamic content to actually retrieve the name of the file that triggered the automation.

Working with dynamic content in your Power Automate flows

To add dynamic content, click "Add dynamic content" beneath a text field if the window isn't already open. 

Then, select the content you want to insert. We’ll choose "Display Name" to get the name of the file. 

Combining dynamic content with static text in a Slack module in Power Automate

If the file that triggered this automation is called "Document A", then the “Display name” variable will say "Document A" here in place of “Display name” when the automation runs. 

If the file is called "Document B", it will say "Document B", etc. 

Dynamic content is referred to as "dynamic" because it changes to reflect the data that triggered the automation, or the data that the automation creates or finds while running. 

You can use dynamic content to retrieve data like the name of a file, the time it was created, its contents, and other useful information. 

However, sometimes, you’ll need to combine dynamic data with custom static text to produce the value you want. 

Combining static text and dynamic content

For example, let’s say we want to add a link where we can open the document directly. We’ll go ahead and add a static label: "File link". 

A Slack module with no search results for "URL"

Then, we'll search within "dynamic content" for "link" or "url", but there aren't any results. However, there is a piece of dynamic content for “ID”.  

The "ID" option in the "Dynamic Content" window of the Power Automate slack module

If you open a document in OneDrive, you’ll see that the URL includes an ID. 

The standard URL format for a Word file in OneDrive

So even though there isn’t a specific item for “link”, we can append the ID to some static text to build the URL we need.

We’ll copy the first part of the URL—everything before the ID—and paste it into our message as static text. 

The beginning of a OneDrive URL added to the Slack module

Then, at the end of that, we'll insert dynamic content for the file ID with no spaces between the static text and dynamic content. 

Completing the OneDrive URL with a dynamic ID

This approach will create a complete OneDrive URL where our team can open and edit the file. 

Automation providers like Power Automate won’t always include the exact data points you were looking for, but you can often use what they provide to build what you need. 

Combining dynamic data with static values is a common pattern you’ll repeat as you continue to build more no-code and low-code automations. 

Note: This method will work to create a functional URL for a Word Document in OneDrive, but may not work for other file types. 

4.Configure advanced options for your automated action

With both the channel name and message text fields filled out, the only two required fields for the Slack message are complete. 

However, just like with the trigger, it's a good idea to check the advanced options for your actions to see additional useful settings before you continue. 

To access the advanced options for any automated action, click "show advanced options."

Advanced options for sending Slack messages with Power Automate

For Slack messages, “advanced options” reveals several more settings. While we won't go into detail about all of them, there are a few worth highlighting. 

For instance, there’s "Bot Name." This lets you give your bot a unique name in Slack, instead of it just being identified as Power Automate.

This is useful for giving context for different automations that are sending alerts or messages. 

For this automation, we’ll give our bot the name "OneDrive Bot."

Naming the Slack bot

“Slack markup parsing” is enabled by default, which means you can use markdown in your message, and Slack will format it accordingly. 

To demonstrate how this works, we'll add asterisks around the display name to make it bold. 

Adding markdown to the Slack message and setting "Unfurl" options to "No"

A couple other settings to consider are "Unfurl links" and "Unfurl media," which we'll set to "no" to avoid having the message take up too much space.

Additionally, you can customize the appearance of your bot message with "Icon URL" or "Icon Emoji." We'll add a :file_folder: emoji to give our message a unique look. 

Adding an icon emoji to the Slack message

5. Test your automated flow

Once your message and settings are all set, you can click “Save” to save your choices.

After saving, a green banner will appear at the top of the screen recommending that you test this flow.

To test your automation, click on 'Test' in the top right corner. 

Begin testing an automation in Power Automate

You’ll have the option to choose between testing "manually" or "automatically." 

Based on our experience, manual tests tend to be more reliable, and you’ll often be required to conduct a manual test before the option for an automatic test will be available. 

As such, you’ll likely want (or need) to run a manual test first. 

After selecting “manually”, click "Test." 

Testing manually

To perform a manual test, you’ll need to fulfill the trigger condition that launches your flow. In this case, that means actually adding a file to your designated OneDrive folder. 

Creating a file in OneDrive to trigger the manual test

To confirm that the automation ran as expected, check Slack for a new message. 

The successful test has produced an automated Slack message

In our test, pictured above, the automation ran successfully. The file name is bolded, and there’s a link to open and edit it. Clicking on the link confirms that the correct URL has been created using static text and dynamic content. 

The link in the Slack message leads to the correct document

Since this is a manual test, you’ll have to add a new file to the OneDrive folder designated in your automation.

Running a live test

The manual test confirms that the automation is set up correctly, but it’s always a good idea to run a live test as well. 

With a live test, you’ll see how the automation will perform as it’s really used going forward, which can be a little different from your manual tests. 

To conduct a live test, just fulfill the trigger condition again. You don’t need to click on “test” or any other menu option first. 

Adding a file to OneDrive to trigger a live test

However, after adding another file to your OneDrive folder, you won’t see a new Slack message immediately. On the free plan, Power Automate takes up to 15 minutes between each run. 

Grab a sandwich or work on something else for a bit, and check back later. 

The live test produces another Slack message

After 15 minutes, you should see a new message in Slack that links to your latest file in OneDrive. 

With your automation fully tested, save your work and click on the arrow in the top left to exit the flow builder. 

6. Add an action to instantly alert you to errors

Finally, there’s one more action to add to the automation before it’s complete. 

While it’s not strictly necessary, we’d recommend including a step in the automation that will immediately alert you if your flow encounters an error. 

By default, Power Automate will send error warnings to the email attached to your account. However, these warnings don’t get sent very often. It appears that Power Automate only sends out one email each week for your errors, and all of your errors will be consolidated within a single email. 

For important automations and steps, you’ll want to know immediately if they aren’t running correctly. 

Save and exit before adding an error notification step

It’s critical to make sure that you have saved the flow and exited it at least once by clicking on the arrow in the top left of the flow builder. 

How to save and exit a new flow to update its URL

Otherwise, the flow’s URL will be a unique URL designed to create a new flow, rather than a URL that points to your specific automation. 

To build an effective error notification, you’ll need to reference the automation’s URL, so make sure to save and exit your flow if you haven’t done so already. 

Adding an error notification step

To set up an error alert for any step in an automated flow, begin by editing the flow from your “flows” menu. 

Add a step after the action you want to receive alerts about. In our example, we’ll add the step after the Slack message. 

adding a new step to the flow

Search for “Notifications” as the action. 

Adding an email notification to the flow

Then, choose whether you want Mobile or email notifications. For this example, we’ll use Email. This will send a message to the email address that’s associated with your Power Automate account. 

Next, you can configure the conditions the notification will be sent for. 

Click on the three dots menu, and select “configure run after”.

Where to find "configure run after" in a Power Automate notification step

Then, choose when the notification will be sent. You can choose to send it when the selected step has: Succeeded, Failed, been Skipped, or Timed out.

In our example, we’ll select “failed” and “timed out”. 

Configuring when the notification will be sent

Click “Done” to commit your choices. 

Next, you’ll need to compose the subject and body of the message that gets sent. 

For the subject in our example, we’ll write ‘Your “Slack Alerts for New OneDrive Files” flow has encountered an error.’

Then, in the body, we’d recommend including a brief message and a link to the automation so you can easily open it and investigate the error.  

Configuring the notification text with a link to the flow

You can use HTML link tags like this to reference the flow’s URL: 

<a href=”url”>link text</a>

With your message configured, you can save your flow again. 

You’ll now receive instant alerts when your Slack step doesn’t run correctly, instead of needing to wait for Power Automate’s default emails. 

With your error notification set up, you’ve built your first flow in Power Automate and are all set to start using it to automate your work. 

Manage errors in several automation providers with Guardian by XRay

If you’re currently a Zapier or Make power user, and want to add Power Automate to your stack, you should check out Guardian by XRay. 

The Guardian website's homepage

Guardian will aggregate all of the error alerts you receive from all of your automation providers in one place so you don’t lose track of any bugs. 

It also gives you a convenient portal where you and your team can collaborate to discuss errors and fix them.

Just go to to get started.

Other features in Power Automate

Next, we’d like to briefly cover a few of the other interface items and features that can be helpful as you’re using Power Automate. 

My flows

Click here to see a list of every flow you’ve built. Hover over any of them to see more options, like editing the flow or turning it off. 

Manage and turn off flows from the "My flows" menu

Cloud flow activity

Click on “more” in the left hand sidebar to reveal this option. 

View your cloud flow activity in Power Automate

If you select “Cloud flow activity”, you’ll be able to view all of your web-based automation activity in one spot. This can be a great way to see what your automations are doing at a glance. 


“Connections” can also be found in the “More” sub-menu. 

Under “Connections”, you can view and manage all of the apps that you’ve connected to Power Automate. 

View all of your connections in Power Automate

If Power Automate is having issues accessing any of your connections, you’ll be able to see that here. You can also share and delete connections here, or update your connections to use different credentials. 


If you click on Templates, you’ll see an extensive library of automation templates created by Microsoft’s team and regular Power Automate users. 

Use templates to start quickly building automations in Power Automate

These templates can be a good source of inspiration and are an easy way to start building a new flow. 


Clicking on “Learn” will open up a new tab with lots of documentation and training material for Power Automate. 

Learn more about Power Automate with Microsoft's extensive documentation

With these docs, you can learn how to create new flows and discover every technical detail of the platform. 

Approvals, Process Mining, and AI Hub

These three options – Approvals, Process Mining, and AI hub – are all advanced features that require a premium account to access. 

Similarly, “Desktop flow activity” requires a professional or educational workspace, and won’t be available on a personal account. 

Finally, “Power Platform” will take you to software for business intelligence, app development, and app connectivity.

Access advanced features like Power Platform with premium plans

These can all be valuable tools for enterprise teams, but they’re very much beyond the scope of what you’ll be doing as a beginner in Power Automate. 

Power Automate’s Pricing

There are a few different pricing plans available for Power Automate which can suit various budgets and use cases. 

To learn more about Power Automate’s pricing, you can take a look at this page on their website. 

To see a complete list of “Premium Connectors” (i.e., the apps that are supported by Power Automate), view the documentation page here. 

Power Automate Free Plan

Cost: Free

Features: Build basic cloud flows. Limited to “Standard connectors” only. 

Note: By creating an account  with Power Automate, you will automatically start with this free plan. 

Power Automate Premium

Cost: $15/user/month

Features: Premium Connectors, Desktop automation (RPA), Process Mining, AI builder

Power Automate Process

Cost: $150 per bot per month

Features: Run an unattended desktop flow with unlimited users

Power Automate pricing overview

Both paid plans also offer add-ons for hosted RPA, AI builder, and process mining.

For enterprise users, we’d recommend reaching out directly to Microsoft to learn more and discuss your needs.

What sets Power automate apart

Power Automate is not your only option for building no-code automations. 

There are many different providers available, with Zapier being the industry leader and Make being another good alternative. 

Let’s take a quick look at how Power Automate stacks up to the competition. 

Advantages of Power Automate

Power Automate has several advantages, especially for users who are already invested in Microsoft's ecosystem. 

It’s better suited for Microsoft's own applications and is more specifically tailored to enterprise use cases. 

In comparison, Zapier and Make are more naturally suited to small businesses. Without a team like XRay building and managing your automations for you, it can be difficult to use these providers in an enterprise environment. 

Power Automate also offers desktop automation and process mining capabilities in addition to cloud flows.

These features aren’t available at all in Zapier or Make, which are focused entirely on automating cloud software.

Disadvantages of Power Automate

However, Power Automate also has its cons.  It has fewer integrations than the competition and is not as easy to use. 

Zapier and Make feature intuitive drag-and-drop interfaces for building your automations, and Zapier keeps adding additional tools to make it easier than ever to create automated workflows.

For instance, you can start building Zaps or even create custom automated actions by just writing out a quick AI prompt. In contrast, Power Automate’s builder interface is limited to more basic functionality. 

Choosing the right automation provider

Ultimately, if your team is already heavily invested in the Microsoft ecosystem, Power Automate will be a natural choice due to its features tailored for Microsoft applications. 

Just be sure to enter all of your apps into XRay.Tools before you start building to see if Power Automate supports them all. If not, you can also try out Zapier or Make

Automate your team’s work with no code required

Automating your company’s work doesn’t require any code or custom software. With automation providers like Power Automate, you can eliminate tedious chores from your to-do list in a matter of minutes. 

Try it out today and start creating more time for yourself and your team. 

If you’d like to learn more about designing and building no-code automated workflows, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Similar Blog Posts

Not sure where to start with automation?

Hop on a 15-minute call with an XRay automation consultant to discuss your options and learn more about how we can help your team to get more done.

Schedule a 15-Minute Call