---
title: "Automated Actions: How To Pass Trigger-Related Parameters"
slug: "automated-actions-how-to-pass-trigger-related-parameters"
description: "Use the CUTriggerObject PowerShell object to pass trigger-related information to follow-up actions, such as scripts or emails"
updated: 2025-07-02T18:44:52Z
published: 2025-07-02T18:44:52Z
canonical: "support.controlup.com/automated-actions-how-to-pass-trigger-related-parameters"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.controlup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Automated Actions: How To Pass Trigger-Related Parameters

An advanced feature of [triggers](/tim-reorg/docs/setting-up-triggers) is the capability to pass trigger-related parameters to follow-up actions. For example, you can pass crossed threshold values, trigger names, or stress levels to emails or scripts. From version 9.0.5, you can [configure trigger actions with PowerShell cmdlets](/v1/docs/powershell-cmdlets-for-trigger-actions).

## How To Use

To pass trigger-related information to a script action, you need to use the **`$CUTriggerObject`** variable. See below an overview of available properties, the trigger types for which you can use each property, and the parameter name you need to use for each use case.

          **Note**

          

Not all properties are supported by every trigger type. To determine which properties are available for a specific trigger, refer to the Trigger Type column.

| Property | Description | Trigger Type | Parameter Name |
| --- | --- | --- | --- |
| TriggerName | The name of the trigger, as specified by the user in the Trigger Settings screen | All | **`$CUTriggerObject.TriggerName`** |
| ReportedBy | The entity that reported the incident | All | **`$CUTriggerObject.ReportedBy`** |
| Timestamp | The time at which the incident occurred (in the triggering Monitor's timezone) | All | **`$CUTriggerObject.Timestamp`** |
| UTCTimestamp | The time at which the incident occurred (UTC) | All | **`$CUTriggerObject.UTCTimestamp`** |
| Timezone | The triggering Monitor's timezone | All | **`$CUTriggerObject.Timezone`** |
| Column | The name of the column | Advanced, Scheduled, Stress Level | **`$CUTriggerObject.Columns[index].Column`** |
| ColumnSeverityLevel | Severity Level | Advanced, Scheduled, Stress Level | **`$CUTriggerObject.Columns[index].ColumnSeverityLevel`** |
| ColumnTimestamp | For Advanced triggers, the time at which the column was changed; for Stress triggers, the time at which the stress on the column began. The time given is for the triggering Monitor's timezone. | Advanced, Scheduled, Stress Level | **`$CUTriggerObject.Columns[index].ColumnTimestamp`** |
| ColumnUTCTimestamp | For Advanced triggers, the time at which the column was changed; for Stress triggers, the time at which the stress on the column began. The time given is UTC. | Advanced, Scheduled, Stress Level | **`$CUTriggerObject.Columns[index].ColumnUTCTimestamp`** |
| ColumnCrossedThreshold | For Advanced triggers, the threshold that was set for the column; for Stress triggers, the stress threshold that was set for the trigger | Advanced, Scheduled, Stress Level | **`$CUTriggerObject.Columns[index].ColumnCrossedThreshold`** |
| ColumnValueBefore | For Advanced triggers, the column's value before it was changed | Advanced, Scheduled | **`$CUTriggerObject.Columns[index].ColumnValueBefore`** |
| ColumnValueAfter | For Advanced triggers, the column's value after it was changed | Advanced, Scheduled | **`$CUTriggerObject.Columns[index].ColumnValueAfter`** |
| EventSource | Source field of the event | Advanced, Scheduled | **`$CUTriggerObject.Event.EventSource`** |
| EventType | Level field of the event in the EventLog | Windows Event | **`$CUTriggerObject.Event.EventType`** |
| EventID | Event ID | Windows Event | **`$CUTriggerObject.Event.EventID`** |
| EventFullMsg | Event content | Windows Event | **`$CUTriggerObject.Event.EventFullMsg`** |
| ValueBefore | Session state before it changed | Advanced, Scheduled | **`$CUTriggerObject.Session.ValueBefore`** |
| ValueAfter | Session state before it changed | Advanced, Scheduled | **`$CUTriggerObject.Session.ValueAfter`** |

## Simple Use Case

The following use case creates a trigger that fires when the free space on disk is lower than 50 GB. This triggers an Automated Action (trigger that runs a script as a follow-up action) that passes information about the trigger to the script.

1. Create a script with the following content shown below. What this script does is to write a **`CUTriggerObjectValue.txt`** in **C:\tmp**.

```
$OutputFile = "C:\tmp\CUTriggerObjectValues.txt"
Clear-Content $OutputFile

Add-Content -Path $OutputFile -Value "The CUTriggerObject values:`n"
Add-Content -Path $OutputFile -Value "TriggerName: $($CUTriggerObject.TriggerName)"
Add-Content -Path $OutputFile -Value "ReportedBy: $($CUTriggerObject.ReportedBy)"
Add-Content -Path $OutputFile -Value "Timestamp: $($CUTriggerObject.Timestamp)"
Add-Content -Path $OutputFile -Value "UTCTimestamp: $($CUTriggerObject.UTCTimestamp)"
Add-Content -Path $OutputFile -Value "Timezone: $($CUTriggerObject.Timezone)"

if ($null -ne $CUTriggerObject.Columns) {
    for ($i = 0; $i -lt $CUTriggerObject.Columns.Count; $i++) {
        Add-Content -Path $OutputFile -Value "Columns.Column: $($CUTriggerObject.Columns[$i].Column)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnSeverityLevel: $($CUTriggerObject.Columns[$i].ColumnSeverityLevel)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnTimestamp: $($CUTriggerObject.Columns[$i].ColumnTimestamp)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnUTCTimestamp: $($CUTriggerObject.Columns[$i].ColumnUTCTimestamp)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnCrossedThreshold: $($CUTriggerObject.Columns[$i].ColumnCrossedThreshold)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnValueBefore: $($CUTriggerObject.Columns[$i].ColumnValueBefore)"
        Add-Content -Path $OutputFile -Value "Columns.ColumnValueAfter: $($CUTriggerObject.Columns[$i].ColumnValueAfter)"
    }
} else {
    Add-Content -Path $OutputFile -Value "No columns were passed.`n"
}
```

![script pane displayed.](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/image-NWV68YUX.png)

1. Create an Advanced Trigger and create a **To this state:** condition and add the condition as shown in the screenshot below ![Edit Trigger window and Filter editor windows displayed with condition selected.](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/image-3H2THFPU.png)
2. In our case, the disk space on the system drive of the machine "MONITOR" falls below the trigger condition of "50 GB and below. This immediately triggers the script to run. ![Monitor machine selected.](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/image-CTOQ6OO3.png)
3. Upon examining the text file, we can confirm that the trigger successfully populated the values in it: ![Notepad window displaying CU Trigger Object Values.](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/image-ENS9X8ZX.png)

Refer to this example for how the object **`$CUTriggerObject`** can be used in triggers.
