How to Check If the Column is Changed in Power Automate?

A few weeks ago, they had a specific requirement while working on a Project Status Tracker for a client. Whenever the Status column changed in a SharePoint list, they wanted to send an email notification. But they needed to know the previous status before the change.

After researching, we could achieve this using the Get changes for an item or a file (properties only) action in Power Automate. This action helps us detect if a column value has changed. Additionally, with the help of an HTTP request, we can retrieve the previous value of the column.

In this tutorial, I will show you how to check if a column has changed in Power Automate and how to retrieve its previous value.

Check If the column is Changed in Power Automate

Suppose you have a SharePoint list named ‘Project Tracker’ where you track project progress. There’s a column called ‘Status’ (Choice column). When the status changes, you want to send an email to the project manager with the previous status value and the correct status value.

Power Automate Detect Modified Columns and Retrieve Old Values in Sharepoint

Before I tell you how to do it, make sure your list Item Version History is enabled.

Now follow the below steps:

1. Go to Power Automate, create an Automated Cloud Flow, and set the trigger for When an item is created or modified from the SharePoint connector.

  • Site Address: Select your SharePoint site containing the Project Tracker list.
  • List Name: Choose Project Tracker.
Identify SharePoint List Column Changes using Power Automate

2. Add Get changes for an item or a file (properties only) action and provide the following parameters:

  • Site Address: Select your SharePoint site containing the Project Tracker list.
  • List or Library Name: Choose Project Tracker.
  • Id: Select Id from dynamic content when an item is created or a modified action is taken.
  • Since: Provide the Trigger Window Start Token dynamic property.
Power Automate SharePoint Get Column Changes

3. Then add a Send an HTTP request to SharePoint action from sharePoint Connector with the below parameter:

  • Site Address: Select the SharePoint Site Address.
  • Method: Select “GET” as the method.
  • URI: Provide the below URI:
_api/web/lists/getByTitle('Project Tracker')/items(@{triggerBody()?['ID']})/versions(@{outputs('Get_changes_for_an_item_or_a_file_(properties_only)')?['body/SinceVersionId']})

Note:

Maybe outputs(‘Get_changes_for_an_item_or_a_file_(properties_only)’)?[‘body/SinceVersionId’] is not visible in the dynamic content you can write.

HAS COLUMN CHANGED ISSUE in POWER AUTOMATE

This is what we have to use to get the previous value. We will use the version history to look up a specific version of an item.

4. Add a Condition action to check if the Status value has changed. If it has, send an email. Follow the steps below to do this:

@{outputs('Get_changes_for_an_item_or_a_file_(properties_only)')?['body/ColumnHasChanged/Status']}   is equal to ture
Power Automate how to catch which column was updated

5. Now, add a Compose action and use the following expression to get the previous status value from the SharePoint list:

body('Send_an_HTTP_request_to_SharePoint')['d']['Status']
Trigger Power Automate flow when a column is modified

6. Then, add a ‘Send an email (V2)‘ action to send an email to the project manager and provide the following parameters:

  • To: Enter your Project Manager email address from the dynamic content.
  • Subject: Enter a subject line for Mail.
  • Body: Enter the body of the email.
Hello @{triggerBody()?['ProjectManager/DisplayName']},

The status of the project @{triggerBody()?['ProjectName']} has been updated.

Previous Status: @{outputs('Compose')}
Current Status: @{triggerBody()?['Status/Value']}
Please review the changes and take any necessary actions.

Best regards,
TSINFO TECHNOLOGIES PVT LTD
Check for a Change in a SharePoint List Column Value using Power Automate

Now, click Save and run the flow manually. Then go to the SharePoint list, update the status column:

In my case, I update the status In Progress to Completed from the Project Power Platform Integration.

Check If the column is Changed in Power Automate

After the flow runs successfully, the project manager will receive an email like the screenshot below.

How to Check If the column is Changed in Power Automate

You can see the previous Status value displayed in the email. Not only the Status, but you can also retrieve any value present in the SharePoint list.

Check Which SharePoint item Columns Were Updated in Power Automate

In the above example, we checked if the Status changed before sending an email. However, we did not check other column changes. In this example, I will show you how to identify which SharePoint column value was modified.

Here I am using the same Project Tracker sharepoint list. Now follow the below steps:

1. Create an Automated cloud flow using the trigger ‘When an item is created or modified,’ and provide the Site Address and List Name. Then, add a ‘Get changes for an item or a file (properties only)‘ action and provide the following parameters:

  • Site Address: Select your SharePoint site containing the Project Tracker list.
  • List or Library Name: Choose Project Tracker.
  • Id: Select Id from dynamic content when an item is created or a modified action is taken.
  • Since: Provide the Trigger Window Start Token dynamic property
Check Which SharePoint item Columns Were Updated in Power Automate

2. Add a Filter Array action to filter the updated item in the Sharepoint list:

  • From: Provide the below expression:
split(string(outputs('Get_changes_for_an_item_or_a_file_(properties_only)')?['body/ColumnHasChanged']),',')
  • Condition:
    • Left Value: item()
    • Operator: contains
    • Right Value: string(‘:true’)
How to check if the column is changed in power automate using

3. Then add Select action and provide the below parameters:

  • From: Provide the body of the filter array using dynamic content.
  • Map: Provide below expression:
json(item())
Power Automate Check Which SharePoint item Columns Were Updated

Now, click Save and run the flow manually. Then go to the SharePoint list, update the some value column:

In my case, I updated the ‘Project Name,’ ‘End Date,’ and ‘Priority’ columns where the Requester ID is ‘PP2024-002’.

Check Which SharePoint item Columns Were Updated using Power Automate

After the flow runs successfully, check the output of the selected action. Then, you can see the list of the items you changed.

How to Check Which SharePoint item Columns Were Updated in Power Automate

You can see the result in the output section per the requirement.

Conclusion

This tutorial explored how to track changes in a SharePoint list using Power Automate. We first checked if a specific column (Status) was modified and retrieved its previous value using the Get changes for an item or a file (properties only) action and an HTTP request.

Then, we used a condition to verify if the Status column had changed and sent an email notification with the previous and updated values. Additionally, we learned how to identify which specific columns were modified by filtering the changed properties.

You may also like:

Power Apps functions free pdf

30 Power Apps Functions

This free guide walks you through the 30 most-used Power Apps functions with real business examples, exact syntax, and results you can see.

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App