System Events

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Events are special records that the system uses to log when certain conditions occur and to take some kind of action in response to the conditions.

    The system uses business rules to monitor for system conditions and to generate event records in the Event [sysevent] table, which is also known as the event log or event queue.

    Event-generating business rules typically use this script logic:

    If [some condition is true for the current record], then [add a specific event to the queue].

    For example, here are some of the conditions in the incident event business rule:
    • If a user adds a comment to an incident record, add an incident.commented event.
    • If a user adds an incident record, add an incident.inserted event.
    • If a user updates an incident record, add an incident.updated event.
    Event-generating business rules use the GlideSystem eventQueue method to insert event records, which typically contain this information:
    Table 1. Event fields
    Field Description
    Name Unique name of event. Baseline event names include the record affected and the triggering action, such as incident.commented.
    Parm1 Event-specific parameter the system uses to pass record information to other parts of the system, such as a record Sys ID or a field value.
    Parm2 Event-specific parameter the system uses to pass record information to other parts of the system, such as a record Sys ID or a field value.
    Table Table to which the event applies. This is the same table on which the business rule ran.
    Instance Sys ID of the record to which this event applies.
    Scheduled jobs periodically read the event queue and forward them to the appropriate handler for processing. The handler uses information from event records to take some kind of action such as:
    • Run a script action
    • Send a notification
    • Trigger a workflow activity
    • Trigger an inactivity monitor

    By default, the system provides events covering a broad view of application activity. If existing events do not meet your needs, you can create your own events to watch for specific changes to records.

    For developer training, see Scheduled Script Executions and Events Objectives on the ServiceNow® Developer Site.

    Use the System Events and Jobs Dashboard to monitor the system event processing system and the scheduled jobs processing system.

    Event processing during platform upgrade

    Determine which events are to be processed during a platform upgrade by configuring the following properties:

    • glide.event_processor.all_events_upgrade_safe: Set to true to process all events during platform upgrade. Default = false.
    • glide.event_processor.upgrade_safe_events: Configure a comma-separated list of event names to indicate that only specified events are processed. Default = <empty>.

      This property is relevant only when glide.event_processor.all_events_upgrade_safe = false.