How to Build a One-Click Flow Button in SharePoint
At a Glance
- Target Audience
- SharePoint Admins, Power Automate Developers
- Problem Solved
- Manually navigating to Power Automate to trigger flows from SharePoint lists
- Use Case
- Automating approvals, notifications, or data processing directly from SharePoint list items
Most companies build complex Microsoft 365 automations and then bury them behind three layers of menus. It never works. You cannot expect your team to hunt for the "Automate" dropdown every time they need to approve an invoice.
Fix the interface first. Then let the automation do its job.
You can cut a clunky three-click process down to a single button press directly inside your SharePoint list. All it takes is 15 lines of code. You do not need to be a software engineer to do this. JavaScript Object Notation is just a lightweight way to store data. In the Microsoft ecosystem, it is the exact syntax you use to customize SharePoint column formatting.
Here is exactly how to build it.
1. Build the automation
First, you need a flow that actually runs when someone clicks the button.
Log into Power Automate and create a new flow. You must use the For a selected item trigger. This is a strict requirement for list integrations to function properly. Add whatever actions you need your flow to perform, then save it.
2. Hunt down the Flow ID
Your SharePoint list needs to know exactly which automation to run. That means you need the unique identifier for your specific flow.
Navigate to your flow's details screen.
Look at the top menu and click Export.
Click Get Flow Identifier. Copy that long string of characters. You will need it in a minute.
3. Format the column
This is where the actual work happens. We are going to turn a boring text column into a clickable trigger.
- Open your SharePoint list.
- Add a new Calculated column.
- Click the column header, navigate to Column Settings, and select Format this column.
- Switch to advanced mode and paste the executeFlow schema below.
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "button",
"txtContent": "Start Flow",
"customRowAction": {
"action": "executeFlow",
"actionParams": "{\"id\": \"<FLOW_ID>\"}"
},
"style": {
"background-color": "#0078d4",
"color": "white",
"cursor": "pointer"
}
}
Replace <FLOW_ID> with the exact string you copied in step two. Save your changes.
That is the entire process.
Stop training users to click through hidden menus. Start putting the exact action they need right in front of them. It makes your systems foolproof. It removes friction. It is just good design.

