Network Management

Node Custom Property Not Resolving in Alert Macros in the SolarWinds Platform

In SolarWinds Platform, a node custom property may not resolve correctly in alert actions (for example, ServiceNow incident creation or email actions).

First published date

2/9/2026 5:07 PM

Last published date

2/9/2026 5:07 PM

Overview

  1. A node has a custom property Support Team set to Networking.

  2. An alert triggers on that node (for example, “Node is down”).

  3. The alert trigger action (e.g., “Send an Email/Page” or “Create ServiceNow Incident”) uses:

    ${N=SwisEntity;M=Node.CustomProperties.SupportTeam}
  4. Observed behavior:

    • The field in the email / ServiceNow payload does not show “Networking”, or

    • The value is blank or different than expected.

  5. In MacroParser.log, a warning is logged:

    WARN  SolarWinds.Orion.Core.Common.MacroParsing.SwisEntityMacroParserPlugin - (null)  The following variables are not available in Swis Entity macro parser plugin - Node.CustomProperties.SupportTeam
    

 

Product section

Network Performance Monitor

Cause

The issue is caused by using an incorrect macro path for the current alert entity type.

Key concepts

  • In alert macros, SwisEntity represents the object type the alert is defined on:

    • Node-based alert → SwisEntity is Orion.Nodes

    • Interface-based alert → SwisEntity is Orion.NPM.Interfaces

    • Volume-based alert → SwisEntity is Orion.Volumes

    • Application-based alert → SwisEntity is Orion.APM.Application, etc.

  • Navigation in macros must follow valid relationships for that entity:

    • On Node-based alerts, SwisEntity is already the node, so you go directly to CustomProperties.

    • On child-object alerts (Interfaces, Volumes, Applications), you hop from the child up to the parent node using .Node. and then to CustomProperties.

Resolution

Resolution

Use the correct macro syntax for the <customPropertyName> custom property depending on the alert entity type.

1. Confirm the alert entity type

  1. Go to Settings → Alerts & Reports → Manage Alerts.

  2. Edit the affected alert.

  3. On the Trigger Conditions tab, check the top drop-down:

    • If it says Node, the alert entity is Orion.Nodes.

    • If it says Interface, Volume, Component, Application, etc., the alert entity is something else.

2. Correct macro for Node-based alerts

If the alert is Node-based:

  • Ensure the internal name of the node custom property is :

    1. Go to Settings → Manage Custom Properties.

    2. Open Nodes.

    3. Check the Internal Name for the <customPropertyName> property:

      • It should be  (no spaces).

  • In your alert trigger actions (email, HTTP, ServiceNow, etc.), use:

    ${N=SwisEntity;M=CustomProperties.<customPropertyName>}

    e.g.
    ${N=SwisEntity;M=CustomProperties.SupportTeam}

    Do not use Node.CustomProperties.<customPropertyName> in a Node-based alert, use it only on Interface - , Volume - , or Component, Application - based alert.