# Overview

The **ServiceNow Workflow Approval** catalog in the Template Catalog provides a prebuilt integration that allows administrators to insert approval-based gates in resource provisioning workflows using ServiceNow incidents. This enables organizations to enforce policy compliance, track workflows, and maintain an auditable trail for environment provisioning, updates, and deletions.

When a resource or environment is launched, a ServiceNow ticket is automatically created. Rafay then polls for the ticket status and only proceeds once the ticket is explicitly approved or rejected within the ServiceNow system.

> **Note**  
> This [blog post](https://docs.rafay.co/blog/2025/06/23/enforcing-servicenow-based-approvals-with-rafay/) provides a detailed overview of the end-to-end workflow for enforcing **ServiceNow-based approval process**.

* * *

## Use Cases

- Enforce approvals before provisioning, updating, or deleting environments or resources
- Integrate ServiceNow as a centralized approval system across multiple projects or tenants
- Enhance governance and auditability with incident tracking
- Customize workflows with detailed request context for reviewers

## Key Features

- Automatically creates and tracks ServiceNow incidents tied to provisioning workflows
- Monitors ticket status via polling and proceeds only after approval
- Supports default and user-defined ServiceNow incident fields (e.g., urgency, category)
- Allows customers to extend input parameters without new releases
- Includes debug support to aid self-service troubleshooting
- Compatible with Tokyo, Vancouver, and Washington ServiceNow releases
- Secure authentication via API token and username

* * *

## Pre-Requisites

Before enabling ServiceNow Workflow Approval:

- A working ServiceNow instance with accessible FQDN
- A ServiceNow account with appropriate roles (e.g., itil_admin, itil, personalize_choices)
- API credentials (username and token)
- Defined approval and rejection ticket statuses (e.g., Resolved, Canceled)
- Ensure timezone handling is in UTC as required by ServiceNow APIs
- Optionally configure incident fields like:
  - `urgency` (High, Medium, Low)
  - `impact` (High, Medium, Low)
  - `category`, `short_description`, `assigned_to`, `u_notifiers`

## Admin and Developer Responsibilities

**Platform Admin**

- Configures and shares ServiceNow workflow handler across projects
- Verifies ServiceNow connectivity and role permissions
- Enables "Skip On Destroy" to avoid approval requests during deletion

**Developer**

- Launches environments with workflow handlers attached
- Views approval status and incident details in deployment logs

For approval-based environment provisioning using ServiceNow, see the [ServiceNow Workflow Approval Guide](https://docs.rafay.co/template_catalog/servicenow_workflow/configuration/).

* * *
