--- title: "Pipeline - Escalation" --- # Pipeline - Escalation > >
## How to Setup Escalation Procedures It is possible to setup escalation procedures in [alarm notification pipelines](alarming\alarm-notification\alarm-notification-pipelines\alarm-notification-pipelines.md) in Ignition. The following example will create a pipeline that notifies operators three times. If a user does not acknowledge the alarm after the third time, the alarm escalates to the Production Supervisor’s on-call roster. The following example requires that two separate [on-call rosters](alarming\alarm-notification\user-schedule-and-roster-management\on-call-rosters.md) have been configured ("Production Supervisors" and "Operators"), as well as an [email notification profile](alarming\alarm-notification\notification-profile-types\email-notification-profile.md). 1. In the **Project Browser** under the **Alarm Notification Pipelines**, create a New Alarm Pipeline called ‘**Escalate**’. 2. In order to keep track of how many times the operators get notified, create a counter using the [Set Property block](alarming\alarm-notification\alarm-notification-pipelines\pipeline-blocks\pipeline-blocks.md#set-property-block) inside your pipeline. Drag the Set Property Block to the Pipeline Workspace and connect the **START** block to the IN of the Set Property block. In the Pipeline Block Editor, set the **Property Name** to ‘**numCalls**’ and initialize the **Property Value** to ‘**0**’. ![Pipeline Escalation Step .png](pipeline-escalation-step-2.png) 3. Drag the **Notification Block** to the Pipeline Workspace and connect the OUT from the Set Property block to the IN of the Notification block. In the **Pipeline Block Editor**, set the Notification to use '**Email**' and set the Contacts to use the '**Operators**' on-call roster. ![Pipeline Escalation Step 3](pipeline-escalation-step-3.png) 4. A Delay Block will be added so the operators have some time to respond to the alarm before another notification is immediately sent out. Drag in the **Delay Block** and connect the **OUT** from the Notification block to the **IN** of the Delay block. In the Pipeline Block Editor, set the Delay property for '**300**' **seconds**. It will give the operators 5 minutes to respond to the alarm before going to the next block. ![Pipeline Escalation Step 4.png](pipeline-escalation-step-4.png) 5. If the alarm is still active and not acknowledged, the counter will increment by 1. In order to increment the counter, drag in another **Set Property Block** and connect the **OUT** of the Notification block to the **IN** of the Set Property block. You can right click on the Set Property block to **reverse the orientation**. :::note **A Note on Syntax** The Set Property Block's **Property Value** uses Ignition's Expression language. More information on the Expression language can be found on the [Expression Overview and Syntax](visualization-and-dashboards\property-binding-types\expression-binding\expression-overview-and-syntax.md) page. ::: In the Pipeline Block Editor, set the **Property Name** to ‘**numCalls**'. In the **Property Value Expression** type in, `{numCalls} + 1`. In this expression, use the curly braces to refer to that variable so the counter gets incremented by 1. ![Pipeline Escalation Step 5.png](pipeline-escalation-step-5.png) 6. The **Expression Block** will check to see if '**‘numCalls’ is < 3**'. Drag in an Expression Block to your pipeline workspace and right click on the Expression block to reverse the orientation. Connect the **OUT** of the Set Property block to the **IN** of the Expression block. Since the value of ‘numCalls is less than 3, the alarm event will follow the ‘True’ path. Connect the ‘**True**’ output to the **Operator Notification block**. ![Pipeline Escalation Step 6.png](pipeline-escalation-step-6.png) 7. If the '**numCalls is > 3**', the alarm event will follow the ’False’ path and it will escalate to the Production Supervisors. Drag in another **Notification Block** and reverse the block orientation. In the Pipeline Block Editor, set the Notification to use ‘**Email**’ and set the Contacts to use the ‘**Production Supervisors**’ on-call roster. Connect the ‘**False**’ pin to the **IN** of the **Production Supervisors Notification block**. ![Pipeline Escalation Step 7.png](pipeline-escalation-step-7.png) As you can see, when the Escalate Pipeline sets the ‘numCalls’ variable to a value of 0, it’s going to notify the Operators on-call roster through email that the alarm is active. It will wait 5 minutes, and if the alarm is still active, it will increment the counter by 1. This will repeat until the ‘numCalls’ is > 3. After the 3rd time, if the alarm is still active and in the pipeline, then the Production Supervisors will be notified. Keep in mind, that if the alarm at any point meets the dropout conditions, it will not go to the next block of the pipeline. :::tip You can also use the [Jump Block](alarming\alarm-notification\alarm-notification-pipelines\pipeline-blocks\pipeline-blocks.md) as your escalation instead of a second Notification Block. This will allow you to jump into another complete pipeline when nobody answers. :::