Can I use One Microsoft Flow for Multiple Libraries?

Our Practices | Our Work | Tech
October 21, 2019

The Question:

Can I use one Microsoft Flow for multiple libraries?

The Answer:

Yes, you can use one Microsoft Flow for multiple libraries, but you need to “Save As” each time, which makes them separate, non-connected Flows. It also means you need to update your metadata each time, and more importantly, if you make a change in one – it won’t apply across all 5, 10, or 100 libraries that you’re using this Flow in.

The Real Life Example:

Let’s say I have a Document Library approval that I want to run. Not ALL libraries need it, but many do. I’ve been using my ‘Very Complicated Flow’ on one Library for a while – it’s over 100 actions, has complex conditions and analysis within it. It has a very thorough set of states within it for each level of approval and what actions to take.

What if I was just requested to apply this to another 50 libraries, due to the benefits it offers. I know I can use “Save As” to other libraries, but what if I need to add or remove a state? I suddenly have to update these other 50 library Flows!? No, thank you!

The Workaround:

Use one list to act as the Flow kick-off, and use this to kick off your main, ‘Very Complicated Flow’!

The Disclaimer:

This will not limit the amount of Flows you use – you will still need at least one per library, but you will only need one of your ‘Very Complicated Flows’.

The Tutorial: One Microsoft Flow for Multiple Libraries

We start off with one library: ‘ImportantDocuments1‘. I’ve built a pretty basic library here, with an ‘Approver’ column, and a column to identify if it ‘NeedsApproval’: yes or no.

Our demonstration Flow to be the “dummy” for a complicated Flow is aptly named ‘VeryComplicatedDocumentLibraryFlow‘. When we start, before knowing how many other libraries we’ll need to control, we have ‘ImportantDocuments1‘ as the trigger for this workflow.

 

I save, and my ‘VeryComplicatedDocumentLibraryFlow‘ is large and wonderful and perfect. For this one library.

 

But, OH NO! It is three months later and we have determined that another library, ‘ImportantDocuments2‘ requires this same Flow!

Well, I could Save As and reconnect it … but that means if I need to update some part of the Flow, I will have to do it twice – once for each Flow.  And sure that’s easy if there’s only two – but what if we need this for 10 more libraries? Or 50?

 

And so… let’s try a different way.

 

Yes, we will need to re-architect our Flow a bit – but we should keep this in mind going forward for repeatable Flows.

The first thing I’m going to do is create a ‘ListToHoldImportantDocumentLibraries‘. This list will hold a Title, a ListID, and an ItemID. All of these are single lines of text.  Next, I’m going to create a Flow – and this one will need to be ‘Saved As‘ each time, unfortunately, but bear with me – there is a benefit.

This Flow will add the required data for your ‘Very Complicated Flow’ to this list when a new document is added to a library (‘ImportantDocuments1’). Since it’s only a single action Flow, as opposed to your ‘Very Complicated Flow’, which may have scores of actions, it’s much easier to update. Plus, due to its simplicity, it’s unlikely you’ll ever need to update it.

 

Here’s what that Flow will look like:

As mentioned, we just want to track the Title (mostly for our own reference), the ListID, and the ItemID. So we are typing the ListID and Title right on in there, and adding the ID from the document that triggered the Flow.

Let’s test this and make sure it works… I upload a file into ‘ImportantDocuments1’:

The Flow runs and generates this entry in my management list:

 

Great! Now, back to our ‘Very Complicated Flow’.

It’s going to need a bit of a makeover – but, depending on your Flow, hopefully only of the first trigger item.

I’ve changed mine from watching ‘ImportantDocuments1‘, to watching a list: ‘ListToHoldImportantDocumentLibraries‘! Can you see where this is headed?

To get us back to the same starting point we had with our original ‘Very Complicated Flow’, we will need to use an HTTP request. I think this is the fastest way:

This request looks at whatever library title we’ve given it (the variable will now hold that information. Thanks, other list!), focus in on the ID that we’ve identified within that library, and pull back all the columns associated with it.

Once this is done, we will have everything we need to reconnect the entirety of the Flow and have this one Flow run for all Document Libraries, where any changes we make in this Flow will apply to all libraries.

If you’re not sure how to read and use the data that came out of the HTTP Request, follow these simple steps: run your workflow once, and once it’s complete, go to workflow summary and view the Body of the HTTP request.

 

Copy everything in there!

Add a Parse JSON action in your workflow right after your HTTP Request, identify ‘Body’ from the previous action to input to the Content field, and then click on ‘Use Sample Payload to Generate Schema’, paste in the ‘Body’ you copied, and click done.

Now, when you want to use data from the document for your next actions, they will be available through the Parse JSON. (I always rename this action so I can keep track of what has been parsed! For example, I have called this ‘OriginalDocumentMetadata’.)

Here’s an example: I can see the ‘NeedsApproval’ column data and pull it directly into a condition! Whoa!

Note that my ‘Approver’ has been split out into a StringID and an ID, due to the nature of the field type (Person).

 

That’s it!  You can now use one Microsoft Flow in multiple libraries!

 

Have more questions? Elantis is the leader in Digital Transformation and offers Business Process Automation, Business Intelligence and Enterprise Content Management services.  Reach out to Elantis’ Flow experts today.

The Author

Rhia Wieclawek - Elantis Business Process Automation Practice DirectorRhia Wieclawek – Director, Business Process Automation

Rhia is a Business Process Automation expert and one of the few Nintex virtual Technology Evangelists (vTE) in the world. Her experience defining, implementing, and enhancing processes, governance, and Information Architecture has garnered industry recognition.  Rhia has spoken at industry events throughout Canada and the United States.

 

SUBSCRIBE TO OUR BLOG

Skyrocket your business with Elantis!

Elantis is your trusted partner in revolutionizing your business operations and taking them to the stratosphere. Our modern solutions support content and collaboration, automation and productivity, governance and compliance, organizational change management, and data analytics—ensuring that your organization stays light-years ahead of the competition.

Ready for lift off? Let’s get started.

RELATED ARTICLES

Revamping Your Intranet: The Scary Truth Behind Outdated Information Architecture (And Why SharePoint Could be Your Hero)

Revamping Your Intranet: The Scary Truth Behind Outdated Information Architecture (And Why SharePoint Could be Your Hero)

Halloween is the perfect time to face the “ghosts” in your outdated intranet—like dead links and outdated info—that haunt productivity and engagement. Instead of a chaotic maze, imagine an organized, dynamic hub where employees easily find what they need. This post covers why and how to revamp your intranet with enhanced searchability, streamlined structure, and Microsoft Copilot, transforming daily workflows and boosting overall satisfaction.

read more
Power Apps: Canvas vs. Model-Driven – Unlocking Their Potential

Power Apps: Canvas vs. Model-Driven – Unlocking Their Potential

Curious about Power Apps and how they can transform your business? Whether you’re new to the platform or a seasoned professional, understanding the two primary types of Power Apps—Canvas and Model-driven—is key to unlocking their full potential. In this blog, we’ll break down these options, showing how each can enhance your business processes and drive innovation. Let’s dive in!

read more