Flow button in Modern Document Library Web Part

Copper Contributor

Hi everyone

 

I am working on a modern Team Site.  I have followed the instructions here to create a button in a document library to run a flow on a specific document, and this works perfectly in the library.  However, I also have a page where there is a document library web part and I want users to be able to run the flow using this button from this page.

 

This doesn't seem to be possible as the button does nothing when clicked on the web part.  From what I've read it doesn't look like there's any workaround for this so I wanted to double check that no-one else has found a way around it.  These pages show multiple document libraries so I don't really want to have to ask the users to go into each library every time they want to run the flows.

 

I'd be grateful if anyone has any pointers or has come across this issue themselves.  Thanks in advance.

19 Replies
So the list webpart supports column formatting, so I would assume so does the Document library webpart. Look into adding a button using that.

https://wonderlaura.com/2018/07/18/button-in-sharepoint-list-to-trigger-microsoft-flow/

@Chris Webb

 

Thanks for the reply.

 

The link you posted is what I used when creating my button and I can create one in both a list and library.  The button also shows up when viewing the list/library in a web part on a page but my problem is if I click the button on the web part it does nothing, where if I click it directly in the list or library it fires.

 

I wondered if it's possible to get a Flow to fire on-demand like this using a list or library web part.  I assume it's not as you don't get the context menu options to do anything with flows in the web parts?

Oh, I see what you mean, so you do get the view to show correctly in the webpart on the page, it just doesn't fire for whatever reason like it does in the view if you go into the library itself? Like you said there must be some context link there in the URL that it uses and probably how it renders the item / URL with the column formatting. Can you paste the section of the button so I can see what the URL it's calling looks like when clicking the button?

Thanks Chris.

 

The formatting for the button action section is below:

 
      "txtContent": "Run Flow",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\": \"3d12dc3e-7d64-4e77-8dd2-876348cb187b\"}"
      } 

 

The corresponding HTML is:

 

<button tabindex="0" style="border:none;background-color:transparent;color:#0078d7;cursor:pointer;" data-actionparams='{"id": "3d12dc3e-7d64-4e77-8dd2-876348cb187b"}' data-actionname="executeFlow" data-iscustomformatter="true">Run Flow</button>

So I'm thinking, if you can add hard code the rest of the site URL where the flow's exist. Then that should pass to the page you are using the webparts and should be able to file in that context. So instead of just \id\09250932r3 you could figure out where that id is in the URL and have the whole URL there, so https://tenant.sharepoint.com/sites/_whatever/id/flowidhere etc. Cause right now I think it's just kind of adding on to the existing URL of the page your on, and since you're on a different page with parts need to get that hard coded in.. Make sense?

That's great thanks Chris.  I'll take a look to see if I can find the full URL and test this.

Hi Gareth,

 

I am also in similar case where I need to trigger flow from List View Webpart. Did you get a solution based on @Chris Webb 's suggestion. 

If Yes, can you let us know the approach which you did.

 

Thanks in advance.

Arjun

Hi Arjun

 

No unfortunately I couldn't find any way of constructing a full URL to fire the flow.  I've looked at a few resources from Microsoft but to be honest there wasn't much documentation on this that I could find.  For the time being I've been telling my users that if they want the button functionality it needs to be within a library rather than pages.

 

This is unfortunate because the functionality works really well and we have several use cases for it.  I'm hoping that Microsoft add the ability for the buttons to fire on pages fairly soon.  I've also created a suggestion in UserVoice if anyone would like to vote for it :)

Thanks Gareth. Same here. I did a recent implementation for the same and was struggling for 2 days for having this functionality since my users also needed that. Thanks anyways for the update.

It is unfortunate that we do not have that from the List View Webpart. 

 

BTB, I have + voted for your user voice.

 

Regards,

Arjun

Hey Gareth,

 

FYI, had raised this question to Laura, the Flow expert through tweet and she responded that this is a known issue and not sure when it is going to get fixed. You can check my tweet question.

Thx.

Arjun

I followed the same Microsoft Docs yesterday to add a Flow trigger button in a SharePoint list only to find that it doesn't work in web part - very disappointing.

 

I need to display the list in a page alongside instructions of how to add an item, then send a summary of that item via email (Flow). It's awkward to explain to end users that they can do most of the features from inside a page but then have to go into the list to trigger the button. I will add the same info to the uservoice. 

@Gareth Jayne 

I"ve the same. When will Microsoft fix this?

Just wanted to add a voice that I discovered this same limitation myself today (list web part doesn't fire the flow, but the flow does run when you're in the context of the list view within the list). Hope for a resolution soon!
The URL to run a flow is almost the same as the URL to edit the flow.
If the Edit URL is:
https://<region>.flow.microsoft.com/manage/environments/<environment guid>/flows/shared/<flow guid>/details
Then the Run URL is:
https://<region>.flow.microsoft.com/manage/environments/<environment guid>/flows/shared/<flow guid>/run

Just change the /details to /run.
Now, it doesn't launch as smoothly as you would hope, but it DOES work in a web part. You may also need to work with it to get it to pass any details of the item you want it to run against. i.e. pass in parameters from the list item.

@mgrif0 

 

One way is to embed the list as an external site (and not via the List option in web part)

It`s simply and work! :star:

Hi @mgrif0, can u elaborate on solving the button problem in list webpart? Company disabled imbedded WP, and i need List WB to be connected to other lists on the page.

Can u elaborate, how to use it inside List WP, company disabled embedded WP, besides, I need List WB to be connected to other lists on the page

For those who don't know how, to display a list or library in an Embed web part, add this code to the web part (replace URL with your information):  <iframe width="402" height="346" frameborder="0" scrolling="no" src="https://YOURURL"></iframe>

 

Full details are available here.