cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
bmyers2525
Regular Visitor

Using MS Forms, Power automate, and SharePoint Libraries to build a records repository.

I am trying to build a flow that allows for the easy automation and catalogging of user submitted data.

 

Essentially, I have a Group MS Form built as Part of my MS Teams Group. User's will fill out this form and then upload the necessary documentation in the form as well. Once these forms are submitted, it triggers Power Automate to make a folder with in my SharePoint library with information that is scraped from the MS Form submission. My goal is to take the PDF Files that are also uploaded as attachments in that MS Form, and have them automatically moved into the folder that was dynamically created in the last step by power automate.

 

Is this possible? The issue that I'm running into is that it seems that I can't assign the destination folder for the "Move File" action to be a dynamic folder based upon the user's submitted MS Forms information.

 

Any help would be greatly appreciated!

1 ACCEPTED SOLUTION

Accepted Solutions
trice602
Super User
Super User

Hi @bmyers2525 ,

 

Here you go!  This works in my tests and happy to share this solution with you!  Please mark as a solution and give me a thumbs up!  Always glad to help! Tom

 

Results:  A file uploaded from a form question saved to a dynamic folder name

 

trice602_0-1691861674649.png

Here's the entire flow.  I will walk through the individual steps next.

 

trice602_1-1691861763588.png

 

The first thing I added is a compose.  This takes the responders email address and replaces the @ and the "." with an underline.  We will use the output from this to create our unique folder names.  Here's the output:

 

trice602_2-1691861884288.png

 

I have a nested replace().  I first replace the "@" then the "."

 

replace(replace(outputs('Get_response_details')?['body/responder'],'@','_'),'.','_')
 
trice602_3-1691862001175.png

 

Next steps List Folder and Create new folder:  Here in my sample SharePoint site in the document folder, I created a folder called FormAttachmentContents and this is where all the form attachment results will be stored.

 

Next I will create a new folder and it is dynamic, based on the user's email address from our compose.  So this is going to create a folder at  /Shared_Documents/FormAttachmentResults/tom_gotoreports_com/

 

Note:  after reviewing you do not need list folder (was adding during testing but never referenced)

 

trice602_4-1691862070689.png

 

Next I will use a compose action to create the entire dynamic folder path.  This is just an concatenation of the hard coded path and the dynamic folder.

 

concat(outputs('Create_new_folder')?['body/{Path}'],outputs('Compose'))
 
trice602_5-1691862320452.png

 

 

Next we will add a Parse JSON action.  We need to get the JSON from the get response details action output.  Where do you get the JSON?  In a test run, in the output of the get response details, you will see the JSON response from your add a file question (mine is called Add a file).  You want to copy that JSON.

 

trice602_7-1691862565297.png

 

Next when we add Parse JSON, click on the Generate from sample button and paste in your JSON.  This is going to create the scheme for your action.  We are getting close to finishing!  Stay with me 🙂

 

trice602_6-1691862398320.png

 

 Next you will add the create file action.  Once you start adding in variables (as shown below), this step is going to automatically get wrapped in an apply to each (because your question may have more than one file attachment).  Even if there is always only going to be one file, this still works, and I typically leave it in this format.
 
OK, your dynamic file path is from the output of the compose 2 we created earlier.  Remember this is the concatenation of the hard-coded path plus the dynamic folder name (tom_gotoreports_com).
 
Next, we point to the Parse JSON output and select the 'name' for the file name and 'link' for the file content.  That's it!  Please mark as a solution!  Always glad to help! Tom
 
trice602_8-1691862695577.png

 

 trice602_9-1691862941088.png
 
trice602_10-1691862963162.png

 

If this was helpful: Please mark as a solution Give me a thumbs up Always glad to help, Tom! Connect on LinkedIn

View solution in original post

7 REPLIES 7
trice602
Super User
Super User

Hi @bmyers2525 ,

 

Yes, it is possible by using the create folder path in the create file path.  Please post your entire flow or if that is enough to get you up and running, please mark as a solution!  Always glad to help! Tom

If this was helpful: Please mark as a solution Give me a thumbs up Always glad to help, Tom! Connect on LinkedIn

New Flow.jpg

Here's the flow that I have so far. The Email portion works just fine, so I kept that minimized, but I can't figure out what I need to do to move the files. All of the files that I will need to move will probably be named something different because they're going to be submitted by users who always change the name of the doc before submitting to whatever they like. Thanks for the help!

trice602
Super User
Super User

Hi @bmyers2525 ,

 

Thanks for sharing.  I'm going to build this on my machine this morning and share with you.  Always glad to help! Tom

If this was helpful: Please mark as a solution Give me a thumbs up Always glad to help, Tom! Connect on LinkedIn

@bmyers2525 this won't ever work because you have 2 triggers in your flow: "when a new response is submitted" and "when a file is created...". You can only have 1 trigger in a flow -  the event that starts the flow running.. -  even though Microsoft haven't prevented you trying to add 2!  I think you shoulod sp;lit them into 2 flows.

 

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

trice602
Super User
Super User

Hi @bmyers2525 ,

 

Here you go!  This works in my tests and happy to share this solution with you!  Please mark as a solution and give me a thumbs up!  Always glad to help! Tom

 

Results:  A file uploaded from a form question saved to a dynamic folder name

 

trice602_0-1691861674649.png

Here's the entire flow.  I will walk through the individual steps next.

 

trice602_1-1691861763588.png

 

The first thing I added is a compose.  This takes the responders email address and replaces the @ and the "." with an underline.  We will use the output from this to create our unique folder names.  Here's the output:

 

trice602_2-1691861884288.png

 

I have a nested replace().  I first replace the "@" then the "."

 

replace(replace(outputs('Get_response_details')?['body/responder'],'@','_'),'.','_')
 
trice602_3-1691862001175.png

 

Next steps List Folder and Create new folder:  Here in my sample SharePoint site in the document folder, I created a folder called FormAttachmentContents and this is where all the form attachment results will be stored.

 

Next I will create a new folder and it is dynamic, based on the user's email address from our compose.  So this is going to create a folder at  /Shared_Documents/FormAttachmentResults/tom_gotoreports_com/

 

Note:  after reviewing you do not need list folder (was adding during testing but never referenced)

 

trice602_4-1691862070689.png

 

Next I will use a compose action to create the entire dynamic folder path.  This is just an concatenation of the hard coded path and the dynamic folder.

 

concat(outputs('Create_new_folder')?['body/{Path}'],outputs('Compose'))
 
trice602_5-1691862320452.png

 

 

Next we will add a Parse JSON action.  We need to get the JSON from the get response details action output.  Where do you get the JSON?  In a test run, in the output of the get response details, you will see the JSON response from your add a file question (mine is called Add a file).  You want to copy that JSON.

 

trice602_7-1691862565297.png

 

Next when we add Parse JSON, click on the Generate from sample button and paste in your JSON.  This is going to create the scheme for your action.  We are getting close to finishing!  Stay with me 🙂

 

trice602_6-1691862398320.png

 

 Next you will add the create file action.  Once you start adding in variables (as shown below), this step is going to automatically get wrapped in an apply to each (because your question may have more than one file attachment).  Even if there is always only going to be one file, this still works, and I typically leave it in this format.
 
OK, your dynamic file path is from the output of the compose 2 we created earlier.  Remember this is the concatenation of the hard-coded path plus the dynamic folder name (tom_gotoreports_com).
 
Next, we point to the Parse JSON output and select the 'name' for the file name and 'link' for the file content.  That's it!  Please mark as a solution!  Always glad to help! Tom
 
trice602_8-1691862695577.png

 

 trice602_9-1691862941088.png
 
trice602_10-1691862963162.png

 

If this was helpful: Please mark as a solution Give me a thumbs up Always glad to help, Tom! Connect on LinkedIn

@trice602 This looks great! I'll mark this as the solution, but I won't be able to test it until Monday.

 

This is a lot of great information but I do have another question.

 

Is it possible to have the folders named from a compilation of data from the forms, or does that stop the flow from working properly? The idea is to name the folders with the user's last name / first name / and a 7-digit id number that will be submitted in the form by the user. Ideal file naming would look like this "LASTNAME FIRSTNAME 7777777"?

 

Thanks again for all of your help!

trice602
Super User
Super User

Hi @bmyers2525 ,

 

You can absolutely have the folder name LAST NAME FIRST NAME NUMBERS and I will be glad to get this working with you next week (I will actually look at this tonight).  Please mark this as a solution, means the world to me!  Always glad to help! Tom

If this was helpful: Please mark as a solution Give me a thumbs up Always glad to help, Tom! Connect on LinkedIn

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

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 (3,080)