cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Sudhanva6982
Helper I
Helper I

Building Power Automate flow

Hi, 

 

I am beginner, and trying to build a flow in power automate to update the column in my SharePoint folder against the files (With extension) matching Names (Without extension) in an excel sheet in SharePoint folder with corresponding comments in the excel sheet.  

 

Here is the snapshot of my flow, i am getting error as Update file properties not accepting the ID.

 

My flow may be wrong, as I need to input dynamic ID which matches the file name and update corresponding comments.

 

Please help suggest to achieve the results...

 

My Excel looks like:

 

Screenshot123.png

 

My Flow looks like:

 

Screenshot2.png

Screenshot3.png

Thanks,

Sudhanva.

 

 

 

 

 

3 ACCEPTED SOLUTIONS

Accepted Solutions

That looks right though it might just be a lot to process and you might have to break it out into batches. Is there any way to reduce the amount of files it needs to process? Maybe by the date the file was last modified? 

View solution in original post

Sudhanva6982
Helper I
Helper I

Yes i think we can batch them based on the date file is created, i observed aprox 500 files created yearly and expecting it will increase going forward, also we can batch the data in excel in to different tables and use them.

 

could you please suggest what is the best way? and how we can use as batches in the loops to avoid timeout? Appreciate your help here...

View solution in original post

@creativeopinion thanks a lot for your help and appreciate your guidelines for beginners, i finally achived it and found that the main cause for "File with ID missing in the sharepoint folder" is due to many running flows from long time in my "Run History", which it seems causing missing file error.

 

Secondly as suggested by you I batch them update only current year files by using the filter query expression in Get file properties: 

Created ge '2023-01-01T00:00:00Z'

 

Below screen shot of the final flow, now it is running in just 25 seconds. thanks for the help.

 

Sudhanva6982_0-1691443397207.png

 

View solution in original post

28 REPLIES 28
creativeopinion
Super User
Super User

There are two ways to approach this:

 

If you are using a Filter Array on the Get files (properties only) action, I would recommend pulling that action outside of the Apply to Each loop. Otherwise you'll be unnecessarily running that action each time you loop through a row in your spreadsheet. 

 

Run the action once before the Apply to Each loop and filter the results.

 

creativeopinion_0-1690658777159.png

To return the ID, you will need to use an expression.

int(body('Filter_array')?[0]['ID'])


Alternatively, you can remove the Filter Array action and use a Filter Query in the Get files (properties only) action. This option will only work if you have an exact match (eg. eq). 

 

For the file name, you need to use this Filter Query:

FileLeafRef eq '[Candidate].extension'

 

creativeopinion_2-1690659439731.png

To return the ID number you will need to use an expression:

outputs('Get_files_(properties_only)')?['body/value']?[0]['ID']

 

If I helped you solve your problem—please mark my post as a solution .
Consider giving me a 👍 if you liked my response!

👉 Watch my tutorials on YouTube
👉 Tips and Tricks on TikTok

 

Hi,

Thanks for your kind information and appreciate your time here...

 

I tried both solutions suggested by you, 

 

Soln 1:

Getting error as ID is not int type as expected in "update file properties". The main issue i am struggling is i need to update Comments column in the sharepoint dir for matching name files: kindly refer below screenshots, kindly suggest...

 

Sudhanva6982_0-1690746679019.png

 

Sudhanva6982_2-1690746764710.pngSudhanva6982_4-1690746943778.png

 

 

 

Soln 2:

 

The expression you have mentioned i used as is, do i need to mention the exact extension as .pdf or .dpc? because, the sharepoint dir i am working with has .pdf, .doc .txt and .docx files.

 

I tried below approach, flow ran successfully but condition results false even though there are matching names, i suspect the expression " FileLeafRef eq '[Candidate].extension' " is not working as expected, please suggest.

 

Sudhanva6982_5-1690748375447.png

 

 

Sudhanva6982_6-1690748460582.png

 

Test Result:

 

 

Sudhanva6982_8-1690748591896.png

 

 

Matching file in folder & Excel: here file extensions are different (PDF, DDOC, DOCX, eml and TXT)

 

Sudhanva6982_9-1690748671384.png

Sudhanva6982_10-1690748993395.png

 

 

 

Thanks for your help....

 

 

 

 

 

 

 

 

 

This part of your flow is incorrect, you need to insert an expression, what you have here is just a string of text. 

creativeopinion_0-1690751445353.png

 

In the Compose action you need to click on the Expression tab. 

creativeopinion_1-1690751524238.png

 

The output of the expression should be an ID number.

 

Yes i added as an expression this time, but still no luck...

Sudhanva6982_1-1690752940248.png

 

 

Sudhanva6982_2-1690752974946.png

 

 

Can you upload a screenshot of your Filter Array action? 

 

It doesn't seem to be returning any results. 

here is the filter array screen shot:

 

Sudhanva6982_0-1690759036307.png

 

Here i highlighted expression of the compose as well

 

Sudhanva6982_1-1690759425695.png

 

The Compose - File ID expression is not working in your instance because in my flow I was filtering out a single item from the Get Items action. However, you are using a Filter Array action.

 

Your flow has to be adjusted to account for that fact that you are returning multiple items instead of one. 

 

Before you can even tackle that you need to troubleshoot why your Filter Array action isn't returning any items. 

 

In order to troubleshoot. I would recommend adding a Compose action above the Filter Array action to store the Candidate value.

 

Remove the Compose - File ID action all together. You'll need to take a different approach anyway. 

 

The Filter Array action, is checking to see if the Name values from the the Get Files (properties only) action contains the Candidate value.

 

Run a test to see the Filter Array action is returning any results for any of your Excel rows. If not, the Filter Array action needs to be adjusted.

Ok after checking what i understood is when we select output (for filter array) from "List row present in a table" (Excel) for the apply to each loop, ID filter array will not return any thing, how ever if i nest this loop in another apply to each loop with "Get file (properties only)"(Sharepoint folder), then compose will get ID, but it wont work for comparing excel column when we select Candidate column to compare.

 

So i changed my approach, now my below approach is working fine, but the loop is getting timed out, may be i am adding too much nested loop, or might be a bad approach, could you please suggest??

 

New approach:

I am working on the Doc files first, docx next and then pdf, so i have 2 more same loops for docx and pdf.

 

Sudhanva6982_0-1690912773423.png

 

 

Your approach above will be inefficient when you have a lot of files to loop through. By using an apply to each loop and a condition to check for the files that match each candidate name in your spreadsheet you are looping through all your files to check for files that match. 

 

Instead you need to use the Filter Array action to return the appropriate information to Filter out the files so that you can then update the filtered files properties. 

 

Can you please run these actions in your flow again?

 

creativeopinion_1-1690921551246.png

I would also like you to add an additional compose action above the Filter Array action to hold the Candidate name. 

 

Upload a screenshot of the Compose Action Output and Filter Array action.

Here are the screen shots: now i found that the files are 

 

Failed (Candidate not matching sharepoint Name loop no 21):

 

Sudhanva6982_0-1690929526897.png

Sudhanva6982_1-1690929593266.png

Passed (Candidate matching Sharepoint Name loop no 20): this row successfully updated in share point.

Sudhanva6982_2-1690929734042.pngSudhanva6982_3-1690929774761.pngSudhanva6982_4-1690929804240.png

 

 

Why is the candidate on loop 21 not matching? Are there any files that match? Is there an extra space in the excel cell that has the candidate name?

The excel has list of latest candidate names and the share point has all candidate's files from past few years, so many old file names may not match the excel candidate name, there is no extra space in the excel cell.

 

I just observed that filter array body is with all sharepoint files data when the loop is at no match candidate name, if it matches any candidate name, it will have only matching file properties data in the body, is this the right behavior?

 

Just want to uppdate you, it is updating all matching files with correct comments though, but it is throughing the error for non matching files.

 

 

Okay perfect. You just need to add a condition after the Filter Array action. Check for the length returned from the Filter Array action with an expression.

length([filter array output here])

If the length is equal to 0 (means no matching files returned), do nothing. 

 

Move the Compose ID and Update Files Properties actions to the NO branch.

 

creativeopinion_0-1690934316854.png

 

Awesome yes this ran successfully....!! let me apply this to larger data to my actual folders and let you know the results...

 

Sudhanva6982_0-1690935556505.png

 

After adding large data (823 X 10 rows/column table in excel, and 1300 files in share point), the flow is timed out at 10minutes as below... 

 

Should we process it in batches?

 

Sudhanva6982_0-1690936983405.png

 

Have you tried turning on the concurrency control in the Apply to Each action?

Yes i turned on the concurrency control and set the degree of parallelism to 50, but still it is timing out at 9 or 10 min

 

Sudhanva6982_0-1690938244491.png

 

What if you added a Select action to your flow after the List Rows Present in a table action. Use this to only select the values from your table that you need. For example, if you only need the candidate name it would look like this:

creativeopinion_2-1690939681468.png

 

If you need a few other columns, then you can map a key to a column like this:

creativeopinion_1-1690939632946.png

Hope this helps!


Then in the Apply to each action, you would loop through the Select action results instead of the Values from the List Rows present in a table action.

creativeopinion_4-1690939807609.png

 

Hope this helps.

Helpful resources

Announcements

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!

Tuesday Tip | How to Get Community Support

It's time for another Tuesday Tip, 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.       This Week: All About Community Support Whether you're a seasoned community veteran or just getting started, you may need a bit of help from time to time! If you need to share feedback with the Community Engagement team about the community or are looking for ways we can assist you with user groups, events, or something else, Community Support is the place to start.   Community Support is part of every one of our communities, accessible to all our community members.   Within each community's Community Support page, you'll find three distinct areas, each with a different focus to help you when you need support from us most. Power Apps: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pa_community_support Power Automate: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpa_community_support Power Pages: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpp_community_support Copilot Studio: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pva_community-support   Community Support Form If you need more assistance, you can reach out to the Community Team via the Community support form. Choose the type of support you require and fill in the form accordingly. We will respond to you promptly.    Thank you for being an active part of our community. Your contributions make a difference!   Best Regards, The Community Management Team

Community Roundup: A Look Back at Our Last 10 Tuesday Tips

As we continue to grow and learn together, it's important to reflect on the valuable insights we've shared. For today's #TuesdayTip, we're excited to take a moment to look back at the last 10 tips we've shared in case you missed any or want to revisit them. Thanks for your incredible support for this series--we're so glad it was able to help so many of you navigate your community experience!   Getting Started in the Community An overview of everything you need to know about navigating the community on one page!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Ranks and YOU Have you ever wondered how your fellow community members ascend the ranks within our community? We explain everything about ranks and how to achieve points so you can climb up in the rankings! Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Powering Up Your Community Profile Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile. Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Blogs--A Great Place to Start There's so much you'll discover in the Community Blogs, and we hope you'll check them out today!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Unlocking Community Achievements and Earning Badges Across the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. Check out some details on Community badges--and find out more in the detailed link at the end of the article! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Blogging in the Community Interested in blogging? Everything you need to know on writing blogs in our four communities! Get started blogging across the Power Platform communities today! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Subscriptions & Notifications We don't want you to miss a thing in the community! Read all about how to subscribe to sections of our forums and how to setup your notifications! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Getting Started with Private Messages & Macros Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Community User Groups Learn everything about being part of, starting, or leading a User Group in the Power Platform Community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Update Your Community Profile Today! Keep your community profile up to date which is essential for staying connected and engaged with the community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Thank you for being an integral part of our journey.   Here's to many more Tuesday Tips as we pave the way for a brighter, more connected future! As always, watch the News & Announcements for the next set of tips, coming soon!    

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  

Tuesday Tip: Getting Started with Private Messages & Macros

Welcome to 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!   This Week's Tip: Private Messaging & Macros in Power Apps Community   Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member!   Our Knowledge Base article about private messaging and macros is the best place to find out more. Check it out today and discover some key tips and tricks when it comes to messages and macros:   Private Messaging: Learn how to enable private messages in your community profile and ensure you’re connected with other community membersMacros Explained: Discover the convenience of macros—prewritten text snippets that save time when posting in forums or sending private messagesCreating Macros: Follow simple steps to create your own macros for efficient communication within the Power Apps CommunityUsage Guide: Understand how to apply macros in posts and private messages, enhancing your interaction with the Community For detailed instructions and more information, visit the full page in your community today:Power Apps: Enabling Private Messaging & How to Use Macros (Power Apps)Power Automate: Enabling Private Messaging & How to Use Macros (Power Automate)  Copilot Studio: Enabling Private Messaging &How to Use Macros (Copilot Studio) Power Pages: Enabling Private Messaging & How to Use Macros (Power Pages)

Tuesday Tip: Subscriptions & Notifications

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week: All About Subscriptions & Notifications We don't want you to a miss a thing in the Community! The best way to make sure you know what's going on in the News & Announcements, to blogs you follow, or forums and galleries you're interested in is to subscribe! These subscriptions ensure you receive automated messages about the most recent posts and replies. Even better, there are multiple ways you can subscribe to content and boards in the community! (Please note: if you have created an AAD (Azure Active Directory) account you won't be able to receive e-mail notifications.)   Subscribing to a Category  When you're looking at the entire category, select from the Options drop down and choose Subscribe.     You can then choose to Subscribe to all of the boards or select only the boards you want to receive notifications. When you're satisfied with your choices, click Save.     Subscribing to a Topic You can also subscribe to a single topic by clicking Subscribe from the Options drop down menu, while you are viewing the topic or in the General board overview, respectively.     Subscribing to a Label Find the labels at the bottom left of a post.From a particular post with a label, click on the label to filter by that label. This opens a window containing a list of posts with the label you have selected. Click Subscribe.     Note: You can only subscribe to a label at the board level. If you subscribe to a label named 'Copilot' at board #1, it will not automatically subscribe you to an identically named label at board #2. You will have to subscribe twice, once at each board.   Bookmarks Just like you can subscribe to topics and categories, you can also bookmark topics and boards from the same menus! Simply go to the Topic Options drop down menu to bookmark a topic or the Options drop down to bookmark a board. The difference between subscribing and bookmarking is that subscriptions provide you with notifications, whereas bookmarks provide you a static way of easily accessing your favorite boards from the My subscriptions area.   Managing & Viewing Your Subscriptions & Bookmarks To manage your subscriptions, click on your avatar and select My subscriptions from the drop-down menu.     From the Subscriptions & Notifications tab, you can manage your subscriptions, including your e-mail subscription options, your bookmarks, your notification settings, and your email notification format.     You can see a list of all your subscriptions and bookmarks and choose which ones to delete, either individually or in bulk, by checking multiple boxes.     A Note on Following Friends on Mobile Adding someone as a friend or selecting Follow in the mobile view does not allow you to subscribe to their activity feed. You will merely be able to see your friends’ biography, other personal information, or online status, and send messages more quickly by choosing who to send the message to from a list, as opposed to having to search by username.

Users online (6,030)