**Alert Relay Documentation**

Guidance for building Alert Relay flows, choosing the right action, and understanding SharePoint version-history comparisons.

# Actions Reference

This page is a quick reference for the main user-facing Alert Relay actions.

## Get Detailed Item Alert HTML

### When to use this action

- you want to send an alert email showing what changed in a SharePoint item
- you want Alert Relay to generate the email body and subject for you
- you want a ready-to-send output instead of building the message yourself

### 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 use the exact list title or the list GUID.
- **Item ID** (`itemId`): integer. The SharePoint item ID, usually from the trigger.
- **Compare From** (`triggerWindowStartToken`): string. The comparison starting point. For most trigger-based flows, use `TriggerWindowStartToken`. If left blank, Alert Relay compares 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 to `false`.
- **Include Unchanged Fields** (`includeUnchangedFields`): boolean. Includes unchanged fields in the generated output as well as changed fields. Defaults to `true`.
- **Date Format** (`dateFormat`): string. Controls how dates are displayed in the output. Defaults to `yyyy-MM-dd`.
- **Time Format** (`timeFormat`): string. Controls how times are displayed in the output. Defaults to `HH:mm:ss`.
- **Timezone** (`timezone`): string. Controls which timezone Alert Relay uses when displaying date and time values. Defaults to `UTC`.

### Outputs

- **HTML Body** (`htmlBody`): string. The generated HTML body for the email.
- **Suggested Subject** (`subject`): string. The suggested subject line for the email.
- **Item Title** (`itemTitle`): string. The SharePoint item title or file name.
- **Item URL** (`itemUrl`): string. A link back to the SharePoint item.
- **Is New Item** (`isNewItem`): boolean. `true` when the result should be treated as a new-item alert.
- **Success** (`success`): boolean. `true` if the action completed successfully.
- **Message** (`message`): string. A human-readable message describing the result.
- **Error** (`error`): string. Error details when the action fails.

## Get Detailed Item Changes

### When to use this action

- you want structured JSON output
- you want to compare previous and current values for specific fields
- you want to build custom flow logic based on version-history changes

### Inputs

### Outputs

- **Changed Fields** (`changedFields`): array. The field-by-field comparison results.
- **Has Comparison Baseline** (`hasComparisonBaseline`): boolean. `true` if a distinct earlier version was found for comparison.
- **Is Baseline First Version** (`isBaselineFirstVersion`): boolean. `true` if the baseline version is the first version in the item's version history.
- **Current Version Label** (`currentVersionLabel`): string. The current version label, such as `5.0`.
- **Previous Version Label** (`previousVersionLabel`): string. The version label used as the comparison baseline.
- **Item Title** (`itemTitle`): string. The SharePoint item title or file name.
- **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.
- **Success** (`success`): boolean. `true` if the action completed successfully.
- **Message** (`message`): string. A human-readable message describing the result.
- **Error** (`error`): string. Error details when the action fails.

## Parse Compare From

### When to use this action

- you need to decode a trigger token
- you need specific-date or baseline decision logic
- you want to inspect the timestamp inside the token before calling the main actions

### Inputs

- **Compare From** (`compareFrom`): string. The `TriggerWindowStartToken` or raw SharePoint change token to decode.
- **Timezone** (`timezone`): string. Optional timezone for returning a local time as well as UTC.

### Outputs

- **Token Date Time UTC** (`tokenDateTimeUTC`): date-time. The timestamp from the token in UTC.
- **Token Date Time Local** (`tokenDateTimeLocal`): date-time. The timestamp converted to the selected timezone.
- **Decoded Token** (`decodedToken`): string. The decoded raw token value.
- **Is Base64 Token** (`isBase64Token`): boolean. `true` if the input token was base64 encoded.
- **Sequence** (`sequence`): integer. The SharePoint change sequence value inside the token.
- **List GUID** (`listGuid`): guid. The list or library GUID inside the token.
- **Token Version** (`tokenVersion`): integer. The token version number.
- **Token Type** (`tokenType`): integer. The SharePoint token type number.
- **Success** (`success`): boolean. `true` if the action completed successfully.
- **Message** (`message`): string. A human-readable message describing the result.
- **Error** (`error`): string. Error details when parsing fails.

## Which action should I choose?

Choose:

- `Get Detailed Item Alert HTML` when you want a ready-to-send alert email
- `Get Detailed Item Changes` when you want structured before-and-after values for flow logic
- `Parse Compare From` when you need to inspect or make decisions based on trigger-token timing
