Workflow event-specific functions
reference australia Updated Sep 10, 2026 4 min read r_WorkflowEventSpecificFunctions.md
There are several functions that relate specifically to workflow events.
| Function | Description | Purpose | Use | Thread | Source |
|---|---|---|---|---|---|
| registerForEvent (eventName) | Function in the workflow environment that writes events represented as strings to the wf_executing.registered_events field. |
The workflow events are just strings. When an activity that has registered for an event executes, a comma delimited set of events is stored with the Workflow Executing Activity [wf_executing] record. When the event is triggered in the workflow context, the wf_executing table looks for all executing records that contain the string that represents the event in the wf_executing.registered_events field |
The global variable workflow that is available to all Workflow Activity [wf_activity] records is the source of the call. For example, from inside a Run Script activity, a designer can write: workflow.registerForEvent('myEventName'); |
Current thread, current mutex | Global variable workflow |
| unRegisterForEvent (eventName) | Function in the workflow environment that removes a string value representing an event that has been written to the wf_executing.registered_events field. |
The workflow events are just strings that are written to the wf_executing.registered_events field. When an activity unRegisters for an event, the comma delimited set of events stored with the Workflow Executing Activity [wf_executing] record is searched, and if that string is found, it is removed. |
The global variable workflow that is available to all Workflow Activity [wf_activity] records is the source of the call. For example, from inside a Run Script activity, a designer can write: workflow.unRegisterForEvent('myEventName'); |
Current thread, current mutex | Global variable workflow |
| fireEvent (eventName) | Function in the workflow environment that examines the contents of the wf_executing.registered_events field, comparing its contents to the eventName passed in. |
The workflow events are just strings that are written to the wf_executing.registered_events field. When fireEvent(eventName) is called by a workflow activity, the workflow engine queues up any executing records that contain the string in the registered field. |
The global variable workflow that is available to all Workflow Activity [wf_activity] records is the source of the call. For example, from inside a Run Script activity, a designer can write: workflow.fireEvent('myEventName'); |
Current thread, current mutex | Global variable workflow |
| fireEvent (eventRecord, eventName) | Function in the workflow environment that sends an event to a specific Workflow Executing Activity [wf_executing] record. The eventRecord is a GlideRecord of the type wf_executing. |
This event call expects an onMyEvent event handler in the activity represented in the event record (Workflow Executing Activity [wf_executing] table). When fireEvent(eventRecord, eventName) is called by a workflow activity, the workflow engine queues up the specific executing record with that event and passes the event into the activity definition for the on<eventName> handler to manage. This event is queued up in its own mutex, so the current queue completes before this event is processed. | The workflow script include contains the call for this. For example, from inside a Run Script activity, a designer can write: var w = new Workflow(); w.fireEvent(executing, eventName); |
Current thread, current mutex | Workflow script include |
| fireEvent (eventRecordSysId, eventName) | Function in the workflow environment that sends an event to a specific Workflow Executing Activity [wf_executing] record. The eventRecordSysId is the sys_id of a GlideRecord of the type wf_executing. |
This is the same as the fireEvent above, except that it accepts an ID and returns the Workflow Executing Activity [wf_executing] record. | The Workflow script include contains the call for this. For example, from inside a Run Script activity, a designer can write: var w = new Workflow(); w.fireEvent(executing, eventName); |
Current thread, current mutex | Workflow script include |
| fireEvent (eventRecordSysId, eventName, optionalJSONObject) | Function in the workflow environment that sends an event to a specific Workflow Executing Activity [wf_executing] record. The eventRecordSysId is the sys_id of a GlideRecord of the type wf_executing. |
This is the same as the fireEvent above, except that it accepts a JSON object as a third parameter. This object can specify any data expressible as JSON. You can also specify additional functionality when creating a workflow activity. | The Workflow script include contains the call for this. For example, from inside a Run Script activity, a designer can write: var w = new Workflow(); w.fireEvent(executing, eventName, JSONObject); |
Current thread, current mutex | Workflow script include |
| broadcastEvent (contextId, eventName) | Function in the workflow environment that sends an event to all currently running Workflow Executing Activity [wf_executing] records in a specified context, regardless of their state. | This is the same as the fireEvent above, except that it accepts an ID and returns the Workflow Executing Activity [wf_executing] record. | The Workflow script include contains the call for this. For example, from inside a Run Script activity, a designer can write: var w = new Workflow(); w.broadcastEvent(contextId, eventName); |
Current thread, current mutex | Workflow script include |
| broadcastEvent (eventName) | Function in the workflow environment that sends an event to all currently running Workflow Executing Activity [wf_executing] records in the current context, regardless of their state. | This should not be confused with broadcastEvent above. This event is only available to current Workflow Executing Activity [wf_executing] records. | This is available only through the global workflow variable of the current context. The following is an example of its use from within an activity definition's script: workflow.broadcastEvent(eventName) |
Current thread, current mutex | Global variable workflow |
Parent Topic:Workflow events in the base system
32 lines · 6.9 KB
---
title: Workflow event-specific functions
description: There are several functions that relate specifically to workflow events.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/servicenow-platform/legacy-workflow/r\_WorkflowEventSpecificFunctions.html
release: australia
product: Legacy Workflow
classification: legacy-workflow
topic_type: reference
last_updated: "2026-09-10"
reading_time_minutes: 4
breadcrumb: [Workflow events in the base system, Workflow events, Workflow management, Classic Workflow, ServiceNow AI Platform Additional Capabilities, Extend ServiceNow AI Platform capabilities]
---
# Workflow event-specific functions
There are several functions that relate specifically to workflow events.
|Function|Description|Purpose|Use|Thread|Source|
|--------|-----------|-------|---|------|------|
|registerForEvent \(eventName\)|Function in the workflow environment that writes events represented as strings to the `wf_executing.registered_events` field.|The workflow events are just strings. When an activity that has registered for an event executes, a comma delimited set of events is stored with the Workflow Executing Activity \[wf\_executing\] record. When the event is triggered in the workflow context, the wf\_executing table looks for all executing records that contain the string that represents the event in the `wf_executing.registered_events` field|The global variable workflow that is available to all Workflow Activity \[wf\_activity\] records is the source of the call. For example, from inside a **Run Script** activity, a designer can write: `workflow.registerForEvent('myEventName');`|Current thread, current mutex|Global variable workflow|
|unRegisterForEvent \(eventName\)|Function in the workflow environment that removes a string value representing an event that has been written to the `wf_executing.registered_events` field.|The workflow events are just strings that are written to the `wf_executing.registered_events` field. When an activity unRegisters for an event, the comma delimited set of events stored with the Workflow Executing Activity \[wf\_executing\] record is searched, and if that string is found, it is removed.|The global variable workflow that is available to all Workflow Activity \[wf\_activity\] records is the source of the call. For example, from inside a **Run Script** activity, a designer can write: `workflow.unRegisterForEvent('myEventName');`|Current thread, current mutex|Global variable workflow|
|fireEvent \(eventName\)|Function in the workflow environment that examines the contents of the `wf_executing.registered_events` field, comparing its contents to the `eventName` passed in.|The workflow events are just strings that are written to the `wf_executing.registered_events` field. When fireEvent\(eventName\) is called by a workflow activity, the workflow engine queues up any executing records that contain the string in the registered field.|The global variable workflow that is available to all Workflow Activity \[wf\_activity\] records is the source of the call. For example, from inside a **Run Script** activity, a designer can write: `workflow.fireEvent('myEventName');`|Current thread, current mutex|Global variable workflow|
|fireEvent \(eventRecord, eventName\)|Function in the workflow environment that sends an event to a specific Workflow Executing Activity \[wf\_executing\] record. The `eventRecord` is a GlideRecord of the type wf\_executing.|This event call expects an onMyEvent event handler in the activity represented in the event record \(Workflow Executing Activity \[wf\_executing\] table\). When fireEvent\(eventRecord, eventName\) is called by a workflow activity, the workflow engine queues up the specific executing record with that event and passes the event into the activity definition for the on<eventName> handler to manage. This event is queued up in its own mutex, so the current queue completes before this event is processed.|The workflow script include contains the call for this. For example, from inside a **Run Script** activity, a designer can write: `var w = new Workflow(); w.fireEvent(executing, eventName);`|Current thread, current mutex|Workflow script include|
|fireEvent \(eventRecordSysId, eventName\)|Function in the workflow environment that sends an event to a specific Workflow Executing Activity \[wf\_executing\] record. The `eventRecordSysId` is the sys\_id of a GlideRecord of the type wf\_executing.|This is the same as the fireEvent above, except that it accepts an ID and returns the Workflow Executing Activity \[wf\_executing\] record.|The Workflow script include contains the call for this. For example, from inside a **Run Script** activity, a designer can write: `var w = new Workflow(); w.fireEvent(executing, eventName);`|Current thread, current mutex|Workflow script include|
|fireEvent \(eventRecordSysId, eventName, optionalJSONObject\)|Function in the workflow environment that sends an event to a specific Workflow Executing Activity \[wf\_executing\] record. The `eventRecordSysId` is the sys\_id of a GlideRecord of the type wf\_executing.|This is the same as the fireEvent above, except that it accepts a JSON object as a third parameter. This object can specify any data expressible as JSON. You can also specify additional functionality when creating a workflow activity.|The Workflow script include contains the call for this. For example, from inside a **Run Script** activity, a designer can write: `var w = new Workflow(); w.fireEvent(executing, eventName, JSONObject);`|Current thread, current mutex|Workflow script include|
|broadcastEvent \(contextId, eventName\)|Function in the workflow environment that sends an event to all currently running Workflow Executing Activity \[wf\_executing\] records in a specified context, regardless of their state.|This is the same as the fireEvent above, except that it accepts an ID and returns the Workflow Executing Activity \[wf\_executing\] record.|The Workflow script include contains the call for this. For example, from inside a **Run Script** activity, a designer can write: `var w = new Workflow(); w.broadcastEvent(contextId, eventName);`|Current thread, current mutex|Workflow script include|
|broadcastEvent \(eventName\)|Function in the workflow environment that sends an event to all currently running Workflow Executing Activity \[wf\_executing\] records in the current context, regardless of their state.|This should not be confused with broadcastEvent above. This event is only available to current Workflow Executing Activity \[wf\_executing\] records.|This is available only through the global workflow variable of the current context. The following is an example of its use from within an activity definition's script: `workflow.broadcastEvent(eventName)`|Current thread, current mutex|Global variable workflow|
**Parent Topic:**[Workflow events in the base system](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/legacy-workflow/r_WorkflowEventsInTheBaseSystem.md)
| title | Workflow event-specific functions |
| description | There are several functions that relate specifically to workflow events. |
| locale | en-US |
| canonical_url | https://www.servicenow.com/docs/r/australia/servicenow-platform/legacy-workflow/r\_WorkflowEventSpecificFunctions.html |
| release | australia |
| product | Legacy Workflow |
| classification | legacy-workflow |
| topic_type | reference |
| last_updated | 2026-09-10 |
| reading_time_minutes | 4 |
| breadcrumb | Workflow events in the base systemWorkflow eventsWorkflow managementClassic WorkflowServiceNow AI Platform Additional CapabilitiesExtend ServiceNow AI Platform capabilities |