cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
daniellemaree
Helper III
Helper III

Bad Request - Move File

HI 

 

I have a flow that pulls out attachment files from outlook and stores into SharePoint document libraries. I am using the step "move file". 

 

however it keeps bringing back this error message 

"status": 400,
"message": "Fatal failure occurred during convert stage. Error is: Failed to identify the target parent folder id for /Shared Documents/Client Folders/Danielle Sutton/TEST.doc.\r\nclientRequestId: fe016337-337f-4733-a66b-b745e9301338\r\nserviceRequestId: 0cd5ba9e-20e4-8000-0729-8435e007f316"
}
 
Capture4.PNG
1 ACCEPTED SOLUTION

Accepted Solutions

The move file action would be for moving the file from one SharePoint site to another.  If you are looking to save an email attachement to SharePoint you will want to use the "Create File" action. You will then use the File Name and File Content from the "When a new email arrives" trigger.

saveattachment.jpg

 

 

View solution in original post

18 REPLIES 18

The move file action would be for moving the file from one SharePoint site to another.  If you are looking to save an email attachement to SharePoint you will want to use the "Create File" action. You will then use the File Name and File Content from the "When a new email arrives" trigger.

saveattachment.jpg

 

 

v-zhos-msft
Solution Sage
Solution Sage

Hi daniellemaree,

According to your description, what your purpose is copying the attachment files from outlook and storing into SharePoint document libraries.

As @spsolutionsgrp’s advice, I suggest you to use the Create file action of Share point.

I have made a flow for your scenario, please check it for a reference.

8.png

Please feel free post back if you need more help.

Best regards,

Zhonys

@daniellemareedid this solve your issue.  Please mark as the solution if it did or let me know if you have any questions. 

 

Thank you

Hi @v-zhos-msft & @spsolutionsgrp

 

Currently, the solution I have built when an email arrives, it gets the email and needs to validate against a SharePoint list to see if the client exists, if the client does the attachment is moved to the designated sharepoint folder. 

 

There is a condition that checks the output value 

first(body('Get_items')?['Value'])?['Title'] to see if it is valid. 
 
After this it gets the URL of SP list folder and applies the different condition based on the file type. The attachments can be different file types i.e .doc,.xlsx, .xls, .pdf , .ppt, .pptx. 
 
Instead of the move file action would it be best to use the create file step?

If you are going from Outlook to SharePoint with the attachment it will have to be Create File.  If the file was already stored in SharePoint then you wanted to change the location you would user "Move File"

@spsolutionsgrp thanks! 

 

ill test this. So after the attachment has been created it needs to distinguish between the different file type. The file name needs to end in only the format i.e .doc, .docx, .ppt, .pdf 

 

 

How can this be done?

sorry if I am asking a question that you aleady answered.   You only want to save the file if it is one of those formats or depending on the format you are going to save the file in a different location?

 

If it is the first you will need to create a condition so it only saves the file if it is one of the formats.

 

Here is a sample condition .... @endswith(items('Apply_to_each_2')?['Name'], '.jpg') OR endswith(items('Apply_to_each_2')?['Name'], '.doc') 

 

Then if yes, Create File and if No do nothing.

Hi @spsolutionsgrp

 

Yes thats correct. It needs to only save in the file formats it will save into the designated clients folder in the SP library. 

 

Does the condition statement go to the top of the flow? The example you have mentioned?

 

So currently the flow. 

  1. it gets the email
  2. checks into a sharepoint list where the email address are stored.
  3. After this it will compose   -   first(body('Get_items')?['Value'])?['Title']
  4. After this step it will have a condition to see if the email address is in the client list so it can move to the client SP folder where it will create the file

 

I did not create the dynamic Customer folder but here is the rest (if you need help with the dynamic folder I can help with that too but I think you have that piece).

 

SaveAttachment2.jpg

 

The condition that I used is...

 

@endswith(items('Apply_to_each')?['Name'], '.doc') Or endswith(items('Apply_to_each')?['Name'], '.docx') Or endswith(items('Apply_to_each')?['Name'], '.xls') Or endswith(items('Apply_to_each')?['Name'], '.xlsx') Or endswith(items('Apply_to_each')?['Name'], '.pdf') Or endswith(items('Apply_to_each')?['Name'], '.ppt') Or endswith(items('Apply_to_each')?['Name'], '.pptx')
 

@spsolutionsgrp Thanks for the tip. 

 

I am still learning advance conditions in flow. 

 

I was wondering if you could validate this condition with the one you have provided too. To see if this is correct?

 

@equals(outputs('Compose'), items('Apply_to_each')?['Title']) AND @endswith(items('Apply_to_each')?['Name'], '.doc') Or @endswith(items('Apply_to_each')?['Name'], '.docx') Or @endswith(items('Apply_to_each')?['Name'], '.xls') Or @endswith(items('Apply_to_each')?['Name'], '.xlsx') Or @endswith(items('Apply_to_each')?['Name'], '.pdf') Or @endswith(items('Apply_to_each')?['Name'], '.ppt') Or @endswith(items('Apply_to_each')?['Name'], '.pptx')

 

 

I can't tell what you are trying to do before the "AND".   Can you explain what that should do.

HI @spsolutionsgrp

 

So in my flow, the email is scanned to an SP list to check if the client's email/name is valid. 

 

I have a condition that checks the title to see if it matches the email address.

Then I have the create file.  See the screen shot

 

Before the create file is run, can you have a second condition to check the file name types?

 

The compose part of the flow contains this @equals(outputs('Compose'), items('Apply_to_each')?['Title']) 

Capture35.PNG

 

 

 

 

Yes, you can add the condition and put the Create File action in the "yes" column.

 

 

 

If you found my resposes helpful please mark one as the solution.

 

Thank you,

@spsolutionsgrp    Thanks! I have

 

Just a quick question regarding the condition statement.. i used the example you had suggested but it throws an error

 

The template validation failed: 'The template action 'Condition_2' at line '1' and column '3943' is not valid: "Unable to parse template language expression 'endswith(items('Apply_to_each')?['Name'], '.doc') Or @endswith(items('Apply_to_each')?['Name'], '.docx') Or @endswith(items('Apply_to_each')?['Name'], '.xls') Or @endswith(items('Apply_to_each')?['Name'], '.xlsx') Or @endswith(items('Apply_to_each')?['Name'], '.pdf') Or @endswith(items('Apply_to_each')?['Name'], '.ppt') Or @endswith(items('Apply_to_each')?['Name'], '.pptx')': expected token 'EndOfData' and actual 'Identifier'.".'.

 

@endswith(items('Apply_to_each')?['Name'], '.doc') Or @endswith(items('Apply_to_each')?['Name'], '.docx') Or @endswith(items('Apply_to_each')?['Name'], '.xls') Or @endswith(items('Apply_to_each')?['Name'], '.xlsx') Or @endswith(items('Apply_to_each')?['Name'], '.pdf') Or @endswith(items('Apply_to_each')?['Name'], '.ppt') Or @endswith(items('Apply_to_each')?['Name'], '.pptx')

 

 

Any suggestions?

@spsolutionsgrp Thanks I have

 

Also I tried your condition statement but it throws an error 

 

The template validation failed: 'The template action 'Condition_2' at line '1' and column '3943' is not valid: "Unable to parse template language expression 'endswith(items('Apply_to_each')?['Name'], '.doc') Or @endswith(items('Apply_to_each')?['Name'], '.docx') Or @endswith(items('Apply_to_each')?['Name'], '.xls') Or @endswith(items('Apply_to_each')?['Name'], '.xlsx') Or @endswith(items('Apply_to_each')?['Name'], '.pdf') Or @endswith(items('Apply_to_each')?['Name'], '.ppt') Or @endswith(items('Apply_to_each')?['Name'], '.pptx')': expected token 'EndOfData' and actual 'Identifier'.".'.

 

Any ideas??

Sorry, wrong "or" syntax. Give me just a second and I will send over the correct one

 

Here is the correct syntax for the condition.

 

@or(
endswith(items('Apply_to_each_3')?['Name'], '.doc'),
endswith(items('Apply_to_each_3')?['Name'], '.docx'),
endswith(items('Apply_to_each_3')?['Name'], '.xls'),
endswith(items('Apply_to_each_3')?['Name'], '.xlsx'),
endswith(items('Apply_to_each_3')?['Name'], '.pdf'),
endswith(items('Apply_to_each_3')?['Name'], '.ppt'),
endswith(items('Apply_to_each_3')?['Name'], '.pptx'))

 

I am doing some additional testing on the create file but have to jump in a meeting so it may be a bit.

@v-zhos-msftshowed this yesterday.  There is a bug in the Create File when getting information from an attachment.  You may need to create a Get file (outlook) action and use the body of that action in the File Content of the Create File action.

 

I have tested and everything works great.

finalattachment.jpg

 

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 (6,332)