Skip to main content

Action Conditions

Restrict when an action runs using conditions based on OS, device type, custom fields, variables, and prior action outcomes.

Updated this week

Introduction

Conditions let you control whether an individual action actually executes during an automation run. Use them to skip an action on certain device types, target specific OS versions, check a custom field value, or branch based on what a previous action did.


How Action Conditions Work

Conditions are configured per action, not per automation. Each action in your pipeline can have its own independent condition set.

When an automation run reaches an action, Level evaluates that action's conditions against the current device. If every condition is satisfied, the action runs. If any condition isn't met, the action is skipped for that device.

Multiple conditions use AND logic — every condition must be satisfied for the action to run. There's no OR option within a single action. If you need OR-style behavior, duplicate the action and apply different conditions to each copy.

ℹ️ NOTE: Action conditions are evaluated at runtime, against the specific device being processed. They're not evaluated at trigger time — a device can pass trigger conditions and still have individual actions skipped based on action conditions.


Configuring Conditions

Conditions are set inside the action configuration panel when adding or editing an action.

ℹ️ NOTE: Actions are only editable in edit mode. From the pipeline view, click Edit in the top-right corner to enter edit mode. Clicking an action outside of edit mode opens a read-only panel showing run history.

  1. Open the action configuration panel by clicking an existing action or adding a new one.

  2. Expand the Conditions section.

  3. Click the Condition dropdown and select a condition type.

  4. Set the association (if applicable), operator, and value.

  5. To add another condition, click + Add new condition.

  6. To remove a condition, click Remove next to it.

  7. Click Save to apply.

Configuring Conditions

Condition Reference

ℹ️ NOTE: OS values are populated dynamically from the OS versions present in your device inventory. If your environment only has Windows devices, only Windows versions will appear. Empty dropdowns mean Level hasn't detected any devices with that attribute yet.


Platform

Filter by the device's operating system family.

Operator

Description

Equal to

Device OS matches one of the selected platforms

Not equal to

Device OS does not match any of the selected platforms

Values: Windows, macOS, Linux. Multiple values can be selected.


Tag

Filter by tags applied to the device.

Operator

Description

Equal to

Device has all of the selected tags

Not equal to

Device does not have any of the selected tags

Select one or more tags from your organization's tag list.


Group

Filter by the device group the device belongs to.

Operator

Description

Equal to

Device is a member of one of the selected groups

Not equal to

Device is not a member of any of the selected groups

Select one or more groups from your group hierarchy.


Status

Filter by whether the device is currently online or offline.

Operator

Description

Equal to

Device status matches the selected value

Not equal to

Device status does not match the selected value

Values: Online, Offline.


Last seen (in days)

Filter by how many days have passed since the device last checked in with Level.

Operator

Description

Greater than

Device was last seen more than N days ago

Greater than or equal to

Device was last seen N or more days ago

Less than

Device was last seen fewer than N days ago

Less than or equal to

Device was last seen N days ago or fewer

Enter a whole number of days as a free-text value.


Architecture

Filter by the device's CPU architecture.

Operator

Description

Equal to

Device architecture matches the selected value

Not equal to

Device architecture does not match the selected value

Values: amd64, arm64.


Hostname

Filter by the device's hostname.

Operator

Description

Equal to

Hostname exactly matches the entered value

Not equal to

Hostname does not match the entered value

Contains

Hostname includes the entered string

Does not contain

Hostname does not include the entered string

Enter the hostname value manually. Matching is case-insensitive.

💡 TIP: Use Contains to target naming conventions — for example, filtering to devices whose hostname includes SRV or a client prefix.


Variable

Filter based on a variable defined in this automation. The association dropdown lists every variable created for the current automation — variables from other automations don't appear here.

Operator

Description

Contains

Variable value includes the entered string

Does not contain

Variable value does not include the entered string

Equal to

Variable value exactly matches the entered string

Not equal to

Variable value does not match the entered string

Enter the value to compare against as free text.


Custom field

Filter based on a custom field value on the device.

Select the custom field from the association dropdown. The list shows all custom fields configured in your organization.

Operator

Description

Contains

Field value includes the entered string

Does not contain

Field value does not include the entered string

Equal to

Field value exactly matches the entered string

Not equal to

Field value does not match the entered string

Enter the value to compare against as free text.

💡 TIP: Custom field conditions are useful for branching automation logic by client or site — for example, running an action only on devices where a specific field is populated, or skipping an action where a field indicates a known incompatibility.


Type

Filter by device type.

Operator

Description

Equal to

Device type matches the selected value

Not equal to

Device type does not match the selected value

Values: Workstation, Server.


OS

Filter by the device's specific OS version.

Operator

Description

Equal to

OS version matches the selected value

Not equal to

OS version does not match the selected value

Values are populated from the OS versions present in your device inventory — examples include Windows 11, Windows Server 2022, macOS Sonoma, Debian. Your list reflects what's actually enrolled.

ℹ️ NOTE: OS values are specific version names, not OS families. To filter broadly by operating system type (Windows, macOS, Linux), use a Platform condition in the trigger instead — or use multiple OS conditions with a separate action copy per platform.


Action status

Filter based on the outcome of a previous action in the same automation run, on the same device. The association dropdown lists all actions that appear before this one in the pipeline.

Operator

Description

Equal to

Prior action result matches the selected status

Not equal to

Prior action result does not match the selected status

Value

Description

Success

The prior action completed without errors

Failed

The prior action encountered an error

Skipped

The prior action was skipped (its own conditions weren't met)

💡 TIP: Action status conditions are the primary tool for building conditional logic in automation pipelines. For example: run a script, then use an Action status = Failed condition on the next action to send a notification or create an alert only if something went wrong.


FAQ

  • Do action conditions evaluate every time the automation runs, or just once? Every time. Conditions are evaluated fresh on each run, against each device being processed. A device that was skipped last run will be evaluated again on the next one.

  • Can I use OR logic between conditions on the same action? No. Multiple conditions on the same action always use AND logic — every condition must be satisfied. To get OR-style behavior, duplicate the action and apply different conditions to each copy.

  • What happens to subsequent actions if this action is skipped? The automation continues to the next action. Skipping an action doesn't halt the run — only a failed action (depending on your error handling settings) would do that.

  • Can I branch my automation based on whether a script succeeded or failed? Yes. Add an Action status condition to the actions that should run conditionally, and set the value to Success or Failed based on the prior Shell action's result.

  • Who can configure action conditions? Technicians with permission to edit automations in the relevant group. See Workspace → Permissions for access control configuration.

Did this answer your question?