Workflow Activities for On-Call Scheduling

  • Release version: Xanadu
  • Updated August 1, 2024
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Workflow Activities for On-Call Scheduling

    This documentation covers workflow activities available in ServiceNow's On-Call Scheduling for managing escalation processes. These activities allow customers to automate and track escalation events related to incidents or tasks, ensuring timely communication and response from on-call personnel through multiple channels.

    Show full answer Show less

    Key Features

    • Log Escalation Start: Creates an escalation record tied to a specific group, task, and workflow context. This activity initializes escalation tracking using identifiers like group sysid, task record, and escalation category, and defines communication channels such as email, SMS, voice, and Slack.
    • Log Escalation Level: Records details about each escalation level including the escalation ID, the on-call shift (rota), the escalation level number, and whether it is a catch-all level.
    • Log Escalation Attempt: Tracks attempts to contact escalated personnel at each escalation level, capturing attempt counts and related sysids.
    • Log Escalation Communication: Documents each communication sent during escalation attempts, specifying escalatee type (user or device), communication method (SMS, voice, email, Slack), status of the communication (sent or failed), and recipient details.
    • Log Escalation End: Marks the escalation as complete by deactivating the escalation record.
    • Send Notification: Sends notifications to the current escalatee using various channels including SMS, voice, Slack, Microsoft Teams, or mobile push, with customizable message content and parameters tailored to each notification type.
    • Manage Escalation Response: Manages escalation responses by inserting, cleaning, or updating escalation response records. This tracks how escalated users respond (accepted or rejected) via communication channels and supports workflow resumption based on these responses.

    Practical Application for ServiceNow Customers

    These workflow activities enable customers to build robust on-call escalation workflows that automate the lifecycle of escalations—from initiation through communication attempts to completion. Customers can configure escalation paths, track detailed communication interactions, and respond dynamically to escalation acknowledgments or rejections. This enhances incident management responsiveness, reduces manual overhead, and improves visibility into escalation effectiveness across multiple communication platforms.

    Workflow activities in On-Call Scheduling workflows.

    Escalation workflow activities

    On-Call: Log Escalation Start

    Creates an escalation record based on group, task, and workflow details.

    Note:

    The escalation that the workflow creates the workflow.scratchpad.escalationSysId sys_id. Use the sys_id in any of the other workflow activities.

    Setting Description
    Group sys_id of the group that the escalation belongs to.
    Table Table name of the task record of the incident.
    Source sys_id of the task record on which the escalation happened.
    WorkflowDefinition sys_id of the workflow definition that is used to escalate.
    WorkflowContext sys_id of the workflow context.
    ParentEscalationLevelId sys_id of the parent escalation in the case that the escalation was triggered from another escalation.
    Category Category of the escalation. One of: [assign_by_acknowledgement, auto_assignment, notify_manual_assignmen,conferencing].
    Channels Comma-separated list of the channels used to communicate during the escalation. Any or all of: [email, sms, voice, slack]. For example, sms,email,voice
    IgnoreDefReminders If true, the workflow sends notification reminders as specified by the workflow, rather than as specified in On-Call Escalation settings. For example, in Conference On-Call escalations, the workflow might to dial the on-call members at one-minute intervals instead of the standard 15-minute intervals.
    On-Call: Log Escalation Level

    Creates an escalation level record given escalation and level details.

    Setting Description
    EscalationId sys_id of the escalation to which the level belongs.
    RotaId sys_id of the shift for which the escalation is happening.
    Level Current escalation level. For example, 2.
    Escalatee Escalatee object at current escalation level. For example, getEscalationPlan()[1].
    CatchAll True if the escalation level belongs to a catch-all.
    On-Call: Log Escalation Attempt

    Creates a Contact attempt record given an escalation, level, and attempt details.

    Setting Description
    EscalationId sys_id of the escalation to which the contact attempt belongs.
    RotaId sys_id of the shift for which the escalation is happening.
    Level Current escalation level. For example, 2.
    ContactAttempt Contact attempt number within the escalation level. For example, 1.
    On-Call: Log Escalation Communication

    Creates a communication record given escalation, level, attempt, and communication details.

    Setting Description
    EscalationId sys_id of the escalation to which the communication belongs.
    RotaId sys_id of the shift for which escalation is happening.
    Level Current escalation level. For example, 2.
    ContactAttempt Contact attempt number within the escalation level. For example, 1.
    EscalateeType Type of escalatee to whom the communication is sent. One of: [user,device]
    EscalateeId sys_id of the user or device, depending on escalatee type.
    CommType Type of communication. One of: [sms, voice, email, slack]
    CommValue Phone number or email address, depending on communication type. For example, abel.tuter@servicenow.com
    Status Status of the communication. One of: [sent, failed].
    Escalatee Escalatee object at current escalation level. For example, getEscalationPlan()[1].
    CatchAll True if the escalation level belongs to a catch-all.
    On-Call: Log Escalation End

    Completes the escalation by setting active flag to false.

    Setting Description
    EscalationId sys_id of the escalation.
    On-Call: Send Notification

    Sends notification to the current escalatee via voice, SMS, Slack, Microsoft Teams, or mobile push.

    Setting Description
    Notification type Type of notification. One of: [sms, voice, slack].
    Message Text of message to send to current escalatee if notification type is sms.
    Notification detail List of parameters that are required for a notification:
    • SMS: notify_number, users, groups, numbers
    • Voice: numberToCallFrom, numberToCall, user
    • Slack: slack user, taskId, catchAllOption, wFContextId
    • Microsoft Teams: user, taskId, catchAllOption, wFContextId
    • Mobile push: userSysId, tablename, recordSysId
    On-Call: Manage Escalation Response

    Manage an escalation response record (insert escalation record, clean escalation records, update response to an escalation). An escalation response record keeps track of a response received for an escalation through the SMS, voice, email, or Slack notification channels. An escalation response record is used to resume the On-Call: Assign by Acknowledgement workflow upon rejection of an escalation.

    Setting Description
    Workflow Context Workflow context ID.
    Escalatee Id UserID of the current escalatee.
    Table Name Table name of the task record. For example, incident.
    Current Record Id sys_id of the task record.
    Action Type Type of action. One of: [add,clean,update]
    Response Response by escalatee to an escalation. One of: [accepted,rejected]
    Example uses:
    • Insert (add) - Workflow Context, Escalatee ID, Table Name, Current Record ID
    • Clean - Workflow Context
    • Update - Escalatee ID, Table Name, Current Record ID, Response