Events & Conditions

Overview

Events and conditions are powerful workflow objects that serve multiple purposes. They are capable of triggering workflow execution upon the occurrence of a particular event or when a specific condition is met. For instance, a time-based event can be used to start a task at a specific time of day and a condition-based object can start a task in response to certain conditions that take place on the system, such as when a user logs on, when a process starts or when a specific application window appears on the desktop. The beginning of each workflow can contain one or more triggering conditions, allowing it to be started in many ways.

Conditions can also be used as rules that apply conditional logic to a workflow, thus making it more intelligent. A rule establishes a condition where the workflow performs the associated task/process only if that condition is true. For example, conditions can determine a workflow’s path or split a workflow process into two branches according to whether a specific condition is met or not. In addition, conditions can be used to route complex workflow processes as conditional objects at any point during the course of a workflow to cause it to wait until a certain condition is met.

NOTE: Unlike earlier versions, Automate Enterprise allows expressions and constants to be entered in the properties of an event or condition. The value of the expression or constant will be evaluated at the time the event/condition is set. An event or condition is set upon agent connection, when the event/condition is edited or when the workflow containing the event/condition is edited.

Available Events & Conditions

Below is an alphabetical list of the available events and conditions Automate Enterprise provides, with links to the topics covering each type:

Icon Condition Description
Database condition Triggers task execution when a specific operation is performed on a SQL or Oracle database.
Email condition Evaluates to TRUE when an email is sent or received matching pecified conditions.
Event Log condition Evaluates to TRUE when the monitored event appears in the Windows Event Log.
File condition Evaluates to TRUE when one or more files are added, modified or deleted in the folder specified. Can also monitor for when the number of files exceeds the amount specified,  when one file size exceeds the amount specified or when the total size of the specified folder exceeds the amount specified.
Idle condition Launches a task when no keyboard or mouse input occurs for the specified period of time (i.e. the system is idle).
Keyboard event Launches a task when a hot-key combination is pressed or a specific word is typed on the keyboard.
Performance condition Launches a task when a system or process threshold (such as CPU utilization and memory usage) is met.
Process condition Launches a task when the specified process starts, ends or stops responding.
Schedule event Launches a task at the date, time or interval specified. This trigger can be used for scheduling tasks to run at night or at the end of every work-day, week, month or other time frame.  
Service condition Launches a task when the specified service starts, stops, pauses, resumes or stops responding.
SNMP Trap condition Launches a task when a SNMP (Simple Network Management Protocol) trap is received.
Logon condition Launches a task when the Automate task service starts or when a user logs onto the system.

SharePoint condition Launches a task when a monitored SharePoint event occurs.

Window condition Launches a task when the specified window opens, closes, is focused or loses focus.

WMI condition Launches a task when a WQL (WMI Query Language) query executed on the agent machine returns true or more than 0 rows. Queries built using WQL are used to manage and control the WMI Service.   
NOTE: Non-licensed events and conditions will appear opaque. Selecting an unlicensed object will generate an error. For more on licensing individual objects, see Licenses.

Difference Between Events and Conditions

Events

An event is essentially an occurrence or instance that transpires resulting in the start of a workflow. For example, the Keyboard event can automatically start a workflow in the event that a specific hot-key combination is entered or a particular word is typed. An event can be something that occurs during a particular time period or time interval as well. For example, the Schedule event can trigger workflow execution once the specified date/time occurs. Events are typically defined as one time occurrences. Because of this, it is important to note that events in Automate Enterprise are used primarily as a "triggering" objects, thus, can only exist in the beginning of a workflow.

Conditions

A condition is similar to an event in that it can automatically start a workflow if/when a condition results to true. However, unlike an event, which is essentially a one time occurrence, a condition can have a duration. For example, when a new file is added to a folder, whether it was copied, moved or saved to that folder upon creation, the addition of the file in that folder is considered an event and the existence of the file in that folder is considered a condition. The event is “when” the file exists and the condition is “if” the file exists. Therefore, conditions influence workflows in a more versatile manner because not only can they trigger the start of a workflow when a condition is true, they can also be used as a conditional object throughout the course of a workflow to determine its path contingent on if a condition is true or used as a wait object that suspends workflow execution until a condition is true.

For example, a File condition can be used in the following scenarios (also illustrated below):

  • Trigger - Start a workflow when a particular file exists in a folder (i.e. When File X exists in Folder A, start the workflow).
  • Wait mechanism - Pause workflow execution until a particular file exists in a folder (i.e. Pause execution and wait for File Y to exist in Folder A before continuing).
  • Conditional construct - Alter the course of a workflow depending on whether a particular file exists in a folder (i.e. If File Z exists in Folder A, run Task 3. If it does not exist, run Task 4  instead).

Multi-triggering Conditions

Multiple events or conditions of the same or differing types can be used to trigger workflow execution. For example, if a workflow should start every day at midnight, add a Schedule event. If it should also start when a particular user logs onto the system, add a Logon condition. Finally, if it should start when a specific event is logged, add an Event condition as well. When multiple conditions are attached to the beginning of a workflow (as illustrated below), they are treated as "OR" conditions (as opposed to "AND" conditions) whereby occurrence of either of the conditions will start the workflow. Using the example below, Report Task will execute at midnight or when a user logs on or when a specific event is logged.

Multi-task Execution

A single triggering condition can be set to start multiple tasks within a single workflow (as shown below). The default behavior in this scenario (assuming task priority settings have not been altered) is that Task 1, Task 2 and Task 3 are executed simultaneously upon the occurrence of the specified condition. or one right after the other according to its Priority settings)

NOTE: AND conditions can be created by attaching the first requirement as a condition and then adding steps at the beginning of the task that use the If - Condition activity to evaluate any extra conditions and stop the task if the conditions are not met.

AMTrigger and AMCondition

When a task is started by an event or condition, it automatically creates a dataset called AMTrigger. This dataset can be used within a task to determine specific elements about the object that initially triggered the task, such as which trigger started the task, when the task was triggered, which agent ran the task, etc. See Using AMTrigger for more information.

When a condition is not used as an object that triggers the start of a workflow, but rather, it is initiated in the middle of a workflow, a similar dataset called AMCondition is created instead. See Using AMCondition for more information.