Get Detailed Item Changes
Use Get Detailed Item Changes when you want structured change data between two versions of a SharePoint list item, document, or site page.
This action is useful when the flow needs to inspect previous and current values, not just detect that an item was modified.
When to use this action
Use Get Detailed Item Changes when you want to:
- inspect changed columns individually
- branch on specific change scenarios
- build your own email or Teams message
- create custom approvals or business rules
- reuse the same change data in multiple later steps
Inputs
- Site URL (
siteUrl): string. The SharePoint site that contains the list or library. - List or Library (
listId): string. The SharePoint list or library that contains the item. You can select it from the dropdown, enter the exact list title, or enter the list GUID. - Item ID (
itemId): integer. The SharePoint itemID, usually from the trigger. - Compare From (
triggerWindowStartToken): string. For most trigger-based flows, useTriggerWindowStartToken. If left blank, Alert Relay compares the current item against the first version in the item's version history. - Include Minor Versions (
includeMinorVersions): boolean. Includes draft or minor versions in the comparison instead of using major versions only. Defaults tofalse. - Include Unchanged Fields (
includeUnchangedFields): boolean. Includes unchanged fields in the response as well as changed fields. Defaults totrue. - Date Format (
dateFormat): string. Controls how dates are displayed in the output. Defaults toyyyy-MM-dd. - Time Format (
timeFormat): string. Controls how times are displayed in the output. Defaults toHH:mm:ss. - Timezone (
timezone): string. Controls which timezone Alert Relay uses when displaying date and time values. Defaults toUTC.
Outputs
- Success (
success): boolean.trueif the action completed successfully. - Message (
message): string. A human-readable message describing the result. - Changed Fields (
changedFields): array. Field-by-field comparison results. - Has Comparison Baseline (
hasComparisonBaseline): boolean.trueif Alert Relay found a distinct earlier version to compare against. - Is Baseline First Version (
isBaselineFirstVersion): boolean.trueif the baseline version used for comparison is the first version in the item's version history. - Current Version Label (
currentVersionLabel): string. The version label of the current item version, such as5.0. - Previous Version Label (
previousVersionLabel): string. The version label used as the comparison baseline. - Item Title (
itemTitle): string. The title of the SharePoint item, or the file name where appropriate. - Item URL (
itemUrl): string. A link back to the SharePoint item. - Modified Date (
modifiedDate): date-time. The modified date of the current item version. - Modified By (
modifiedBy): string. The display name of the user who last modified the item. - Error (
error): string. Error details when the action fails.
Understanding Changed Fields
Changed Fields (changedFields) is an array designed for Power Automate actions such as:
Apply to eachFilter arraySelect- conditions
Each entry includes:
- Field Internal Name (
internalName): string. The internal SharePoint field name. - Field Name (
displayName): string. The user-friendly SharePoint field name. - Previous Column Value (Detailed) (
previous): dynamic. The previous field value in its raw form. - Current Column Value (Detailed) (
current): dynamic. The current field value in its raw form. - Column Value Has Changed (
hasChanged): boolean.trueif the field value changed between the current version and the comparison baseline. - Previous Column Value (Text) (
previousAsString): string. The previous field value formatted as display text. - Current Column Value (Text) (
currentAsString): string. The current field value formatted as display text.
Recommended usage pattern
For the cleanest flows:
- call
Get Detailed Item Changes - set
Include Unchanged Fieldstofalseif you only want changed fields - use
Filter arrayonly if you need extra filtering beyond that, such as a specific field or subset of changes - loop over the result if you need per-column logic
- use the formatted string values for user-facing messages
- use the raw values only when your flow logic needs them
Formatted values vs raw values
In many cases, Previous Column Value (Text) (previousAsString) and Current Column Value (Text) (currentAsString) are the easiest values to use in messages because they are already prepared for display.
Use Previous Column Value (Detailed) (previous) and Current Column Value (Detailed) (current) when:
- you need to inspect a structured value
- you need to compare raw data in a condition
- you are building more advanced flow logic
Example scenarios
Send an alert only when a specific field changes
Power Automate can already tell you whether a field changed.
The stronger use case for Alert Relay is when you need to know how the field changed between versions.
Use Filter array or an Apply to each loop to find a field where:
- Field Name (
displayName) or Field Internal Name (internalName) matches the target field - Column Value Has Changed (
hasChanged) istrue - the previous and current values match the target change scenario
For example:
- Status changed from
DrafttoApproved - Priority changed from
NormaltoHigh - Assigned To changed from one person to another
Send a manager email with a custom summary
Use:
- Item Title (
itemTitle) - Modified By (
modifiedBy) - Modified Date (
modifiedDate) - selected Changed Fields (
changedFields)
Then build your own custom message.
This is especially useful when the message needs to mention the actual before-and-after values rather than just saying that the item changed.
Trigger different downstream actions for different changes
Alert Relay is especially useful when your flow needs to react to specific version-history-based changes, not just to the fact that an item was modified.
For example:
- if Field Name (
displayName) isStatusand Previous Column Value (Text) (previousAsString) isDraftwhile Current Column Value (Text) (currentAsString) isApproved, notify the publishing team - if Field Name (
displayName) isAssigned Toand the assignee changed from one person to another, notify the new assignee - if Field Name (
displayName) isPriorityand the value changed fromNormaltoHigh, create an escalation task - if Field Name (
displayName) isDue Dateand the due date moved out, notify stakeholders about the schedule change
Notes on unchanged fields
If Include Unchanged Fields is true, the action can return a fuller list of fields.
If you only want a tighter response, set it to false.