Power Automate: When a file is created (properties only) Trigger

The “When a file is created (properties only)” trigger is an excellent way to control files by automating the actions that deal with them.

Today we’ll look at how it works and how to use it efficiently.

Where to find it?

To find it, you can search for the “When a file is created (properties only)” action or go to “SharePoint.”

Select the “When a file is created (properties only)” from the list.

Here’s what it looks like.

Pro Tip Power Automate tends to save the most common triggers in the main screen, so check there before going trough the full hierarchy. Also you can use the search to quickly find it.

Let’s check how to use it.

Usage

The trigger requires the following information:

  1. Site address – where to look for new files
  2. Library Name – since we can have multiple libraries, we need to define which one we’ll look at.
  3. Folder – The folder is optional since you can define that you want to catch all files created in the document library.
Please remember that the Flow will trigger for each file created so you’re always sure that you have a single file to look per run.

Here’s an example:

Let’s upload a new Document.docx (ok, I’m not the most creative person when it comes to naming things) and see what happens:

Notice that we uploaded the file into the “Attachment” folder, and Flow catches the file creation. Another essential thing to consider is right in the trigger’s name. Power Automate will only return the file’s properties, so if you want to get the file contents, you have to use the “Get file content” Action.

Outputs

The trigger returns a lot of information in a JSON format, although the conversion from JSON is done automatically for you. Here’s an example:

{
  "headers": {
    <redacted>
  },
  "body": {
    "@odata.etag": "\"2\"",
    "ItemInternalId": "95",
    "ID": 95,
    "Modified": "2021-11-04T11:15:03Z",
    "Editor": {
      "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
      "Claims": "i:0#.f|membership|manuel@manueltgomes.com",
      "DisplayName": "Manuel Gomes",
      "Email": "manuel@manueltgomes.com",
      "Picture": "https://manueltgomescom.sharepoint.com/sites/Test/_layouts/15/UserPhoto.aspx?Size=L&AccountName=manuel@manueltgomes.com",
      "Department": "",
      "JobTitle": ""
    },
    "Editor#Claims": "i:0#.f|membership|manuel@manueltgomes.com",
    "Created": "2021-11-04T11:15:01Z",
    "Author": {
      "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
      "Claims": "i:0#.f|membership|manuel@manueltgomes.com",
      "DisplayName": "Manuel Gomes",
      "Email": "manuel@manueltgomes.com",
      "Picture": "https://manueltgomescom.sharepoint.com/sites/Test/_layouts/15/UserPhoto.aspx?Size=L&AccountName=manuel@manueltgomes.com",
      "Department": null,
      "JobTitle": null
    },
    "Author#Claims": "i:0#.f|membership|manuel@manueltgomes.com",
    "OData__DisplayName": "",
    "{Identifier}": "Shared%2bDocuments%252fAttachment%252fDocument1.docx",
    "{IsFolder}": false,
    "{Thumbnail}": <redacted>,
    "{Link}": "https://manueltgomescom.sharepoint.com/sites/Test/Shared%20Documents/Attachment/Document1.docx?d=w177b5536d74b42c39b817d9801342d10",
    "{Name}": "Document1",
    "{FilenameWithExtension}": "Document1.docx",
    "{Path}": "Shared Documents/Attachment/",
    "{FullPath}": "Shared Documents/Attachment/Document1.docx",
    "{IsCheckedOut}": false,
    "{VersionNumber}": "1.0",
    "{TriggerWindowStartToken}": "MTszOzNlZDk2NGQzLTk1YzMtNGJlY1y04M2E3LWJjOGEyOTk3NmJlYTs2zc3MTYyMTI3zNTUxMzAwMDA7NTg4MDE1NjY3",
    "{TriggerWindowEndToken}": "MTszOzNlZDk2NGQzLTk1YzMtNGJlY1y04M2E3LWJjOGEyOTk3NmJlYTs2zc3MTYyMTI3zNTUxMzAwMDA7NTg4MDE1NjY3"
  }
}

There’s a lot of information, but here’s some that are pretty useful. First, let’s look at the and properties and some tricks to make your data better.

Identifier vs. ID

The file identifier is used to fetch things like its content and is required in other actions, like the “Get file content,” for example. Notice that we have the “Identifier” and the “ID.” They serve different purposes. The “Identifier” is used in the actions to fetch the file itself.

To understand why the ID, we need to understand that files in SharePoint are stored as items in a list. We see them as “files,” but we can add additional properties. Let’s open the list and see how to add the “ID.

Pick “ID”

You’ll see it in the list.

So think of it as follows:

  1. The “Identifier” is the file itself, where we can get the file size, path, and contents, for example
  2. The “ID” is the file’s list properties, like the modified date and other columns that we add to augment the file’s information.

Properties vs. Columns

Files have properties, like the file size and path, but you can add more columns to augment the file’s information. For example, if you want to have a column with an approval status, you do the following:

Add the options.

Here’s what it looks like.

You can do this to any document library and have a lot more information associated with files. However, please remember that you need to use the “ID” and not the “Identifier to edit this information.”

Limitations

You can’t access files in a shared libraries.

Recommendations

Here are some things to keep in mind.

The folder is optional but think about it.

SharePoint document libraries can be pretty busy and, depending on the files are created, Power Automate will trigger a lot. Limit the folders you want to look at as much as possible, but if not possible, plan for what happens when the Flow triggers a lot, like quotas, for example.

Never generate the ID or Identifier.

I always recommend against generating the ID. Although it’s possible to get the ID by encoding the special characters, it’s pretty error-prone if you know the path. For example, if Microsoft changes something in Power Automate, you’ll get into trouble, but if you use the IDs from other actions, your Flows become future proof to any changes that may occur.

Name it correctly

The name is super important in this case since we can get the trigger from anywhere and with anything. Always build the name so that other people can understand what you are using without opening the action and checking the details.

Always add a comment.

Adding a comment will also help avoid mistakes. Indicate what you’re expecting, why the Flow should be triggered, and the data used. It’s essential to enable faster debugging when something goes wrong.

Am I missing something? Leave a comment or interact on Twitter. Let’s work together to make this reference as complete as we can

Back to the Power Automate Trigger Reference.

Photo by Henry & Co. on Unsplash

Manuel Gomes

I'm a Project Manager with experience in large projects and companies. I've worked in the past for companies like Bayer, Sybase (now SAP) and I'm currently working for Pestana Hotel Group.

View all posts by Manuel Gomes →

One thought on “Power Automate: When a file is created (properties only) Trigger

Leave a Reply

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

%d bloggers like this: