Microsoft Flow – Create a Folder in a document library using Microsoft Flow

Recently, I’ve seen quite a few people asking about creating Folders in Document Libraries using Microsoft Flow.

 

In my case I have a Document Library called Documents1 and I want to create a folder called New Folder

Using the Send an HTTP request to SharePoint action it is really a 5 minute task.

Using the following REST API call I can get hold of the option to create a new folder.

_api/Web/GetFolderByServerRelativeUrl('Documents1')/Folders

Just supply the body that specifies the name of your folder.

{ '__metadata': { 'type': 'SP.Folder' }, 'ServerRelativeUrl': '/Documents1/New Folder'}

You could of course also do the same without the verbose option and nometadata instead. The body would then look something like this:

{'ServerRelativeUrl': '/Documents1/New Folder'}

Then when you run the flow you will see that the HTTP call is successful

 

And my folder is created.

 

 

For site collections (that aren’t the root site collection) or subsites you can use the following:

 

Advertisements


Categories:Flow, Microsoft Flow

Tags:

32 replies

  1. thanks for this Pieter. With your help i’ve got it working wonderfully in our environment. We have a complex file structure of folders that i was already creating (by creating a file) in order to have one folder per sales order (with these folders grouped as there’s lots). Now i’ve added in your flow code, tweaking it to use vairables so it’s easier for me to manage, so i now have numerous sub folders for each parent folder ready for the team to store all job related docs in a tidy way. This is going to be a great help. thanks !

    Like

  2. Thanks Pieter

    I’m a newbie… Could you introduce me to the rights allocation for the created folders ? Let’s say a main folder in the Document Library called Documents1 , with many subfolders, all accessible to Group A, one of them being accessible only to sSecurity group B ?

    Thanks,

    Gaston

    Like

  3. “message”: “Value cannot be null.\r\nclientRequestId: b0a3299f-fb4e-44d3-826f-6bef4c739715\r\nserviceRequestId: 44d1cd9e-10cc-8000-6e87-a13417104134”,

    I am getting this error. I would appreciate your help.

    Like

  4. Thank you for you prompt response. Here it is:

    Site Address
    Customer Bids – https://abc.sharepoint.com/sites/100010
    *Method
    POST
    *Uri
    _api/Web/GetFolderByServerRelativeUrl(‘BId%20Documents’)/Folders
    Headers

    Content-Type
    application/json; odata=verbose
    Accept
    application/json; odata=verbose
    Enter key

    Enter value

    Body
    { ‘__metadata’: { ‘type’: ‘SP.Folder’ }, ‘SpWeb.ServerRelativeUrl’: ‘/BId%20Documents/New Folder’}

    Like

    • I think that your url to the folder isn’t right. it isn’t a server relative url. that would be /sites/….

      Like

      • Now getting the following error. Thank you again for your help;

        {
        “error”: {
        “code”: 502,
        “source”: “flow-apim-europe-001-westeurope-01.azure-apim.net”,
        “clientRequestId”: “72737c0a-69f0-42d8-a945-60d7d3c56c1f”,
        “message”: “BadGateway”,
        “innerError”: {
        “message”: “(null) \”sites/100010/sites/100010/BId Documents/New Folder\” not found.\r\nclientRequestId: 72737c0a-69f0-42d8-a945-60d7d3c56c1f\r\nserviceRequestId: 13d6cd9e-8072-8000-7de0-5daf09e8af45″,
        “status”: 502,
        “source”: “https://abc.sharepoint.com/sites/100010/_api/Web/GetFolderByServerRelativeUrl(‘BId%20Documents’)/Folders”,
        “errors”: [
        “-2130247139”,
        “Microsoft.SharePoint.SPException”
        ]
        }
        }
        }

        Like

      • it looks like /sites/100010 is repeated twice

        also in the get folder function the parameter doesn’t appear to include /sites/100010

        Like

  5. Hello, I am trying to create a folder within a Document library also but is getting the following error:

    “message”: “Value cannot be null.”,
    “status”: 400,
    “source”: “https://XXX.sharepoint.com/sites/MainSite/Subsite/_api/Web/GetFolderByServerRelativeUrl(‘DocumentLibrary’)/Folders”,
    “errors”: [
    “-2147467261”,
    “System.ArgumentNullException”
    ]

    Thank you in advance!

    Like

  6. Hello Pieter,
    I getting this error,

    “status”: 400,
    “message”: “Server relative urls must start with SPWeb.ServerRelativeUrl\r\nclientRequestId: ae4e610a-a527-4136-8b88-524b59f41b3c\r\nserviceRequestId: 1fa0d69e-80cd-8000-56fe-73dfc5582595”,

    appriciate your help.
    Keyvan

    Like

  7. This is interesting however I find it ridiculous that this level of effort is required to do something so common. Is makes me wonder why Microsoft does not directly support creating folders from PowerApps & Flow.

    Like

  8. I keep on getting this error

    {
    “status”: 400,
    “message”: “The expression \”Web/GetFolderByServerRelativeUrl(‘sites/corporate-files/Lists/WIP Testing)/Clients’\” is not valid.\r\nclientRequestId: cc97207c-54cb-4496-8a2f-87b371d1096a\r\nserviceRequestId: d2b7d79e-9004-0000-99d4-8f792c168144″,
    “source”: “https://mylifedigital.sharepoint.com/sites/corporate-files/_api/Web/GetFolderByServerRelativeUrl(‘sites/corporate-files/Lists/WIP%20Testing)/Clients’”,
    “errors”: [
    “-1”,
    “Microsoft.SharePoint.Client.InvalidClientQueryException”
    ]
    }

    Like

  9. Pieter, I have tried lots of combinations and am starting to go a little mad…. Any advice would be greatly received….

    Like

  10. {
    “message”: “Access denied. You do not have permission to perform this action or access this resource.\r\nclientRequestId: ce926637-4e56-4da4-abbe-53603caf7680\r\nserviceRequestId: 276ede9e-30b3-8000-86d8-bb9bfaca2eeb”,
    “status”: 403,
    “source”: “https://techmah.sharepoint.com/sites/SurgeonCompliance/_api/Web/GetFolderByServerRelativeUrl(‘sites/SurgeonCompliance/Shared%20Documents’)/Folders”,
    “errors”: [
    “-2147024891”,
    “System.UnauthorizedAccessException”
    ]
    }

    Like

  11. Sorry my mistake

    Like

Please leave a comment or feedback

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: