cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
siddharth_flowl
Frequent Visitor

Reminder flow: Sharepoint path

Hi All- I need a small help. I am creating a flow where i need to check if a particular excel file is updated every month or not and in each of the respective country folders. If not, I have to send the reminders to the country leads to update or upload the file.

 

Question is : How do i keep the path dynamic so that it parses and searches for the file in each country?

 

The path for different country folder currently looks like below:

Document>Austria>Dashboard>2021
Docuemnt>Belgium>Dashboard>2021
...
Document>Switzerland>Dashboard>2021


As you can see the "Country" part is dynamic here. How and where to specify this in the SharePoint path for 20 different countries that i have?

9 REPLIES 9
abm
Super User
Super User

Hi @siddharth_flowl 

 

Try the below

 

image.png



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials
siddharth_flowl
Frequent Visitor

Hi @abm : Thank you. However,  how do i enter multiple countries  in the compose? I tried using comma  but i get the error( see below)

siddharth_flowl_0-1636472439240.png

 

eliotcole
Power Participant
Power Participant

Hi, @siddharth_flowl, there is a relatively simple way to accomplish this, but you have to approach it from a slightly sideways trigger point.

 

There are two ways to accomplish what you are after, both rely on you retrieving the Library ID to use 'item' methods for updating.

 

Get the Library Id

The easiest way to get the Library Id is to go to the Document Library Settings, and take the Id from the end of the URL. Remove the %7B at the start, and the %7D at the end:

https://COMPANY.sharepoint.com/sites/YOURSITE/_layouts/15/listedit.aspx?List=%7BAAAAAA%BBBBBB%CCCCCC%DDDDDD%EEEEEE%7D

 

The two methods are:

  1. Monthly Check - Run a monthly flow that runs at the start of a new month, this requires information I am researching.
  2. Record Modifications - Run a flow that runs every time these particular files are modified (by list item trigger) and update a SharePoint list that you can then query.

Record Modifications

This is not a very efficient way of doing this.

 

If you wish to fire on every modification, then instead of using a When a file is created or modified trigger (or whatever you're using), use the list version of that which is When an item is created or modified. This is because all a Library is is a slightly more complex List.

 

Once you have your new trigger, enter a custom value for the list name and enter the Library Id (go to the library settings and take it from the url).

 

This will now trigger for every time a file or folder is created or modified anywhere in that library!

 

Now create a Trigger Condition, and to do this you go in to the settings of the trigger, at the bottom you can add a 'Trigger Condition', so in that field add:

 

@equals(triggerOutputs()?['body/{FilenameWithExtension}'], 'YOURFILENAME.xlsx')

 

 

Now everytime a file is modified that has that filename in the library the flow will run.

 

You can then have the flow update a SharePoint list which captures the Countries that HAVE modified their files, then you can just filter the list of countries by those that have not updated in the last month.

siddharth_flowl
Frequent Visitor

Hi @eliotcole : Thanks. I did think of using a trigger condition but the file name changes very month for every country too. something like this below. 

YYYY-MM-DD_Flat-File-Report_MARKET 

 

I think i can make the month dynamic but not sure how to account for different days, markets etc.

I also need to account for a reminder mail to the counterparts if the file is NOT there in the dedicated folders for each country every month and hence not sure if Trigger condition would be ideal as it would only trigger for when the a new file is created and not necessarily if the file is there? Am i missing something?

Hi @siddharth_flowl 

 

You can declare an array and set all the values under it. Create an apply to each loop to iterate each countries and set it dynamically.

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials
eliotcole
Power Participant
Power Participant

@siddharth_flowl I have to apologise, whilst it's still workable on the every modification trigger, it is not efficient.

 

For the monthly scheduled check I've realised something very important here, and you will never get the results that you want unless you do this thing that I'm researching. I won't go in to it right now, but I'm looking in to it.

 

I have edited the previous post.

 

I will find the Monthly schedule soon.

eliotcole
Power Participant
Power Participant

OK, I'm at a loss, perhaps @Paulie78 can do it ... but ... OK.

 

----

A little background on what I was looking at.

 

If you just run your queries on files that were last modified before the start of last month, then you're potentially including any files that were just modified this month. Even if you run it at midnight on the 1st of the month, there's a second or so that something could creep in.

 

Even though I'm being ridiculous, this just shows that you need to look deeper, at when the versions of files were created.

 

So, basically, what you need here, is to be able to get the version history of each of the FILENAME.xlsx files from the document library (not the folders specifically, as that would be mayhem) and then figure out who hasn't updated their file this month.

----

 

Now ... You can get the files using the Send an HTTP request to SharePoint action with the following URI:

_api/web/lists('{YOUR_DOCUMENT_LIBRARY_ID}')/items?$expand=Versions&$select=FileLeafRef,Versions/Created&$filter=FileLeafRef eq 'FILENAME.xlsx'

However I've not found the magic date working to ODATA filter that version data without Power Automate/SharePoint having a hissy fit. I highly expect it's server side protections against wasteful requests running on in-depth resources like versions.

 

I've managed to get it to accept a few different things without pushing back with errors, but it just hangs and then times out or gives bad gateway errors.

 

What ever I try on the Versions/Created field I can't get SharePoint to play ball with $filter requests on it. Which is frustrating as all heck, because there is no real reason why those deeper dates can't be the filter here. I've even tried startswith() on the field, as that would suffice, but SharePoint just puts its dukes up.

 

Paulie, I know you've noted that the current API doesn't (despite the docs saying) allow the day() etc commands. But I did try the legacy API, but it doesn't seem to:

  1. Have access to the right fields/columns.
  2. Be able to even give me a list of what fields it DOES have.

Perhaps you know a work around (or just how to list the available fields there) to get this over the line.

Here is a video that I did that shows how to use the odata day/month/year filters:

How to easily filter a SharePoint list by Day, Month or Year with hidden oData filter functions 

eliotcole
Power Participant
Power Participant

Aye, @Paulie78 , I was kind of referring to that. We can't use that because we can't expose the deeper versions data on the legacy API. (at least not that I know)

 

Unless you know how to expose a list of available fields for a list using listdata.svc (let alone deeper field values - like versions) in which case I'll query a Library for fields, then run an $expand on fields that have deeper JSON stacks (right term?). Then I'll and put together a solution with version details here.

 

Otherwise, any results that are gathered aren't truly going to reflect what is modified, and when. Just the last modified date.

Helpful resources

Announcements
Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

User Group Leader Meeting January 768x460.png

Calling all User Group Leaders!

Don't miss the User Group Leader meetings on January, 24th & 25th, 2022.

Top Solution Authors
Top Kudoed Authors
Users online (1,302)