---
sourceDocument: Yokohama API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/api-reference

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Producer Event Notification Framework developer guide

# Producer Event Notification Framework developer guide {#ariaid-title1}

Release version: Yokohama  
Updated January 30, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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 Producer Event Notification Framework developer guide

The Producer Event Notification Framework for Telecommunications, Media, and Technology enables external distribution of events, such as trouble tickets, via a message-bus in your network.
This framework supports two main message-bus use cases for publishing events from your ServiceNow instance:
Show full answer Show less  
* **Hermes Messaging Service:** Used primarily for cloud-based instances, this Kafka-based service requires prior installation and configuration of Hermes. It enables event publishing through Hermes Kafka.
* **Open Message Bus:** Supports both cloud-based and on-premise instances, allowing event publishing through a custom message bus integrated with your network.

## Configuration and Implementation

To deploy the framework, you must perform system configuration within your ServiceNow instance, including overriding specific script includes to accommodate your chosen message-bus implementation. Detailed configuration guides are available for both Hermes and open message bus setups, including how to publish trouble ticket notifications outbound.

## Producer System Properties

The framework functionality is controlled by several system properties accessible via **All \> System Properties \> All Properties** in the ServiceNow UI. Key properties include:

* **snapinotifmgmt.event.log:** Sets logging level for debug logs (default: error).
* **snapinotifmgmt.glide.mutex.script.maxspins:** Maximum attempts to acquire a mutex lock on inbound queue records (default: 100).
* **snapinotifmgmt.glide.mutex.script.spinwait:** Wait time in milliseconds between lock attempts (default: 100 ms).
* **snapinotifmgmt.inboundqueue.batch.limit:** Number of records processed per scheduler batch (default: 200).
* **snapinotifmgmt.inboundqueue.maxrecords:** Max records the scheduler pulls per run, influencing batch processing behavior (default: 200).
* **snapinotifmgmt.publishermessagebusconfiguration:** Defines message bus usage: Hermes, open message bus, or both (default: openMessageBus).
* **snapinotifmgmt.schedule.max.runtime:** Maximum scheduler job runtime in milliseconds before failure (default: 90,000 ms).

Adjusting these properties allows you to tailor event processing performance, logging verbosity, and message-bus selection to fit your operational needs.  
The Producer Event Notification Framework for Telecommunications, Media, and Technology enables the external distribution of events, such as trouble tickets, using a
message-bus implemented in your network.
The Producer Event Notification Framework supports two different message-bus use cases:

1. Publishing events through the Hermes Messaging Service: If you plan to publish events using Hermes Kafka, you must configure the Producer Event Notification Framework for the Kafka message-bus. You can only use this message-bus for cloud-based instances. For details, see [Configure the Producer Event Notification Framework to use the Hermes Messaging Service](https://servicenow-prod.fluidtopics.net/icM2djCohrvejxD9S8vKXQ "If you are using the Hermes Messaging Service in your instance, you must configure the Producer Event Notification Framework for the Kafka message-bus.").

   For additional information on how to publish trouble ticket notifications using Hermes, see [Producing outbound API notifications using Hermes](https://www.servicenow.com/docs/access?context=hermes-stream-connect-kafka-workflow&version=yokohama&pubname=yokohama-proactive-service-exp-workflows&ft:locale=en-US).  
   Note:  
   Before you are able to implement this use case, you must already have the Hermes Messaging Service installed and configured on your instance. For details, see [Hermes Messaging Service](https://www.servicenow.com/docs/access?context=hermes-messaging-service&version=yokohama&pubname=yokohama-servicenow-platform&ft:locale=en-US).
2. Publishing events through the open message bus: If your instance uses a custom message-bus, you must configure the Producer Event Notification Framework to use the open message bus to send events from your ServiceNow instance to consumers on your network. Both cloud-based and on-premise ServiceNow instances can publish events through the open message bus. For details, see [Configure the Producer Event Notification Framework to use the Open Message Bus](https://servicenow-prod.fluidtopics.net/qRtp238mpWdwh3qsazZ_rw "If you have deployed or plan to deploy the Open Message Bus in your instance, you must configure the Producer Event Notification Framework for this message-bus. You can deploy this message-bus for both cloud and on-premise instances.").

   For additional information on how to publish trouble ticket notifications using the open message bus, see [Outbound trouble ticket notifications via open message bus](https://www.servicenow.com/docs/access?context=trouble-ticket-workflow-using-pub-sub-model&version=yokohama&pubname=yokohama-proactive-service-exp-workflows&ft:locale=en-US).
{#prod_evt_not-dev_guide-overview__ol_jgx_nl4_vzb}

This document describes the system configuration that must be performed, including the script includes that must be overridden to deploy these message-bus implementations in your ServiceNow ecosystem.

## Producer system properties {#prod_evt_not-dev_guide-overview__section_lbn_g3k_yzb}

The following table lists the properties within your ServiceNow instance that control the functionality of the Producer Event Notification Framework. Review the default values of these properties and if necessary, modify them for your specific implementation.
To modify these properties, in the ServiceNow UI go to AllSystem PropertiesAll Properties.  
{#prod_evt_not-dev_guide-overview__table_v4w_33k_yzb__entry__2}

| Property | Description |
|-|-|
| sn_api_notif_mgmt.event.log | Level of logging to written to the debug logs. Valid values: * alert * crit * debug * emerg * err * info * notice * warning Default: err |
| sn_api_notif_mgmt.glide.​mutex.​script.​maxspins | Maximum number of attempts to acquire a mutex lock on the records in the inbound queue. Default: 100 |
| sn_api_notif_mgmt.​glide.​mutex.​script.​spinwait | Time to wait between attempts to acquire a lock on the records in the inbound queue. Unit: Milliseconds Default: 100 |
| sn_api_notif_mgmt.​inboundqueue.​batch.​limit | Number of records that the scheduler will pull and process from the inbound queue at one time (one batch). Default: 200 |
| sn_api_notif_mgmt.​inboundqueue.maxrecords | Maximum number of records that the scheduler will pull from the inbound queue for one scheduler run. This value is used in conjunction with the sn_api_notif_mgmt.inboundqueue.batch.limit parameter. For example, if the batch limit is set to 50 and the maxrecords is set to 200, and the number of records that are in the inbound queue is 130, the scheduler would pull three different batches of records in a single run; two with 50 records and one with 30 records. If the number of records in the inbound queue is 220, the scheduler would pull four batches of 50 records and the remaining 20 records would not be processed until the next time the scheduler runs. When setting this value, you must also consider the time that it will take for the scheduler to process multiple batches and set the sn_api_notif_mgmt.schedule.max.runtime value accordingly. Default: 200 |
| sn_api_notif_mgmt.​publisher_message_bus_configuration | Defines whether messages are published using the Hermes Messaging Service, the open message bus, or both message buses. Valid values: * hermes = Hermes Messaging Service * openMessageBus = open message bus * both = Event/message is sent out on both message buses. Default: openMessageBus |
| sn_api_notif_mgmt.​schedule.​max.​runtime | Max time that a schedule job can run before it fails and reports an error. Unit: Milliseconds Default: 90,000 |
[ ]

{#prod_evt_not-dev_guide-overview__table_v4w_33k_yzb}

*[\>]: and then


