{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":19798,"path":"impact/configure-other-integration-options.md","title":"Configure other integration options","bundle":null,"doc_type":null,"release":"australia","body":"\n# Configure other integration options\n\nConfigure the Other integration type to create work items in any external system using a custom payload script and basic authentication.\n\n## Before you begin\n\nConfirm the API endpoint URL and request body format required by your external system. The payload script must produce a request body in the format your system expects.\n\nRole required: Scan Engine admin \\(sn\\_se.scan\\_engine\\_admin\\)\n\n## Procedure\n\n1.  Navigate to **ALL** &gt; **Impact** &gt; **Configuration** &gt; **Scan Engine Properties** and select the **User Story Integration** properties tab.\n\n2.  Set **Integration Type** to `Other`.\n\n3.  Populate the following fields.\n\n    |Field|Value|\n    |-----|-----|\n    |Integration name|A descriptive name for this integration.|\n    |Endpoint|The full URL of the API to call. Determine what the API expects in the request body to format the payload correctly.|\n    |Content type|The content type required by the external API \\(for example, `application/json`\\).|\n    |Issue type|The work item type to create in the external system.|\n\n4.  In the **Payload** field, enter the script that builds the request body.\n\n    The credentials provided on the form are used in a basic authentication authorization header. See [Other integration leading practices](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/impact/configure-other-integration-options.md) for available script variables and leading practices.\n\n5.  Enter the **Username** and **API token** for authentication.\n\n\n**Parent Topic:**[Configure Scan Engine integrations](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/impact/instance-integration-scan-engine.md)\n\n## Other integration leading practices\n\nThe following leading practices are guidelines for creating other integration type scripts.\n\n### Script variables\n\nThe payload script runs on the ServiceNow instance when a work item is created. Use the `payload` variable to build the request body in the format your external system requires. The script output is sent as the request body to the configured endpoint using basic authentication.\n\n|Variable|Description|\n|--------|-----------|\n|`payload`|The content to send in the request body. Structure this object to match the format expected by your external API.|\n|`grFinding`|GlideRecord of the finding. Use this to read finding data for the request body.|\n|`workItemType`|The work item type selected for this integration.|\n\n### Leading practices\n\n-   **Review your target API documentation before writing the script**\n\n    The external system's API determines the required request body format, field names, and data types. Review the API documentation for your target system before building the `payload` object to avoid silent mapping failures.\n\n-   **Match the payload structure to the API's expected format**\n\n    Set the **Content type** field and the structure of `payload` to match what the API expects. For a JSON API, build `payload` as a plain JavaScript object — it will be serialized automatically. For other formats, construct the payload string directly.\n\n-   **Use grFinding to include finding context**\n\n    Read finding fields using standard GlideRecord methods on `grFinding` and map them to the fields your external system expects. For example, `grFinding.getValue('short_description')` can populate a title or summary field.\n\n-   **Enable ES12 mode for modern JavaScript**\n\n    To use modern JavaScript syntax, enable **ECMAScript 2021 \\(ES12\\) mode** in Scan Engine Properties before writing your payload script.\n\n\n"}}