--- title: Create custom Scan Engine definitions description: The Scan Engine contains preexisting base system definitions and you can create your own.Platform owners and ServiceNow administrators can create custom health checks using plain language to encode your organization's best practices without as automated health checks without writing code. You don't need scripting expertise or deep knowledge of ServiceNow's data schema, as the AI agent guides you through the entire workflow.Create a custom health check using plain language to encode your organization's best practices and validate it before publishing. locale: en-US canonical_url: https://www.servicenow.com/docs/r/impact/create-scan-engine-definitions.html release: brazil topic_type: task last_updated: "2026-09-10" reading_time_minutes: 11 keywords: [health checks, custom checks, AI authoring, best practices, Impact, custom health check, authoring, AI, dry-run] breadcrumb: [Customize Scan Engine definitions, Activate Scan Engine and review settings, Configuring Impact, Impact] --- # Create custom Scan Engine definitions The Scan Engine contains preexisting base system definitions and you can create your own. ## Before you begin Role required: Scan Engine Admin \(`sn_se.scan_engine_admin`\). ## Procedure 1. Navigate to **ALL** > **Impact** > **Platform Health** > **Definitions**. 2. Select **New**. 3. Fill in the following fields as needed.
| Field/Selection | Description |
|---|---|
| **Number** | The unique identifier of the definition. This number is generated automatically.**Note:** Your unique company code will be prefixed to the definition number. You can find your company code by navigating to the `sys_properties` table, then searching for `glide.appcreator.company.code` property. |
| **Active** | Select to have the Scan Engine evaluate records to see if there are any findings during a scan. |
| **Level of Finding** | Select the severity level of the finding for the definition that displays when real-time monitoring is active: - **Act**: Prevents users from modifying the record until the definition’s conditions are met. - **Recommend**: Prevents users from modifying the record unless they provide an exception reason for why the definition was not followed or until the definition's conditions are met. - **Suggest**: Prompts users to check if there is a better solution available. - **Review**: Calls out less serious items for review. This does not contribute to technical debt. See [View scan results for Scan Engine](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/impact/viewing-scan-results-scan-engine.md) for additional information. |
| **Category** | Upgradeability, manageability, performance, security, or user experienceFor details, see [Customize Scan Engine definitions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/impact/view-modify-scan-engine-properties.md). |
| **Short Description \(Mandatory\)** | A short description of the definition. |
| **Reason For Definition** | The purpose the definition was created. |
| **Supporting Documentation** | A link to documentation that further explains the finding definition. The link displays as part of the real-time message. |
| Field/Setting | Description |
|---|---|
| **Evaluate Definition For** | Dictates the scope of records that are scanned in real-time:- **All Matching Records**: Scans all applicable records in real-time. - **New Records Only**: Scans only new, applicable records in real-time. |
| **SN Instance To Run On** | Sets the SN instance that the definition will apply to.- Run on all non-production instances - Run on specified instances - Run on production instances only **Note:** **Run on Specified Instances** activates the **Specific SN Instances to Run On** field. |
| **Specific SN Instances to Run On** | - Sets which specific ServiceNow instances the definition applies to. - For this setting to display, the follow must be true: - **Enable Instance Specific Definitions** must be enabled in the Scan Engine properties. - The My SN Instances table must contain at least one instance. **Note:** Only instances defined in the My SN Instances table can be selected here. |
| **Type of Rule \(Mandatory\)** | Sets the definition’s rule type:- Fails if script includes text - Fails if script excludes text - Fail if XML includes text - Fail if XML excludes text - Fail if conditions match - Custom |
| **Scan Finding Limit** | - The maximum number of findings that can be generated for each definition during a scan. - The limit is applied per applicable table. Forr example, if the limit is set to 100, a maximum of 100 findings will be generated for each applicable table. - Prevents excessive or redundant findings and optimizes scan performance. |
| **Propose Fix** | - Allows a definition to be defined such that it enables the ability to automatically apply recommended changes to objects in your ServiceNow instance. - When selected, the **Proposed Fix Script** field displays. |
| **Propose Fix Script** | - Provides a script field for creating a custom function which is used to show users an auto-corrected version of the record they are viewing. - This field is only visible if **Propose Fix** is enabled. |
| **Search Type \(Mandatory\)** | - **Regex**: Search by regular expression. - **Text**: Search for text. - **Custom**: A custom search type using JavaScript. - This field is only visible if **Type of Rule** is one of the following: - Fails if script includes text - Fails if script excludes text - Fail if XML includes text - Fail if XML excludes text |
| **Custom Rule Variable** | - Enables the Parameter 1 value string entry field. - This field is only visible if **Type of Rule** is set to **Custom**. |
| **Parameter 1 Value** | Set a default value here if you want to allow users to change the value of a parameter without modifying a custom script. |
| **Parameter 1 Description** | A description of what the Parameter 1 Value is used for. |
| **Delta Scans Not Applicable** | This definition will always scan as a full scan, not a delta scan, for all scan types. This means it will scan all records for findings, not just records updated since the previous scan. |
| **Return One Finding For The Entire Table** | - If the definition applies to the entire table and not to specific records, Scan Engine returns one finding record for the table instead of a finding for each record. - When possible, the scanned table and scanned record are populated in the finding. If this isn’t possible, the scanned record value will be empty. **Note:** If enabled, this definition will not scan in real-time. |
| **Search Pattern** | Lets users enter a regular expression to search for findings in Scripts and XML type fields. This field is only available if **Type of Rule** is set to one of the following: - Fail if script includes text - Fail if script excludes text - Fail if XML includes text - Fail if XML excludes text In addition, **Search Type** must be set to **Regex**. |
| **Search Function** | Lets users enter a custom function to search for findings in Scripts and XML type fields. This field is only available if **Type of Rule** is set to one of the following: - Fail if script includes text - Fail if script excludes text - Fail if XML includes text - Fail if XML excludes text. In addition, **Search Type** must be set to **Custom**. |
| **Search Text** | Enables a field for users to search for text in scripts and XML fields. Enter one or more comma-separated text values.This field is only available if **Type of Rule** is set to one of the following: - Fail if script includes text - Fail if script excludes text - Fail if XML includes text - Fail if XML excludes text In addition, **Search Type** must be set to **Text \(comma separated\)**. |
| **Custom Function \(Mandatory\)** | - Provides a script field to create a custom function for identifying findings. - This field is only visible if **Type of Rule** is set to **Custom**. |
| **Impact to Instance \(Mandatory\)** | - Sets a level of impact for the finding within its level of finding. For example, different Act findings can have different impact levels assigned to them. It provides an extra layer of priority for individual definitions. - Impacts can be set from 1-10, where 1 is the lowest impact and 10 is the highest. |
| **Business Impact** | A description of how a finding for the definition would affect the instance in a business setting. |
| **Estimated Time to Resolve Issue** | The estimated time for a single developer to resolve the definition finding in days, hours, minutes, and seconds. |
| **Steps To Resolve** | A description of the steps for resolving the finding related to this definition. This description is displayed on real-time messages. |
| Field | Value |
| Release | Impact Bundle v12.0.0 \(October 2026\) |
| Product area | Platform Health: Best Practice Checks |
| Capabilities | CAP36722 \(authoring\), CAP37679 \(approval workflow\) |
| Audience | Technical writing, go-to-market, product, engineering |
| Step | Who | What happens |
| Draft | Author | Check is created and edited. Not running on the instance. |
| Dry Run Validation | System | A dry run is available so the author can validate the check before submitting it for approval. |
| Pending Approval | System | Check appears in the Pending Definitions list. The approver group is notified. |
| Approved | Administrator | Check is activated and behaves like any other health check. |
| Rejected | Administrator | Check moves to a distinct Rejected state. |