--- 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/build-workflows/legacy-workflow/r\_WorkflowEventSpecificFunctions.html release: australia product: Legacy Workflow classification: legacy-workflow topic_type: reference last_updated: "2026-03-12" reading_time_minutes: 4 breadcrumb: [Workflow events in the base system, Workflow events, Workflow management, Classic Workflow, Build workflows] --- # 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/build-workflows/legacy-workflow/r_WorkflowEventsInTheBaseSystem.md)