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

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
KeremY
Power Apps
Power Apps

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.

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. 

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?

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.

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 :))

Any other options @KeremY?

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.

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

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. 

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 🙂 )

+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/...

 

 

 

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

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

 

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

Helpful resources

Announcements

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Users online (2,874)