PowerApps & SharePoint – The Ultimate User Experience – Dynamic Data Sources – Graph – Power Automate

7. PA_Graph_Item_Patch Flow

PowerApps Trigger

A PowerApps Trigger action instantiates this Flow. This Flow is used to update the metadata for any List Item or Document Library Drive Item.

Four input parameters need to be passed to the Flow when it is instantiated. These being the Site Id and the List Id of either the List or Document Library queried, the Item Id of the list item or drive item being updated and the Field Value Set containing a JSON array of all the field / column values being update the specified Item Id.

Update List Item

This Flow includes a Send a HTTP request to SharePoint action with the Method property in this step in Flow is a Patch action. For the Uri property, the value is relatively simple, being:

_api/v2.0/sites/{site-id}/lists/{list-id}/items/{item-id}/fields

The Uri property can however be constructed in different ways, i.e.

PATCH /drives/{drive-id}/items/{item-id}
PATCH /groups/{group-id}/drive/items/{item-id}
PATCH /me/drive/items/{item-id}
PATCH /sites/{site-id}/drive/items/{item-id}
PATCH /users/{user-id}/drive/items/{item-id}

It really depends on what type of item you would like to update and where that is located (SharePoint or OneDrive For Business). The beautity of is that a single Flow can accomodate any type Uri format that you simply construct based on the input parameter you pass to the Flow.

Rather than me repeating documentation already published on the Microsoft docs website, review the Update DriveItem properties documentation to update metadata for File-type Drive Items, as well as the document to Update an item in a list.

Both these links will equally give you insight with regards to what value the APIs expect for the Field Value Set input property passed to the Flow for the field / column values to be updated. For example:

{
    "Author": "Brad Cleaver",
    "AuthorLookupId": "13",
    "Name": "Kangaroos and Wallabies: A Deep Dive",
    "Color": "Red",
    "Quantity": 350,
}

There is major challenge leveraging the Flow to update any metadata for either a list item or file for that matter. That the lack of documentation with regards how to construct the Field Value Set which include complex field types, such as Person or Groups columns, Hyperlink or Picture columns and Managed Metadata columns, and no doubt other field types.

As such with these constraints, this Flow may or may be suitable for different app requirements as a means to update metadata columns for any given list or document library. In time I’m sure the documentation will improve and others may blog on their own experiences that may overcome how to update complex field type, whether using these particular Graph APIs or other SharePoint REST APIs that may alternatively provide the equivalent functionality.

Up next: Showcase

11 thoughts on “PowerApps & SharePoint – The Ultimate User Experience – Dynamic Data Sources – Graph – Power Automate”

  1. Get Drive Items doesn’t seem to be available anymore? I couldn’t figure out an easy way to do this, other than either creating my own connector to graph API or using the HTTP request action.

    1. The link to a GitHub repository “was” at the end of the blog however I made it private because I have been considering modifying some of the flows to “possibly” make them easier to follow and equally surface more information.

      That said I’ve “temporarily” made the GitHub repository for the original flows publically viewable again, albeit that I will make it private again in a few days. Primarily because I am working on a new blog where there is a lot functionality I’ve been developing such that it will be that much easier to read the new blog, follow the technical site and leverage for use in App Makers own apps. The new blow secifically pertains to changes made to the PA_Graph_DriveItems flow in this blog.

      GitHub – Office365Master/PowerApps-SharePoint—The-Ultimate-User-Experience
      https://github.com/Office365Master/PowerApps-SharePoint—The-Ultimate-User-Experience

Comments are closed.