Netskope LogoNetskope Logo
  • Security Services
  • AI Services
  • Networking Services
  • Analytics Services
  • Integrations
  • getting-started.svgGetting Started
    • Support
    • Community
    • Netskope.com
    © 2026 All Rights Reserved. Netskope Inc.
    Home
    Netskope Cloud Exchange
    Threat Exchange Module
    Configure 3rd-party Threat Exchange Plugins
    ServiceNow Threat Intelligence Plugin for Threat Exchange

    ServiceNow Threat Intelligence Plugin for Threat Exchange

    Release Notes

    2.0.0 (Required minimum CE version for this is 6.0.0)

    Added

    • Added support for Threat data type: IPV4, IPV6, Domain, FQDN.
    • Added support for pull and push retraction.
    • Added resolutions for error logs.

    1.0.0

    Added

    • Initial release.
      • Pull: Yes (MD5, SHA256, and URL)
      • Push: Yes (MD5, SHA256, and URL)
      • Pull Retraction: No
      • Push Retraction: No

    This document explains how to configure the ServiceNow Threat Intelligence v2.0.0 plugin with the Threat Exchange module of the Netskope Cloud Exchange platform. This plugin is used to pull indicators of type MD5, SHA256, URL, IPv4, IPv6, Domain, and FQDN from the ServiceNow Threat Intelligence Observables (sn_ti_observable) table, and shares indicators of the same types back to the Observables table. The plugin supports pull retraction and push retraction of indicators. This plugin requires a ServiceNow account with access to the Threat Intelligence Observables table.

    Prerequisites

    To complete this configuration, you need:

    • A Netskope tenant (or multiple, for example, production and development/test instances).
    • A Netskope Cloud Exchange tenant with the Tenant plugin and Threat Exchange plugin already configured.
    • A File Profile on your Netskope tenant.
    • A URL List on your Netskope tenant.
    • A Destination Profile on your Netskope tenant.
    • A Private App on your Netskope tenant.
    • A DNS Profile on your Netskope Tenant.
    • A ServiceNow instance with an account that has read, create, and delete access to the Threat Intelligence Observables table.
    • Connectivity to the following host: https://<instance>.service-now.com
    ServiceNow Threat Intelligence Plugin Support

    This plugin is used to pull indicators of type MD5, SHA256, URL, IPv4, IPv6, Domain, and FQDN from the ServiceNow Threat Intelligence Observables (sn_ti_observable) table, and shares indicators of the same types back to the Observables table. The plugin supports pull retraction and push retraction of indicators. This plugin requires a ServiceNow account with access to the Threat Intelligence Observables table.

    Fetched Indicator TypesShared Indicator Types
    MD5, SHA256, URL, IPv4, IPv6, Domain, FQDNMD5, SHA256, URL, IPv4, IPv6, Domain, FQDN
    IoC Retraction
    For retraction to work, IoC(s) Retraction toggle must be enabled in Settings > Threat Exchange.

    The plugin supports both pull retraction (time-based, configurable via “Retraction Interval (in days)”) and push retraction (controlled by the “Enable Push Retraction” configuration toggle).

    TypeDescription
    IoC Retraction (Pull)Yes — Based on time. Configurable via the Retraction Interval (in days) parameter.
    IoC Retraction (Push)Yes — Based on the explicit Enable Push Retraction configuration toggle.
    IoC Source Labeling

    Each observable pushed to ServiceNow by this plugin has its notes field prefixed with the label Shared by Netskope Cloud Exchange | <plugin config name> to identify its origin and prevent a push–pull–push loop.

    TypeDescription
    IoC Source LabellingSupported (Shared by Netskope Cloud Exchange | <plugin config name>)
    Mappings
    Pull Indicators Mappings
    Netskope FieldsServiceNow Observable Fields
    valuevalue
    typetype.value
    commentsnotes
    firstSeensys_created_on
    lastSeensys_updated_on
    tagsfinding
    extendedInformationsys_id
    Push Indicators Mappings
    ServiceNow Observable FieldNetskope Indicator Field
    valuevalue
    notescomments
    Permissions

    Here is the role that should be assigned to the User used in the plugin:

    sn_ti.observable.admin

    API Details
    List of APIs Used
    API EndpointMethodUse Case
    /api/now/table/sn_ti_observableGETValidate connectivity, pull indicators, pull retraction re-query, pre-push existence check
    /api/now/table/sn_ti_observablePOSTCreate (share) an observable
    /api/now/table/sn_ti_observable/{sys_id}DELETEDelete a previously pushed observable during push retraction
    Fetch Indicators

    Endpoint: GET /api/now/table/sn_ti_observable

    Request Headers

    KeyValue
    AuthorizationBasic {base64(username:password)}

    Query Parameters

    ParameterDescription
    sysparm_queryTime window and type/finding filters
    sysparm_limitPage size (1000)
    sysparm_offsetPagination offset
    sysparm_fieldsvalue,type.value,sys_id,sys_created_on,sys_updated_on,notes,finding

    Sample Response

    {
      "result": [
        {
          "value": "malware.veboz37.live",
          "type.value": "FQDN",
          "sys_id": "000014a2ab00001101f9f8d5f7fe0a1c",
          "sys_created_on": "2026-03-25 22:31:19",
          "sys_updated_on": "2026-03-25 22:34:31",
          "notes": "This attribute is observed in a threat feed.",
          "finding": "Malicious"
        }
      ]
    }
    Create Observable

    Endpoint: POST /api/now/table/sn_ti_observable

    Request Headers

    KeyValue
    AuthorizationBasic {base64(username:password)}
    Content-Typeapplication/json

    Request Body

    {
      "value": "malware.veboz37.live",
      "notes": "Shared by Netskope Cloud Exchange | <plugin config name> | <comments>"
    }

    Sample Response

    {
      "result": {
        "sys_id": "000014a2ab00001101f9f8d5f7fe0a1c",
        "value": "malware.veboz37.live"
      }
    }
    Delete Observable

    Endpoint: DELETE /api/now/table/sn_ti_observable/{sys_id}

    Request Headers

    KeyValue
    AuthorizationBasic {base64(username:password)}

    Sample Response:

    {}

    Performance Matrix

    This reading is conducted on a Large CE Stack with these specifications by pulling and pushing 100k IoCs.

    DescriptionSpecification
    Stack SizeLarge, 
    RAM: 32 GB, 
    Core: 16
    Indicators fetched from ServiceNow~10.5k per min
    Indicators shared to ServiceNow~220 per min
    Sharing performance was conducted with only 10,000 indicators because the plugin pushes indicators one at a time 
    User Agent

    netskope-ce-6.1.0-cte-servicenow-threat-intelligence-v2.0.0

    Workflow
    1. Get ServiceNow Credentials
    2. Configure Netskope Tenant
    3. Configure Netskope Threat Exchange Plugin
    4. Configure ServiceNow Threat Intelligence Plugin
    5. Add a Business Rule
    6. Configure Sharing
    7. Validate on Netskope CE
    8. Validate on ServiceNow

    Watch a Video

    Click play to watch a video.

     

    Get the ServiceNow User ID and Password

    1. Log in to your ServiceNow Instance with admin access.

    2. Go to System Security > Users and Groups > Users.

    3. Click New.

    4. Enter the required information and make note of the User ID and Password. Click Submit.

    5. On the Roles tab, click Edit.

    6. Add the sn_ti.observable.admin role and click Save.

    Configure the ServiceNow Threat Intelligence Plugin

    1. In Cloud Exchange, go to Settings > Plugin Store. Search for and select the ServiceNow Threat Intelligence v2.0.0 (CTE) plugin.

    2. Enter the Basic Information:

      • Configuration Name: Plugin configuration name.
      • Sync Interval: Interval to fetch data from this plugin and share data to this plugin from other sources.
      • Aging Criteria: Expire indicators after specific time.
      • Override Reputation: Set value to override reputation of indicators received from this configuration. Leave empty to keep default.
      • Tags Aggregate Strategy: Choose whether to append new tags to existing IoC(s) or overwrite them. This configuration parameter determines how tags are stored for indicators pulled for this configuration.
      • Enable SSL Validation: Enable SSL certificate verification.
    3. Click Next and enter the Configuration Parameters:

      • ServiceNow Instance URL: ServiceNow instance URL. For example: https://<instance>.service-now.com.
      • Username: ServiceNow username with access to the Threat Intelligence Observables table.
      • Password: Password for the ServiceNow username.
      • Type of Threat Data to Pull: Indicator types to pull. If left blank, all supported indicator types are retrieved.
      • Type of Finding to Pull: ServiceNow finding statuses to pull. If left blank, findings with all statuses are retrieved.
      • Enable Polling: Enable/disable pulling indicators from ServiceNow. Disable if only pushing indicators to ServiceNow.
      • Enable Push Retraction: Enable/disable push retraction. When enabled, indicators previously pushed to ServiceNow are permanently deleted from the sn_ti_observable table when retracted in CE.
      • Retraction Interval (in days): Number of days used as the retraction window for pull retraction. Applies only when IOC(s) Retraction is enabled in Threat Exchange Settings. Valid range: 1–100000 days.
      • Initial Range (in days): Number of days to pull data for on the initial run. Valid range: 1–365 days.
      The Enable Push Retraction setting permanently deletes observables from ServiceNow when indicators are retracted in Cloud Exchange. Enable this only if you want pushed indicators to be removed from the ServiceNow sn_ti_observable table upon retraction.
    4. Click Save. The plugin appears on the Plugins page.

    Configure a Threat Exchange Business Rule for ServiceNow Threat Intelligence

    To share indicators fetched from the ServiceNow Threat Intelligence to Cloud Exchange, you will need to have a business rule that will filter out the indicators that you want to share. To configure a business rule:

    1. In Threat Exchange, go to Business Rules and click Create New Rule.

    2. Add the filter according to your requirement in the rule, and then click Save.

    Configure Sharing for ServiceNow Threat Intelligence

    To share IoCs from the ServiceNow Threat Intelligence to Cloud Exchange:

    1. In Threat Exchange, go to Sharing and click Add Sharing Configuration.

    2. Select your Source Configuration (CTE Netskope Threat Exchange), Business Rule, Destination Configuration (ServiceNow Threat Intelligence), and Target.

    3. Click Save.

    Note

    As the ServiceNow plugin supports pulling URL, IPv4, Domain, FQDN, SHA256, and MD5, you can perform these actions on Netskope using these indicators:

    • Add to URL List
    • Add to File Hash List
    • Add to Private App
    • Add to Destination Profile
    • Add to DNS Profile

    Enabling IOC Retraction

    Pull Retraction

    To enable pull retraction for the ServiceNow Threat Intelligence plugin:

    1. Set the Retraction Interval (in days) parameter in the plugin configuration.
    2. Enable IoC(s) Retraction in Threat Exchange > Settings in Cloud Exchange.

    Push Retraction

    To enable pull retraction for the ServiceNow Threat Intelligence plugin, select Yes in Enable Push Retraction configuration parameter. When enabled, indicators previously pushed to ServiceNow are permanently deleted from the sn_ti_observable table when retracted in Cloud Exchange.

    Validate the ServiceNow Threat Intelligence Plugin

    Validate the Pull

    Indicators from ServiceNow are pulled from Observables table

    In your ServiceNow Console, go to Threat Intelligence > Observables.

    You can also verify the indicators pulled in Cloud Exchange from the logs available in Logging.

    Pulled data will be listed on the Threat IoCs page. You can filter the IoCs pulled from the platform using the filter: sources.source Like “<plugin configuration name>”.

    For verifying the Retracted IoCs from ServiceNow, check the logs for IoC Retraction. For example: message Like “[Retraction]:” 

    The pull retraction for the plugin is done based on the indicators available on ServiceNow provided in the plugin configuration. If any indicator is removed from ServiceNow, it will be marked as retracted in Cloud Exchange. Or if you have removed some value from the Type of Threat Data to Pull configuration parameter, it will be marked as retracted.

    To validate the retracted IoCs on the Threat IoCs page, apply the filter: Retracted Is equal Yes, along with the source filter for the plugin configuration name.

    When IoCs pulled from ServiceNow Threat Intelligence are marked as retracted yes, they will be marked as <plugin-config-name>: retracted in the Retraction Result if that IoC was already shared to a Netskope tenant or third-party platform, and that destination plugin supports push retraction.

    Validate the Push

    Shared IoCs to ServiceNow can be verified from logs available at Logging. 

    Log in to ServiceNow and go to Threat Intelligence > Observables to verify the shared indicators appear in the sn_ti_observable table.

    The IoC Labeling is added to each of the IoCs’ notes that are shared/pushed to ServiceNow from Cloud Exchange, and the format for the same will be Shared by Netskope Cloud Exchange | <plugin-name>.

    When Enable Push Retraction is set to Yes in the plugin configuration, indicators pushed to ServiceNow are permanently deleted from the sn_ti_observable table when retracted in Cloud Exchange.

    Go to Logging and search for the Retracted keyword to verify the deletion of indicators on ServiceNow.

    Log in to ServiceNow and go to Threat Intelligence > Observables to confirm the observable has been removed from the sn_ti_observable table.

    IoCs marked Retracted = Yes in Cloud Exchange will also be deleted from the sn_ti_observable table in ServiceNow after the push retraction is processed, provided Enable Push Retraction is set to Yes in the plugin configuration.

    The Netskope Threat Exchange plugin supports push retraction, so the IoCs pulled from ServiceNow plugin and marked as retracted will be deleted from the Netskope Tenant, and this result can be verified from the retraction result field. Here the retraction result is CTE Netskope Threat Exchange: retracted, which means this IoC is deleted from the Netskope Tenant.

    This is the Destination profile where the IoCs pulled from ServiceNow were shared.

    As the IoCs pulled from ServiceNow was marked as retracted = Yes, and it was already shared to the destination profile on the Netskope tenant, it will get deleted from that destination profile and the status for it can be verified from retraction result. In this case, the retraction result is CTE Netskope Threat Exchange: retracted, which means it was deleted from the destination profile.

    Here you can see the retracted IoCs were deleted from this destination profile.

    Troubleshooting the ServiceNow Threat Intelligence Plugin

    Plugin Fails to Validate Configuration

    If the plugin fails during configuration validation, it could be due to one of these reasons:

    • The ServiceNow Instance URL is incorrect or malformed.
    • The configured username or password is incorrect.
    • The configured account does not have access to the sn_ti_observable table.

    What to do:

    1. Verify the ServiceNow Instance URL includes the correct scheme and hostname (for example, https://<instance>.service-now.com).
    2. Confirm the username and password are correct by logging in to ServiceNow directly.
    3. Ensure the ServiceNow account has read, create, and delete access to the Threat Intelligence Observables (sn_ti_observable) table. Contact your ServiceNow administrator to verify the permissions.
    Unable to pull IoCs from ServiceNow

    If you are not able to pull IoCs from ServiceNow then this may be due to no IoCs present on the ServiceNow platform under the same interval used as the initial range in the plugin configuration.

    What to do: Make sure the IoCs are present on the ServiceNow platform and the credentials used in the plugin configuration are correct. Refer to the Validate the Pull section.

    Not able to enable the plugin after upgrade

    If you are not able to enable the plugin after upgrade and clicked Skip, it might be due to new parameters not set in the configuration.

    What to do:

    Edit the configuration and set all the parameters again, and then enable the plugin.

    In this Topic
    • ServiceNow Threat Intelligence Plugin for Threat Exchange