Power Automate automates steps between Microsoft 365 services: a new item in a SharePoint list, a message in Teams, an approval by email. This guide builds a first cloud flow and shows where beginner flows usually fail.
Cloud flow or desktop flow?
A cloud flow runs in Microsoft 365 and uses connectors: SharePoint, Outlook, Teams, Approvals. A desktop flow clicks and types on a PC, for legacy programs without an API. Always start with a cloud flow; a desktop flow is the exception.
Example: notify on a new request
A SharePoint list “Requests” with the columns Title, Requester and Urgent (yes/no). For every new urgent request, the team gets a message in Teams.
- Go to make.powerautomate.com → Create → Automated cloud flow.
- Trigger: SharePoint – When an item is created. Pick the site and the list.
- Add a Condition: Urgent is equal to
true. - Under Yes: Microsoft Teams – Post message in a chat or channel. Put the title and a link to the item in the message.
- Save and test with a new list item.
In the trigger’s Settings, add a trigger condition, for example @equals(triggerOutputs()?['body/Urgent'], true). The flow then only starts for urgent items. That saves runs, and runs count towards your limits.
Connections: who owns the flow?
Every action uses a connection, by default the maker’s. When that person leaves, the flow stops once the account is disabled. For flows that must last, use a licensed service account, or put the flow in a solution with connection references. Always add a second owner.
When not to build a flow
- Retention periods and disposal: belong in Microsoft Purview with retention labels, not in a flow that deletes files.
- Managing access: use groups and SharePoint permissions, not a flow that sets permissions per file.
- Protecting sensitive data: DLP and sensitivity labels in Purview.
- High volumes (thousands of items a day): look at Azure Functions or Logic Apps; flows have daily limits.
Next steps: error handling that lasts and DLP policies for connectors.
Frequent errors and how to fix them
These are the messages people type into search when the module will not start. The exact wording is here so this page can be found.
ActionFailed / BadRequest- Configure Run After on the next step; log Body in Compose. See the error-handling guide.
DLP blocked connector- The connector is in the wrong DLP group. A Power Platform admin must set Business vs Non-business.
Questions about this, or need help setting it up? We are happy to think along.
Message on LinkedIn →