Monday, 11 May 2020

How To Retrieve All Files from SharePoint Library Folder & Send an Email Attachment using Microsoft Flows


msflowsmallicon In this blog I will explain how to retrieve all files from a specified SharePoint folder and send email as an attachment.

Every flow needs a trigger to start with so here I am using a manual trigger.

Next step I am using flow step SharePoint List Folder which returns files contained in a SharePoint folder.

The return response is array of BlobMetadata which contains the below details.

NamePathTypeDescription
ItemIdItemIdintegerThe value that can be used to Get or Update file properties in libraries.
IdIdstringThe unique id of the file or folder.
NameNamestringThe name of the file or folder.
DisplayNameDisplayNamestringThe display name of the file or folder.
PathPathstringThe path of the file or folder.
LastModifiedLastModifieddate-timeThe date and time the file or folder was last modified.
SizeSizeintegerThe size of the file or folder.
MediaTypeMediaTypestringThe media type of the file or folder.
IsFolderIsFolderbooleanA boolean value (true, false) to indicate whether or not the blob is a folder.
ETagETagstringThe etag of the file or folder.
FileLocatorFileLocatorstringThe filelocator of the file or folder.

Next, we need to collect the file name and contents. For this we need to declare a variable type array called FilesArray.

Next step we need to construct a loop for reading all the SharePoint list folder contents. List folder contents will have files and folders. So within the loop I am checking whether the content is a folder or not. See below image.

Next, we need to construct rest of the logic under the yes condition for getting all the file names & contents to array variable which we declared earlier. To get the file content use flow step Get file content using path. Path property is available from the above step using Blobmetadata content. Append to array will have two properties ContentBytes and Name. See format below.

The expression for file ContentBytes is as follows:

body(‘Get_file_content_using_path’).$content

Note: There is a property called FileContent available from the Dynamic content, but this will result in error for flow step send email. So it’s important to use the above expression for the contentbytes.

Finally, outside the apply each loop use the send email flow action for sending all the files as one attachment.


Below is the final preview of the flow solution which we discussed above.

Thank you for reading.

Ref: https://mydevexperience.wordpress.com/2019/10/12/microsoft-flow-retrieve-all-files-from-sharepoint-library-folder-send-email-attachment/

How to use Form Component Control to Edit Related Entity Information in Dynamics 365 CRM

In the recent release of the Dynamics 365 CRM, new features have been added. One of the most important and useful features among these is th...