Skip to content

AppliesTo Toolbox

The AppliesTo Toolbox helps you build and test AppliesTo expressions before applying them to LogicModules. See exactly which resources match your expression.

MethodAction
Welcome ScreenClick AppliesTo Toolbox on the welcome screen
Keyboard ShortcutPress Cmd+K, A to open directly
Module DetailsClick the AppliesTo field when editing module details

AppliesTo Toolbox with expression editor and matching resources

The main text area for writing AppliesTo expressions:

  • Multi-line support for complex expressions
  • Parenthesis matching and highlighting
  • Real-time syntax hints
  • Undo/redo support

Buttons for common operators:

&&||!( )==!==~!~>>=<<=
OperatorUsage
&& or andLogical AND — both conditions must match
|| or orLogical OR — either condition matches
! or notLogical NOT — negates the condition
()Grouping — control operator precedence
==Equals — exact value match
!=Not equals — value doesn’t match
=~Regex match — pattern matching (case insensitive)
!~Regex not match — pattern doesn’t match
>, >=, <, <=Comparison — numeric comparisons

Click Test AppliesTo to evaluate the expression against all resources in your portal.


Match devices with a specific property value:

system.displayname == "web-server-01"

Use =~ for pattern matching with regex:

system.displayname =~ "web-.*"

Combine with AND/OR:

// Devices that are Linux AND in Production
system.sysinfo =~ "Linux" && system.staticgroups =~ "Production"
// Devices that are either routers or switches
system.sysoid =~ "1.3.6.1.4.1.9" || system.categories =~ "switch"

Use parentheses for complex logic:

(system.sysinfo =~ "Linux" || system.sysinfo =~ "Windows")
&& system.staticgroups =~ "Monitored"

Use built-in and custom functions:

hasCategory("Windows") && !hasCategory("test")

Click Function Reference to expand the available functions panel.

Functions are organized by category:

CategoryFunctions
Basictrue(), false()
Propertiesexists(), getPropValue(), getCollectorVersion()
CategorieshasCategory()
Arrayscontains(), join()
StringsstartsWith()
Mathsum()
Device TypesisDevice(), isCollectorDevice()
Cloud ServicesisAWSService(), isAzureService(), isGCPService()
Operating SystemsisWindows(), isLinux(), isUnix(), isSolaris(), isFreebsd()
InfrastructureisNetwork(), isStorage(), isVirtualization(), isMisc()
VendorsisCisco(), isF5(), isNetApp(), isNetscaler(), isArubaSwitch()
FeaturesisNetflow(), isK8sPod()

Click any function in the reference panel to see its syntax, parameters, and examples.

  1. Find the function in the reference panel

  2. Click the Insert button next to it

  3. Function is added at cursor position

  4. Fill in the arguments


  • Edit Function — Find the function → Click Load → Modify expression → Click Update Function
  • Delete Function — Find the function → Click delete icon → Confirm deletion

After clicking Test AppliesTo, results show matching resources:

ColumnDescription
IDResource ID
TypeDevice, Service, etc.
NameDisplay name
HostnameSystem hostname (devices only)

The header shows total matches: “15 resources match”

StateDescription
Matches Found Resources matching your expression are listed
No Matches Expression is valid but no resources match
Syntax Error Expression has errors (see error display)

Invalid expressions show an error message:

  • Red error banner
  • Description of the issue
  • Approximate location hint
ErrorCauseFix
Unexpected tokenMissing operatorAdd && or || between conditions
Unclosed stringMissing quoteClose all string literals
Unknown functionTypo in function nameCheck spelling in reference
Invalid regexBad regex patternValidate regex syntax

The editor provides autocomplete suggestions:

Start typing a property name to see suggestions:

  • system. shows system properties
  • auto. shows auto-properties
  • Custom property prefixes

Type the start of a function name to see matching functions.

Autocomplete activates automatically, or press Ctrl+Space to trigger manually.


  • Start Simple — Begin with a single condition. Verify it matches expected resources. Add conditions one at a time, testing after each addition.
  • Use Parentheses — Complex expressions benefit from explicit grouping: (A && B) || C is clearer than A && B || C.
  • Test Edge Cases — Verify resources that should match do, and resources that shouldn’t don’t. Check boundary conditions.
  • Document Logic — Use the description field for custom functions to explain the logic for future reference.

When editing module details:

  1. Click the AppliesTo field in the module details editor

  2. The toolbox opens with the current expression pre-loaded

  3. Modify and test your expression

  4. Save to update the module’s AppliesTo