Forum Discussion
Sharepoint button to run a Power Automate flow.
SimonMarkEdwards it's not a url you need, it's the ID of the flow. You get this from the main screen of the flow as follows:
If your button is in a document library or the Site Pages library then the trigger in your flow needs to be "For a selected file". If the button is in a list then the trigger should be "For a selected item".
You then need a single line of text column in your list/library and format it with the JSON below. You'll see the ID on the actionsParams line; you'll need to change this to your flow's ID and also change the header text and run flow button text to whatever you want and also change the txtContent line (the text on the button). And of course you change the style to however you want it to look. You'll notice that I've got the visibility as conditional based on another column (set to Yes in the flow):
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "button",
"txtContent": "Publish to Teams",
"customRowAction": {
"action": "executeFlow",
"actionParams": "{\"id\": \"021ec4e0-8f85-46b3-a557-a4456960a4eb\",\"headerText\":\"All Things REI\",\"runFlowButtonText\":\"Publish Now\"}"
},
"style": {
"background-color": "#008082",
"color": "white",
"border-radius": "0 15px",
"visibility": "=if(([$PublishedToTeams] == 'Yes'),'hidden','visible')"
}
}
The end result of the above formatting looks like this. Click the button and flow will start:
I hope that has prevented you going bald.
Rob
Los Gallardos
Microsoft Power Automate Community Super User.
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.
RobElliott , Great article, and I really like your buttons!
I've been trying this, but the button shows in every row, regardless the content of the column ShareBim360.
Any idea's?
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "button",
"txtContent": "Share to Bim360",
"customRowAction": {
"action": "executeFlow",
"actionParams": "{\"id\": \"bce75e04-998b-4600-b829-7370d6a2ee15\",\"headerText\":\"All Things REI\",\"runFlowButtonText\":\"Publish Now\"}"
},
"style": {
"background-color": "#008082",
"color": "white",
"border-radius": "0 15px",
"visibility": "=if(([$ShareBim360] == 'Yes'),'hidden','visible')"
}
}
Thanks, Roland
- ganeshsanapOct 14, 2022MVP
rolanddaane What is the column/data type of "ShareBim360" column? Is it a single line of text or choice or Yes/No?
For choice & single line of text column, you can use:
"style": { "display": "=if([$ShareBim360] == 'Yes', 'none', 'block')" },
For Yes/No column:
"style": { "display": "=if([$ShareBim360], 'none', 'block')" },
Note:
- You have to use the internal name of "ShareBim360" column and not display name
- "ShareBim360" column be included/shown in list view.
Follow this article to get the internal name of your SharePoint column: How to find the Internal name of columns in SharePoint Online?
Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.