cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rhiheu
Advocate III
Advocate III

Get file content irrelevant of file type/file extension

Hi,

Is it possible to get a file content (stored as a pdf, jpg, png or doc in a folder in SharePoint online) irrelevant of it's file extension?

I have a flow trigger when a new item is created in a SharePoint online list. It will hopefully pull through a guide file and attach it to an email. It works when getting file contents using the file path if it's just one file extension type e.g. when it's told to fetch /SharePointFolderpath/Guide_[guideID].pdf where [guideID] is a Dynamic content field in the initial SharePoint list item submission that triggered the flow. This opens fine in the email generated by the flow. The trouble is not all the guides are same format e.g. guide1.pdf, guide2.jpg, guide3.png, guide4.doc etc. - it fails when the file type is different - it still attaches a placeholder file but this fails to open because of the file extension conflict.

Any help appreciated, thanks.

9 REPLIES 9
efialttes
Community Champion
Community Champion

Hi!

I believe you can get also [guideID.ext] as the dynamic content field in the initial trigger

So in my Dynamic content menu I can see 'Filename' and 'Filename with extension', please note I have it in Spanish

Flow_FilenameWithExtension.png

Hope this helps

Did I make your day? If so, mark my response as 'Solution' !!!

También escribo sobre Power Automate en este Blog y en Twitter

Hi @efialttes, thanks for your reply. Sorry I don't think I explained my use case well, as my 'when a new item is created' trigger does not know the full file name with extension so I'm not sure how to recreate your screenshot. Let me try and explain a different way:

  1. An IT administrator is working through access requests they receive. When they have finished setting up a user, they log the access creation in a SharePoint list - by creating a new item where one of the columns is application name, another column is user's email address.
  2. This sets off the flow - the flow looks in a SharePoint online documents folder (completely separate to the SharePoint list) for the appropriate guide. In this folder, all the files have the same naming convention - 'Guide_' followed by the application name, but they have a mix of file extensions. There is only one file for each extension.
  3. How do I make it grab the file in that folder with the matching application name, irrelevant/agnostic of it's extension? So that it's able to successfully display as an email attachment. I have been able to do this with the 'Gets file contents using the file path' action if I say the file is /SharePointfolder/Guide_[AppName].pdf (and Infer Content Type: Yes) but not sure how to change out the 'pdf' to make it work with jpgs, pngs and docs as well.

Thanks.

efialttes
Community Champion
Community Champion

Hi!

Understood

So I guess before 'Get file content using path' you need a intermediate step, 'Get files (properties only)' and filter all the possible results by verifying the filename that contains AppName string.

Three options to filter:

a) add an ODATA filter as 'Filter query' input on your 'Get files (properties only) or,

b) add a 'Filter array' action block just after 'GEt files' assign 'Get files' output as its input, and add the corresponding condition rule, or

c) add an Apply to Each, assign 'Get files' output as its input, and add a Condition action block inside it

 

c) is the easiest way, also the slowest one in case you have tons of files

Not with my laptop, please take a try, if you do not find the way to fix it I will implement a test flow tonight

THanx!

 

Did I make your day? If so, mark my response as 'Solution' !!!

También escribo sobre Power Automate en este Blog y en Twitter

Thanks @efialttes! I'm looking for the fastest of the 3 options, which one would that be?

 

I've attempted option a):

  1. I've added a title to every file with the same naming convention as the file name, just not including the extension. So all file titles are 'Guide_[AppName]'.
  2. I've added a 'Get files (properties only)', directing it to the correct folder and adding in the Filter Query 'Title eq 'Guide_[AppName]' with a Top Count of 1 since there is only one file for each application.
  3. I've added the 'Get file content using path' - with the same folder path as above followed by 'File name with extension' from 'Get file (properties only)' as the dynamic content for the file name
  4. I test the flow with only those changes - it works!
  5. I try to add the file as an attachment - the 'Get file content using path' action and it's outputs does not come up as an option....

Not sure what to do now. Thanks for all you help.

efialttes
Community Champion
Community Champion

Hi!

In my opinion c) is the easiest to implement, but its performance is not very good if you have tons of files.

REgarding your attempt to implement option a), can you share a screenshot from your current flow design?

THanx!

Did I make your day? If so, mark my response as 'Solution' !!!

También escribo sobre Power Automate en este Blog y en Twitter

Hi @efialttes, I've just worked out why - the 'Get file content using path' action and it's outputs does not come up as an option if I create the email outside the automatically-created 'Apply to each' container around the 'Get file content using path', but it does appear inside:

EmailAttachmentswithdifferentfileextensions.jpg

 

The trouble is, my flow will get quite complex after this part - it's really not ideal to have it all inside the container, especially when I don't think I need the container - as you'll have seen in the first screenshot I've told it to only collect 1 file ('Top Count: 1') so I really don't need an 'Apply to each' control and it didn't make me have it when I got it working with just one file extension type.. I want to get rid of the container but it won't let me:

flowerror.jpg

Not sure what to try next... thanks for all your help.

efialttes
Community Champion
Community Champion

Hi!

As I can see you have implemented a mix between approach a) and approach c), so the performance will not be affected.

Please also note since Top Count is set to 1, 'Apply to each' will be executed once, so you can keep 'Send an email' inside... a single email will be sent

Anyway if you need to get rid of the 'Apply to each', you shall take info account 'get files' output is an array with a single element, so all you need to do is to use an expression based on first() function to read it.

Not with my laptop, give me a couple of hours to share exact expression

Hope this makes sense

Did I make your day? If so, mark my response as 'Solution' !!!

También escribo sobre Power Automate en este Blog y en Twitter

Hi @efialttes, thanks for your reply. I didn't mean to implement a mixed approach, but glad to know the performance won't be affected. I'm still quite keen to see your exact expression based on the first() function if you're able to share it? Thanks 🙂

Also if anyone can recommend a good Power Automate OData reference site that would be great - I've tried googling around to work out the query myself but haven't had much luck.

Helpful resources

Announcements

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

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!    

Welcome to the Power Automate Community

You are now a part of a fast-growing vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun.   Now that you are a member, you can enjoy the following resources:   Welcome to the Community   News & Announcements: The is your place to get all the latest news around community events and announcements. This is where we share with the community what is going on and how to participate.  Be sure to subscribe to this board and not miss an announcement.   Get Help with Power Automate Forums: If you're looking for support with any part of Power Automate, our forums are the place to go. From General Power Automate forums to Using Connectors, Building Flows and Using Flows.  You will find thousands of technical professionals, and Super Users with years of experience who are ready and eager to answer your questions. You now have the ability to post, reply and give "kudos" on the Power Automate community forums. Make sure you conduct a quick search before creating a new post because your question may have already been asked and answered. Galleries: The galleries are full of content and can assist you with information on creating a flow in our Webinars and Video Gallery, and the ability to share the flows you have created in the Power Automate Cookbook.  Stay connected with the Community Connections & How-To Videos from the Microsoft Community Team. Check out the awesome content being shared there today.   Power Automate Community Blog: Over the years, more than 700 Power Automate Community Blog articles have been written and published by our thriving community. Our community members have learned some excellent tips and have keen insights on the future of process automation. In the Power Automate Community Blog, you can read the latest Power Automate-related posts from our community blog authors around the world. Let us know if you'd like to become an author and contribute your own writing — everything Power Automate-related is welcome.   Community Support: Check out and learn more about Using the Community for tips & tricks. Let us know in the Community Feedback  board if you have any questions or comments about your community experience. Again, we are so excited to welcome you to the Microsoft Power Automate community family. Whether you are brand new to the world of process automation or you are a seasoned Power Automate veteran - our goal is to shape the community to be your 'go to' for support, networking, education, inspiration and encouragement as we enjoy this adventure together.     Power Automate Community Team

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 | 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 (4,671)