API access to Workflow Studio flows
Summarize
Summary of API access to Workflow Studio flows
ServiceNow enables application developers to interact programmatically with Workflow Studio flows, subflows, and actions through dedicated APIs. These APIs allow triggering and managing workflow elements both from server-side and client-side scripts, enhancing automation and integration capabilities.
Show less
Key Features
- Server-side FlowAPI: Provides synchronous and asynchronous methods to trigger flows, subflows, and actions, with options to include or exclude execution details depending on performance needs.
- Client-side GlideFlow: Allows client scripts to invoke actions, flows, and subflows, provided the designer has enabled the Client callable option during design.
- Quick Methods in FlowAPI: Optimized methods (e.g.,
executeActionQuick(),startFlowQuick()) that run workflow elements without creating execution records, improving speed for high-volume or production environments. - XML and JSON Streaming APIs: Facilitate building large streaming or non-streaming JSON/XML payloads within Workflow Studio scripts to interact with third-party REST or SOAP services efficiently.
- Client Callable APIs: Designers can enable flows, subflows, and actions to be invoked from client scripts by activating the Client callable setting, expanding interaction options beyond server-side scripts.
- Run As Behavior: Flows and subflows can be configured to run as either the system user or the initiating user, but quick API methods always run as the system user. Actions run as the initiating user.
- Code Snippets: Developers can generate JavaScript code snippets for published flows, subflows, or actions to easily embed calls within business rules or background scripts, streamlining integration and reuse.
Practical Benefits for ServiceNow Customers
- Automate and orchestrate complex processes programmatically, both server and client side.
- Optimize performance for high-volume workflow executions by using quick execution methods.
- Seamlessly integrate Workflow Studio with external systems using JSON/XML streaming APIs.
- Empower client applications or UI scripts to trigger workflows, increasing flexibility.
- Control execution context with run as settings to meet security and auditing requirements.
- Accelerate development with generated code snippets, promoting best practices and reducing manual coding errors.
Application developers can access Workflow Studio functionality through APIs for flows, subflows, and actions. Flow authors can enable individual flows, subflows, and actions to be client callable during design.
Available Workflow Studio flow APIs
Trigger flows, subflows, and actions using these APIs from server or client scripts.
- Server side
- FlowAPI: Trigger a flow, subflow, or action using synchronous or asynchronous methods, with or without execution details.
- Client side
- GlideFlow: Perform client-side interactions with actions, flows, and subflows. Flow designers must enable a flow, subflow, and action to be called from the client.
FlowAPI quick methods
Use quick methods in the FlowAPI class to run an action, flow, or subflow from a server-side script without creating execution details or other related records. Use these methods to increase the speed of high-volume processing in a production environment, and to improve performance by eliminating record-keeping overhead. Methods include:
- executeActionQuick(), executeFlowQuick(), executeSubflowQuick(): Run an action, flow, or subflow from a server-side script synchronously from the current user session.
- startActionQuick(), startFlowQuick(), startSubflowQuick(): Run an action, flow, or subflow from a server-side script asynchronously.
XML and JSON streaming APIs
Builds a large streaming or non-streaming JSON or XML payload to use in a REST or SOAP request to send bulk data to a third-party API. For example, you can use these APIs to create a JSON payload in the Workflow Studio Script step and pass the returned value to the REST step to send the request to a third-party service. For more information, see JSONStreamingBuilder and XMLStreamingBuilder .
Client callable APIs
By default, the flows, subflows, and actions can only be called by the FlowAPI within a server script. Flow and action designers can make individual flows, subflows, or actions available to client calls by enabling the Client callable option during the design process.
Run as support
Flows and subflows can run as either the system user or the user who initiates the session. Set this behavior from the flow properties. All API quick methods ignore the run as property, and always run as the system user.
Actions always run as the user who initiates the session.
Code snippets
Application developers can generate a JavaScript function that calls a specific flow, subflow, or action with the Code Snippet option. Use the code snippet in scripts such as business rules or the Scripts - Backgound module to call specific Workflow Studio elements. The system only generates code snippets for published flows, subflows, and actions. Workflow Studio elements in the draft or modified status do not generate code snippets.