Ask for Approval step
Summarize
Summary of Ask for Approval step
The Ask for Approval step in Workflow Studio enables you to request approval for a record and control workflow progression effectively. This step is essential for processes requiring structured governance and compliance, such as incident handling, change requests, and catalog fulfillment. It allows you to configure approval, rejection, or cancellation rules without scripting, and includes an option to set a due date for automatic decision-making if no response is received.
Show less
Key Features
- Rule-based approval management: Define approval and rejection rules such as “Anyone approves,” “All users approve,” percentage-based, or number-based approvals. Approvers can be individual users, groups, fields from records, or manually added approvers.
- Automatic due date handling: Set a due date to automatically approve, reject, or cancel the request to avoid indefinite waiting states in workflows.
- Support for inactive users and groups: By default, approvals are generated even for inactive users or groups to maintain workflow continuity. This behavior can be modified via a system property.
- Input flexibility: Accepts inputs such as the record to approve, table name, approval reason (for auditing), approval result field, journal field for comments, and approval rules.
- Error handling: Configure the step to continue or trigger error evaluation if it fails.
- Output data: Provides the current approval state, which can be used in subsequent workflow steps.
Practical Application for ServiceNow Customers
ServiceNow customers can leverage the Ask for Approval step to automate and enforce approval processes within their workflows without needing custom scripts. The step’s configurable rules and due date ensure that approvals are timely and meet compliance requirements, reducing bottlenecks and manual intervention. By capturing approval reasons and maintaining audit trails, customers can support regulatory needs and improve transparency.
Additionally, the option to manually add approvers allows flexibility for specialized review requirements. Customers should define both approval and rejection rules to prevent workflows from stalling and consider system property settings if they manage inactive users or groups.
Request approval for a record. Configure a set of rules to automatically approve, reject, or cancel an approval request without having to write script. Add a due date to automatically approve, reject, or cancel when a decision has not been made by a designated time.
Approvals play a central role in controlling workflow progression. They ensure that the right people review and authorize work before it moves forward, which is essential in incident handling, change requests, catalog fulfillment, and any process where structured governance and compliance matter. For more information about approvals, see Classic approvals.
Roles and availability
Available as an Workflow Studio action step. Users with the action_designer role can create a custom action with one or more action steps.
Inputs
- Record
- Data type: Record
Reference to the record to approve. If the record contains an approval field, Workflow Studio automatically sets the Approval Field input.
- Table
- Data type: Table Name
Table name of the record associated with the approval request. The table that you select must support approvals by having an approval state field. For example, the Task table and its extensions contain approval fields.
- Approval Reason
- Data type: String
Text string containing a justification for the approval. You can use this field for auditing and regulation compliance. This information is stored in the Approval [sysapproval_approver] table. For example, you can list why a specific approval request is needed from an individual or a group.
- Approval Field
- Data type: Field Name
Field containing the results of approval requests.
- Journal Field
- Data type: Field Name
Field to store history and comments associated with the approval request.
- Rules
- Data type: Approval Rules
Approval and rejection rules to determine which users can approve or reject requests, and what happens after approval or rejection.
Approval or rejection rules include:- Anyone approves
- All users approve
- All responded and anyone approves
- % of users approve
- # of users approve
In the field beside the approval rule, add the desired approvers. To add approvers:
- Select individual users or groups.
- Drag or select a field from a record.
- Select Manual approvers
to allow a manual approver to process an approval or rejection. A manual approver is a user manually added to the Approvers related list who can then approve the request. For example, you can manually add a subject matter expert to a task to approve the request. To learn more about adding manual approvers, see Generate approvals using the approvers related list.
Note:By default, Ask for Approval generates approval records for inactive users and groups. This behavior allows a flow or action to continue working even when a specific user or group is later made inactive. If you want to change the behavior of generating approvals for inactive entities, set the com.glide.hub.flow.approval.allow_inactive_entity system property. See Workflow Studio flow system properties.Define rejection rules by adding another OR rule set. When defining approvals, include rejection rules that run when there are no matching approvals. Such rejection rules prevent the flow from remaining in a waiting state. For example, if an approval can be approved by anyone, create a time-based rejection rule in case no one approves it.
Note:If you set an approval rule with no rejection rule (or vice versa) and the expected approval state is not met, the runtime value will be canceled.For information about how to use inline script to specify approval rules, see the Scripted Approvals in Flow Designer with Flow Variables blog post on the ServiceNow Community.
- Due Date
- Data type: Schedule Date/Time
Due date for an approval state to prevent the flow from endlessly waiting for approval.
Action error evaluation
- If this step fails
- Data type: Choice
Option to continue running the next step or go to error evaluation. To use the step status code or message for a custom action error condition, see Action error evaluation.
Output
These outputs appear in the Data panel. You can use them as inputs elsewhere in your action.
- Approval State
- Data type: Choice
Completion state of the approval request. The flow execution details page displays one of these values.
- Not Yet Requested [not requested]
- Requested [requested]
- Approved [approved]
- Rejected [rejected]
- Cancelled [cancelled]
- No Longer Required [not_required]
- Skipped [skipped]