cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jsiegmund Advocate I
Advocate I

What's the correct way to evaluate custom SharePoint fields?

I've got a flow set-up which acts on editing a document stored in SharePoint.  The content type has a boolean yes/no field which needs to be set to yes (true) in order to perform the flow (send an e-mail). I'm struggling with finding the correct way to do this. 

 

I have two questions: 

1) Do I need to perform an additional "fetch the metadata" step or are the custom fields already present in the trigger (and how can I check which fields are in the trigger in the first place??) 

2) What's the syntax for the expression? Things I've tried include: 

 

@contains(trigger()['Ready']['Value'], 'Yes')

@contains(trigger()['Ready'], 'Yes') 

@contains(body('De_metagegevens_van_het_bestand_ophalen_via_het_pad')?['Ready']['Value'], 'Yes')

 

And I've tried several different values (yes, true, 1). Nothing does the trick so far. I'd love some more background info on how to properly take on debugging these things. Checking the values, testing the expressions, that kind of stuff. 

1 ACCEPTED SOLUTION

Accepted Solutions
Power Apps
Power Apps

Re: What's the correct way to evaluate custom SharePoint fields?

Sorry, you are right. There isn't a great way to do this. We need to add support for returning the list item id as a field as soon as possible. I have talked to our developers about this, and added it to the backlog. I don't have an ETA yet, but it is a priority.

View solution in original post

13 REPLIES 13
Power Apps
Power Apps

Re: What's the correct way to evaluate custom SharePoint fields?

Hi @jsiegmund,

 

The best way to do this today is to use the "when an existing item is modified" trigger. This will not show your document library under the List name dropdown since we are not fully supporting it yet, but if you type in the name of your library, it will work. It is not perfect today, and doesn't surface all the properties we would like to surface, but boolean fields should work fine.

 

Hope this helps.

Highlighted
jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

Hi @KeremY,

 

Tried it but it doesn't seem to work. I can see in the trigger the value is coming in as "true", but when I then create a condition that checks Ready equals "true", it always seems to end up in the "if no" section. 

jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

Found out how to do it: @equals(triggerBody()?['Ready'], bool(1))

 

Problem now is that due to the "item modified" trigger, I have zero information about the file that was modified. Best case scenario I'd like to send it as an attachment, otherwise a link is ok too. I tried doing a REST query to get more details, but that ends up in a 403 Unauthenticated. Any suggestions?

Power Apps
Power Apps

Re: What's the correct way to evaluate custom SharePoint fields?

Yes, this is clearly a limitation we have at the moment, and why we don't fully support document libraries yet. We need to make sure we bring back the relative path to the item as part of the item modified trigger, so that it can be used as input to the "get file content" action. The support for this is not yet there, but it will be coming early next year.

 

Not perfect, but there may be a workaround by using

1. A file modified trigger

2. Do a get file metadata on the triggered item using the file identifier to obtain the item ID

3. Do a get items on the library to enumerate all the items.

4. Write a condition that checks for the id of the triggered item obtained in step (2) with the items in step (3), and then AND that with checking for the boolean field. Something like this:

@and(equals(item()?['ID'], body('Get_file_metadata')?['Id']), equals(triggerBody()?['Ready'], bool(1)))

5. In the Yes branch of the condition, send the mail, using File Content and File Name from step (1) as an attachment.

 

One caveat is that if your library has a large number of items, you will probably not get all of them using GetItems.

 

Hope this works as a workaround while we add proper support for document libraries.Thank you for sharing your scenarios with us.

jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

I tried, but doesn't work unfortunately. The Id returned in the "get file metadata" step is: 

 

Id
%252fDeclarations%252fBook3.xlsx

 

Which of course does not match with the numeric ID's returned from the get items step. I checked to see whether there's any other field that I could match on, there's not. By the way unless the above result is really what it should be I think this might be a bug? I would have expected a numeric Id (in which case your answer would work :))

jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

Any other options @KeremY?

Power Apps
Power Apps

Re: What's the correct way to evaluate custom SharePoint fields?

Sorry, you are right. There isn't a great way to do this. We need to add support for returning the list item id as a field as soon as possible. I have talked to our developers about this, and added it to the backlog. I don't have an ETA yet, but it is a priority.

View solution in original post

jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

Ok, I'll wait for that than. Thanks for the update!

jsiegmund Advocate I
Advocate I

Re: What's the correct way to evaluate custom SharePoint fields?

Hi @KeremY, any news on this one? Still have a couple of flows standing by waiting on this to be implemented. Just checked, situation is still the same as far as I can see. 

avt Kudo Collector
Kudo Collector

Re: What's the correct way to evaluate custom SharePoint fields?

Hello, I used modified time to compare, items vs files in SHP list

 

when item is created

list folder (root folder of document library)

for each (list folder - body)

     condition - if modified time is equal

            then upload to dropbox (for example)

 

this does not solve the use case when file is created in subfolder 😞

and the limit for file size is 50mb (which is dissapointing 🙂 )

JRitmeijer Kudo Collector
Kudo Collector

Re: What's the correct way to evaluate custom SharePoint fields?

+1 From me. it is very annoying that ID (and pretty much any other field in the 'When a file is modified' (and related) triggers contains the path while the 'Get Item' activity needs the actual numerical File ID.

 

We have the same limitation the other way around, when using the 'When an existing item is modified' trigger we get the numerical ID, but there is no way to map that to a path to get the associated file name from 'Get file metadata using path'.

 

It is like SharePoint integration was never really tested, or at least not using real-world scenarios.

 

Logged under Flow Ideas, please upvote: https://powerusers.microsoft.com/t5/Flow-Ideas/SharePoint-File-triggers-need-to-return-numerical-ID/...

 

 

 

Re: What's the correct way to evaluate custom SharePoint fields?

Is this still an issue because I am currently facing the same issue in not being able to evaluate a Y/N 

avt Kudo Collector
Kudo Collector

Re: What's the correct way to evaluate custom SharePoint fields?

If you need to evaluate Yes/No SHP collumn try this:

 

@equals(triggerBody()?['Get_x0020_Approval'], bool(1))

Helpful resources

Announcements
firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Automate Community!

firstImage

Now Live: Power Virtual Agents Community!

We are excited to announce the launch of Power Virtual Agents Community. Check it out now!

firstImage

New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Community Summit North America

The top training and networking event across the globe for Microsoft Business Applications

Top Solution Authors
Users online (9,760)