--- title: "Pipeline - Filter on Alarm Priority" --- # Pipeline - Filter on Alarm Priority > :::note > To learn more, go to [Configuring Alarms](platform/alarming/configuring-alarms/configuring-alarms.md), [Alarm Notification](../../alarm-notification.md), and [On-call Rosters](../../on-call-rosters/on-call-rosters.md). > You can create a filter for an alarm priority in an alarm notification pipeline that notifies a different list of users based on the alarm's priority. > ::: There are two [pipeline blocks](../pipeline-blocks/pipeline-blocks.md) that can be used for filtering, either the **Switch block** or the **Expression block**. The Switch block allows you to switch on the priority, doing something different for every single priority that exists. The Expression block allows you to check for a specific priority, and it returns either a ‘True’ or ‘False’ value. You can do something if it is ‘True’ and something else if it is ‘False.’ This example uses the Expression block. In this example, we already have two On-Call Rosters set up named "Critical" and "NonCritical." To Filter on Alarm Priority, do the following: 1. Drag an **Expression block** into your pipeline. 2. Connect the **Start** to the **IN** of the Expression block. You will notice that the Expression block is going to return a **True** or **False** value. ![](2020-08-24_11-45-27.png) 3. In this expression, you want to check for the alarm’s priority. Go to the Pipeline Property Editor, click the **Alarm Properties** ![]() icon. 4. Select **Main** and then the **Priority** expression. **Priority** is a placeholder until you enter the priority value you want to filter on. When the alarm is triggered, it will be replaced with the actual priority of that alarm. ![](2020-08-24_11-29-35.png) 5. Alarm priorities have predefined integer values for filtering and sorting. Because this value is an int, you can test against it using `=`, `<`, `>`, `>=`, or `<=`. In this example, we are going to filter for all alarms with a priority of `Critical`. **Critical** has a value of **4**. :::note Alarm Properties 0 = Diagnostic 1 = Low 2 = Medium 3 = High 4 = Critical Refer to [Tag Alarm Properties](platform\tags\tag-properties\tag-alarm-properties\tag-alarm-properties.md) for more information. ::: If the alarm priority is critical, the alarm will go to the output pin of the **True** value in the Expression block. If the priority is not critical, the alarm will go to the output pin of the **False** value. Notice, we are doing something different for each of these conditions. ![](2020-08-24_11-52-07.png) 6. Drag in a Notification block, and connect the **True** output pin into the IN of the Notification block. 7. In the Pipeline Block Editor under the **Notification** tab, choose the notification type. 8. On the **Contacts** tab, under the **On-call Roster** dropdown, select the Critical on-call roster list of people you want to email. ![](2020-08-24_11-54-29.png) 9. Drag in a second **Notification Block**, and connect the '**False**' output into the **IN** of the Notification block. In the Pipeline Block Editor, under the Notifications tab, choose the **notification type**. In the Contacts tab, under the On-call Roster icon, select the **Noncritical** on-call roster. The Critical list is a different list of people from the Non Critical list. ![](2020-08-24_11-57-10.png) Now, the alarm notification pipeline notifies different lists of people based on the alarm's priority.