API access to Workflow Studio flows
Summarize
Summary of API access to Workflow Studio flows
ServiceNow provides comprehensive API access to Workflow Studio flows, subflows, and actions, enabling application developers and flow authors to trigger and interact with these components programmatically from both server-side and client-side scripts. This capability enhances automation, integration, and customization within your ServiceNow environment.
Show less
Key Features
- Server-side APIs (FlowAPI): Trigger flows, subflows, or actions synchronously or asynchronously with options to include or exclude execution details. Quick methods in FlowAPI improve performance by running workflows without creating execution records, suitable for high-volume production environments.
- Client-side APIs (GlideFlow): Interact with client-callable flows, subflows, and actions directly from client scripts. Flow designers must explicitly enable the Client callable option during design to allow this access.
- Streaming APIs for XML and JSON: Build large streaming or non-streaming JSON or XML payloads within Workflow Studio to send bulk data to third-party REST or SOAP APIs, facilitating seamless external integrations.
- Run as Support: Flows and subflows can be configured to run as either the system user or the initiating user, controlled via flow properties. Note that quick API methods always run as the system user, while actions run as the initiating user.
- Code Snippets: Generate JavaScript code snippets for published flows, subflows, and actions to embed calls within business rules, background scripts, or other server scripts. Draft or modified workflow elements do not generate snippets.
Practical Application for ServiceNow Customers
- Enable client callable flows, subflows, or actions during design to allow triggering from client scripts, enhancing user interactions and front-end automation.
- Use FlowAPI quick methods for efficient, high-performance execution of workflows in server-side scripts when execution tracking is not required.
- Leverage JSON and XML streaming APIs to construct payloads for external API calls within Workflow Studio, facilitating integration with third-party systems.
- Configure run as behavior on flows and subflows to control execution context and permissions appropriately.
- Utilize code snippets to quickly integrate workflow calls into scripts, streamlining development and reducing 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.