Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Triggers
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Planner
    • Outlook
    • SharePoint
    • Teams
  • Resources
  • Get help with flow
Menu

Hide button in SharePoint list after Power Automate flow started

Posted on January 15, 2023January 15, 2023 by Tom

“I added the button to start a Power Automate flow, but users keep pressing it over and over again, how can I hide it after the flow was started?”


The previous post explained how to add a button to SharePoint list/library to manually trigger a flow. But such button will be visible all the time and users can click on it over and over again. Multiple clicks = multiple flow runs. That’s why you should extend the JSON code a bit – hide the button after the first click, after the flow was started. And this post will show you how.

It’s also worth mentioning that the solution is not limited to hiding a button. You can use the same approach to hide (not disable) any column value based on another column. But for now let’s continue with the button example.

Hiding a column value

Hiding is done by adding a “style” and “display” properties to the JSON code as in the example with hyperlinks.

  "style": {
    "display": "=if(@currentField == '', 'none', 'inherit')"
  }

There’s a condition checking value of a column, and depending on the result it’ll set the “display” property to ‘none’ (hide) or ‘inherit’ (show).

That means you’ll need an extra column with the information whether a user already started a flow. If you’re building an approval flow you can use a status column, e.g. if ApprovalStatus = ‘Not started’.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "txtContent": "Start flow",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\": \"2c5dfcb2-aa4e-4cfd-9baf-2485225b1fa4\"}"
  },
  "style": {
    "display": "=if([$ApprovalStatus] == 'Not started', 'inherit', 'none')"
  }
}

Note: You must always use the column internal name in the JSON code!

Power Automate hide button flow started

If there’s no status to check you can use also a checkbox. With a small adjustment show the button only if the checkbox is not ‘true’.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "txtContent": "Start flow",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\": \"2c5dfcb2-aa4e-4cfd-9baf-2485225b1fa4\"}"
  },
  "style": {
    "display": "=if([$FlowDidRun] != true, 'inherit', 'none')"
  }
}
Power Automate hide button flow started

IMPORTANT: you must always check the checkbox or change the status as the first action in the flow! JSON button can do only 1 action, and this one will trigger the flow…

Summary

If you use a button to start Power Automate flow, you should always hide it once the flow is started. You shouldn’t let user run the flow multiple times, not sure whether the flow already runs. Show them the button only when needed and hide it during the first flow run by updating the ‘control’ column.


Do you struggle with the various expressions, conditions, filters, or HTTP requests available in Power Automate?

I send one email per week with a summary of the new solutions, designed to help even non IT people to automate some of their repetitive tasks.

All subscribers have also access to resources like a SharePoint Filter Query cheat sheet or Date expressions cheat sheet.

Zero spam, unsubscribe anytime.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Do you know what to do, but not how to do it?

Get The Ultimate Power Automate expressions cheat sheet and translate your thoughts into flows with ease!


NEW! Master the HTTP requests to SharePoint with a new cheat sheet!

Do you struggle with the various expressions, conditions, filters, or HTTP requests available in Power Automate?

I send one email per week with a summary of the new solutions, designed to help even non IT people to automate some of their repetitive tasks.

All subscribers have also access to resources like a SharePoint Filter Query cheat sheet or Date expressions cheat sheet.

Zero spam, unsubscribe anytime.

Hello and welcome!

My name is Tom and I'm a business process automation consultant and Microsoft MVP living in the Czech Republic. I’ve been working with Microsoft technologies for almost 10 years, currently using mainly Power Automate, SharePoint, Teams, and the other M365 tools.

I believe that everyone can automate part of their work with the Power Automate platform. You can achieve a lot by "clicking" the flows in the designer, but you can achieve much more if you add a bit of coding knowledge. And that's what this blog is about.

To make the step from no-code Power Automate flows to low-code flows: using basic coding knowledge to build more complex yet more efficient flows to automate more of your daily tasks.

  • Use Power Automate to forward Outlook events upon registrationJanuary 29, 2023
  • Why the condition is false for the same numbers (Power Automate)January 25, 2023
  • How to forward event invitation to other calendar (Power Automate)January 22, 2023
  • Run ‘For selected item’ flow from non-default environment (Power Automate)January 18, 2023
  • Hide button in SharePoint list after Power Automate flow startedJanuary 15, 2023

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2023 Let's POWER Automate | Theme by SuperbThemes