You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

New workflows are created using templates that have been created for you. These range from a blank alarm process which includes start and finish activities only to more complex work flows that escalate alarms via email or SMS.

Business Partner Major Alarm Template

The Partner Major Alarm process performs the following major functions based around the three notification options: the customer and/or business partner service desk, a user assigned to receive alerts and a callout list.

  • The workflow retrieves all the business partner, customer, location and alarm details for a given alarm.
  • It then waits for a period of time and then checks that the alarm is still active. If it is not active a 'resolved' email is formulated and sent to the business partner service desk and the workflow is terminated.
  • If the alarm is still active an email and SMS message is formulated and the business partner availability options are checked. Should an email be sent to the business partner service desk? If these options have been checked in configuration an email is sent.
  • The availability options are then checked to see if a callout list should be used. If using a callout list is not checked then an email is sent to an assigned user if one has been configured and the workflow is terminated.
  • If using a callout list has been configured then the workflow enters a loop to work through each engineer, messaging each in turn with a delay between each message until the list is exhausted. The loop then exits and the workflow is terminated. If the variable FirstCalloutEngineer is set to True in the global properties, the first engineer in the callout list is called twice before escalating to other engineers in the callout list.

Control Variables

The following variables control the functionality within the BP Major Alarm workflow.

  • FirstCalloutEngineer - If set to True the first engineer will be messaged twice before escalating to other engineers in the callout list. If False the first callout engineer will only be called once.
  • StopCalling - Once set to True, the callout functionality will exit and the workflow will end.
  • CalloutInterval - This sets the duration the messaging activities SendEmail and SendSMS will wait for a retry.

Alarm Details

  • On starting the workflow retrieves the customer, business partner, equipment and location details.
  • It then waits 4 minutes before using the Alarm ID and Location ID to determine if the alarm is still active.



Alarm Resolved

  • If the alarm is no longer active an email is formatted advising of the alarm details and that the alarm was resolved within 4 minutes and the workflow finishes.



Alarm Still Active - send to service desk

  • If the alarm is still active after a time period the callout list is retrieved and email and SMS messages formulated.
  • A check of the availability options is then made to see if send to the business partner service desk is checked or not. If Not then the workflow moves onto the next check which is the callout list is to be used.
  • If it is checked service desk email address is retrieved from the business partner configuration or the customer configuration and an email is sent.



Use Callout List - False

  • The availability options are then checked again to see if Use Callout List is checked.
  • If use callout list is not checked then messages will be sent to a defined user if one is defined.
  • A split is used to start two parallel processes send an email and a SMS message.
  • In each branch a check is made to see if the business partner user email address is populated and if the business partner user mobile phone number is populated.
  • If either or both of these are populated then the appropriate message(s) are sent and the workflow is terminated.



Use Callout List - True

  • If Use Callout List is true the workflow branches out to the callout functionality.
  • First the stop calling variable is set to False. This will be set to True by the callout function when a reply is received from the callout engineer indicating they have received the alarm.
  • The For Each activity is the start of a loop that will iterate through the callout list, selecting each list member in rank order. When the list is exhausted the workflow will terminate, otherwise the workflow moves to the next activity to check the state of the StopCalling variable.
  • If the StopCalling variable is true meaning a reply has been received then the workflow will terminate otherwise the workflow moves to the next activity to get the details of the callout engineer.
  • The ForEachCalloutEngineer provides a single item from the callout list that contains all the details of that particular engineer. The GetCalloutDetails activity extracts the email address, and SMS number from the item and puts them into variables to be used in the callout process.
  • The workflow then splits to email and SMS the engineer in parallel.



Callout Process

The same process is used for both email and SMS in parallel. This process is described in general below.

  • First the destination address, either email or SMS is checked. If it does not exist then the callout process for that messaging channel will proceed to the end of that channels branch and wait for the other parallel process to complete.
  • If the destination address is populated then the Availability Option are tested to see if Alert Via SMS or Email are checked. If not checked then the callout process for that messaging channel will proceed to the end of that channels branch and wait for the other parallel process to complete.
  • If the address is populated and the alert via the channel is checked then a message is sent using the previously formatted messages and subject where appropriate. The send message activity is then instructed to wait for a time to see if a reply is received. If a reply is received the StopCalling variable is set to true and the workflow moves to the next activity otherwise it just times out and moves on.
  • The Send Email properties are shown below. Other than the email address, subject and message, this also shows wait for reply checked which causes the workflow to wait for the period defined in the CalloutInterval variable as well as setting the StopCalling variable to True if a reply is received during the wait for reply period.


  • The next step is to see if the StopCalling variable has been set to True. If it has, the callout process goes to the end of the callout function.
  • If StopCalling is not True, then a check of the FirstCalloutEngineer variable is tested. This is set in the Start activities global variable list. If it is set to False then the workflow goes to the end of the callout function.
  • If FirstCalloutEngineer is True then a second message is sent to the callout engineer. Again the send message activities are configured to wait for a reply for a period of time before moving to the next activity.
  • In either case, a reply received or not the next step is to set the FirstCalloutEngineer variable to False so that the next engineer is not messaged twice.
  • Finally the two callout branches merge at MergeCallouts where both branches must complete before proceeding to the next engineer in the callout list.
  • This is the end of the first callout cycle.



Check Alarm Still Active

  • At the end of each callout cycle a check is made to see if the alarm is still active.
  • If the alarm is no longer active the StopCalling variable is set to True, otherwise it retains its current state.
  • This is the end of the ForEachCalloutEngineer loop and the workflow goes back to the ForEachCalloutEngineer activity.
  • If StopCalling is still False and there is at least one more engineer in the list the cycle will repeat otherwise the workflow will exit.


Customer Major Alarm Template

The Partner Major Alarm process performs the following major functions based around the three notification options: the customer and/or business partner service desk, a user assigned to receive alerts and a callout list.

  • The workflow retrieves all the business partner, customer, location and alarm details for a given alarm.
  • It then waits for a period of time and then checks that the alarm is still active. If it is not active the workflow is terminated.
  • If the alarm is still active an email and SMS message is formulated and the business partner availability options are checked. Should an email be sent to the customer service desk or if this is not populated the business partner service desk? If these options have been checked in configuration an email is sent.
  • The availability options are then checked to see if a callout list should be used. If using a callout list is not checked then an email is sent to an assigned user if one has been configured and the workflow is terminated.
  • If using a callout list has been configured then the workflow enters a loop to work through each member of the callout list, messaging each in turn with a delay between each message until the list is exhausted. The loop then exits and the workflow is terminated.

Control Variables

The following variables control the functionality within the BP Major Alarm workflow.

  • StopCalling - Once set to True, the callout functionality will exit and the workflow will end.
  • CalloutInterval - This sets the duration the messaging activities SendEmail and SendSMS will wait for a retry.

Alarm Details

  • On starting the workflow retrieves the customer, business partner, equipment and location details.
  • It then waits 4 minutes before using the Alarm ID and Location ID to determine if the alarm is still active.



Alarm Resolved

  • If the alarm is no longer active the workflow finishes immediately without sending a message.


Alarm Still Active

  • If the alarm is still active after a time period the callout list is retrieved and email and SMS messages formulated.
  • A check of the customer configuration is then made to see if the customer service desk email address is populated or not. If it is then an email is sent to the customer service desk.
  • If Not a check of the customer configuration is then made to see if the business partner service desk email address is populated or not. If it is then an email is sent to the business partner service desk email address.



Use Callout List - False

  • The availability options are then checked again to see if Use Callout List is checked.
  • If use callout list is not checked then messages will be sent to a defined user if one is defined.
  • A split is used to start two parallel processes send an email and a SMS message.
  • In each branch a check is made to see if the customer user email address is populated and if the customer user mobile phone number is populated.
  • If either or both of these are populated then the appropriate message(s) are sent and the workflow is terminated.



Use Callout List - True

  • If Use Callout List is true the workflow branches out to the callout functionality.
  • First the stop calling variable is set to False. This will be set to True by the callout function when a reply is received from the callout person indicating they have received the alarm.
  • The For Each activity is the start of a loop that will iterate through the callout list, selecting each list member in rank order. When the list is exhausted the workflow will terminate, otherwise the workflow moves to the next activity to check the state of the StopCalling variable.
  • If the StopCalling variable is true meaning a reply has been received then the workflow will terminate otherwise the workflow moves to the next activity to get the details of the callout person.
  • The ForEachCalloutEngineer provides a single item from the callout list that contains all the details of that particular engineer. The GetCalloutDetails activity extracts the email address, and SMS number from the item and puts them into variables to be used in the callout process.
  • The workflow then splits to email and SMS the engineer in parallel.



Callout Process

The same process is used for both email and SMS in parallel. This process is described in general below.

  • First the destination address, either email or SMS is checked. If it does not exist then the callout process for that messaging channel will proceed to the end of that channels branch and wait for the other parallel process to complete.
  • If the destination address is populated then the Availability Option are tested to see if Alert Via SMS or Email are checked. If not checked then the callout process for that messaging channel will proceed to the end of that channels branch and wait for the other parallel process to complete.
  • If the address is populated and the alert via the channel is checked then a message is sent using the previously formatted messages and subject where appropriate. The send message activity is then instructed to wait for a time to see if a reply is received. If a reply is received the StopCalling variable is set to true and the workflow moves to the next activity otherwise it just times out and moves on.
  • The Send Email properties are shown below. Other than the email address, subject and message, this also shows wait for reply checked which causes the workflow to wait for the period defined in the CalloutInterval variable as well as setting the StopCalling variable to True if a reply is received during the wait for reply period.
  • Each messaging branch merges its own processing.
  • Both branches are then merged with synchronization set so that both branches need to have completed before the workflow progresses.



Check Alarm Still Active

  • At the end of each callout cycle a check is made to see if the alarm is still active.
  • If the alarm is no longer active the StopCalling variable is set to True otherwise it retains its current state.
  • This is the end of the ForEachCalloutEngineer loop and the workflow goes back to the ForEachCalloutEngineer activity.
  • If StopCalling is still False and there is at least one more engineer in the list the cycle will repeat otherwise the workflow will exit.


  • No labels