💡 Tip: Press Ctrl + I (or Cmd + I on Mac) in the search bar to ask AI a question."
For the complete documentation index, see llms.txt. This page is also available as Markdown.

ServiceNow Catalog Integration

Connect AirHub® Portal to ServiceNow's Service Catalog for two-way work order sync, without requiring Field Service Management (FSM). Users submit a Drone Flight Request through the Service Catalog with a drawn map polygon; on submission, a Work Order is automatically created in AirHub® Portal. Status changes in AirHub® flow back to the originating ServiceNow Request Item (RITM) as state updates, work notes, deliverable URLs, and auto-closure of related catalog tasks.

Who this is for

This integration is for ServiceNow customers without Field Service Management (FSM) licensed. If your ServiceNow instance has FSM, see the ServiceNow Work Order (FSM) Integration guide instead, which uses the standard Work Order table and is installed directly from the ServiceNow Store.

License

Requires Team License or higher.

Prerequisites

Collect the following before starting. Installation cannot be completed without these.

From Airspace Link (contact helpdesk@airspacelink.com)

  • Webhook ID. A GUID that identifies your AirHub® organization.

  • AirHub® API base URL. Sandbox or production endpoint.

  • Confirmation that your ServiceNow instance base URL has been registered in AirHub®.

From your side

  • ServiceNow admin credentials.

  • An ArcGIS Online API key, obtained from Esri. Airspace Link does not provide this.

  • The latitude and longitude of your primary service area, for setting the default map center.

  • A Service Portal where end users will submit requests

Provide to Airspace Link before going live

  • Your ServiceNow instance base URL (e.g., https://customer.service-now.com).

  • The inbound webhook URL generated during installation. The URL pattern is https://[instance].service-now.com/api/x_airli_asl_dr/airhub_inbound/workorder.

  • The API Key token generated during inbound authentication setup. Transmit via secure channel (password manager share or encrypted transfer), not plain email or chat.

  • The header name AirHub® must use to transmit the token: x-sn-apikey.

Installation

Time required: about 30 minutes.

Technical level: ServiceNow admin. No development required.

This method installs the entire integration (all scripts, variables, widget, business rules, REST messages, and cross-scope privileges) in a single step using a ServiceNow Update Set XML file. If your instance does not permit Update Set imports, contact helpdesk@airspacelink.com for manual installation guidance.

Step 1. Obtain the Update Set XML

Request the file AirspaceLink_Catalog_Integration_v1.1.xml from your Airspace Link implementation contact at helpdesk@airspacelink.com.

Step 2. Import the Update Set

  1. Navigate to All → search Retrieved Update Sets → select System Update Sets → Retrieved Update Sets.

  2. Click Import Update Set from XML in the Related Links section.

  3. Click Choose File, select AirspaceLink_Catalog_Integration_v1.1.xml, and click Upload.

  4. The imported Update Set appears in the list as AirspaceLink Catalog Integration v1.1.

  5. Click the Update Set name to open it.

  6. Click Preview Update Set. ServiceNow will check for conflicts.

  7. Review any warnings in the Update Set Preview Problems related list. For a fresh instance, there should be none. If there are conflicts, contact helpdesk@airspacelink.com before proceeding.

  8. Click Commit Update Set.

  9. Wait for the commit to complete. This typically takes 30 to 60 seconds.

Step 3. Verify cross-scope privileges

The Update Set includes all required cross-scope privileges, but ServiceNow occasionally imports them with Status: Requested instead of Allowed. This will cause the integration to fail silently.

  1. Navigate to System Applications → Application Cross-Scope Privileges.

  2. Filter where Source Scope contains AirspaceLink.

  3. For each of the following records, confirm Status is Allowed. If any show Requested, open the record and change Status to Allowed.

Target Name
Operation

ScopedGlideElement

Execute API

GlideAPI: properties

Execute API

sc_req_item

Write

RESTMessageV2

Execute API

GlideDateTime

Execute API

Step 4. Configure system property values

Do not skip this section. The Update Set creates the five required system properties. Four of them ship with empty values and must be filled in before testing. If workorder.webhookid is left empty, outbound calls will fail. If it is set to anything other than your own organization's Webhook ID, your Work Orders will route to the wrong AirHub® organization.

Navigate to All → type sys_properties.list → press Enter. Search for x_airli_asl_dr to filter to the integration's properties. Set the Value field on each:

Property name
Ships with
Must change to

x_airli_asl_dr.workorder.webhookid

empty

Webhook ID GUID provided by Airspace Link for your organization

x_airli_asl_dr.api.base_url

empty

AirHub® API base URL provided by Airspace Link (sandbox or production)

x_airli_asl_dr.arcgis.api.key

empty

Your ArcGIS Online API key

x_airli_asl_dr.center.coordinates

empty

[longitude, latitude] of your primary service area (e.g., [-83.0493, 42.3449] for Detroit)

x_airli_asl_dr.api.timeout.ms

100

No change needed in most cases. Increase only if AirHub® calls are timing out in your environment.

After setting all values, re-run the property list query and verify each row shows a non-empty Value field. The api.timeout.ms row should still read 100 unless you intentionally changed it.

Step 5. Make the Catalog Item visible

The Drone Flight Request catalog item is imported but may not be visible in your Service Portal depending on your catalog structure.

  1. Navigate to Service Catalog → Catalog Definitions → Maintain Items.

  2. Open Drone Flight Request.

  3. Confirm the Catalogs field includes your primary catalog (e.g., Service Catalog).

  4. Confirm the Category is appropriate for your portal layout.

  5. Confirm Active is checked.

Step 6. Configure the Business Rule filter

The Business Rule is configured to trigger on the catalog item from the source instance. On a new instance, the catalog item has a different sys_id and the filter may not resolve correctly.

  1. Navigate to System Definition → Business Rules.

  2. Search for AirHub - Catalog Operation Trigger.

  3. Open the record and go to the When to run tab.

  4. In Filter Conditions, verify the Item field reads Drone Flight Request. If the Item field shows as empty or unresolved, click the magnifying glass and re-select Drone Flight Request.

  5. Click Update.

Step 7. Register your instance with Airspace Link

Email helpdesk@airspacelink.com with:

  • Your ServiceNow instance base URL.

  • Confirmation that installation is complete and testing is ready to begin.

Airspace Link will confirm the instance is registered as an active source in AirHub® Portal.

Inbound Authentication Setup

If you need bi-directional sync (AirHub® status updates flowing back to ServiceNow), complete the steps in the Inbound Authentication Setup section below before testing. Skip this section if outbound-only is sufficient.

Step 1. Create the integration service account

Navigate to User Administration → Users. Click New and configure:

  • User ID: airhub.integration

  • First name / Last name: AirHub / Integration

  • Web service access only: checked

  • Internal Integration User: checked

  • Active: checked

Submit, then reopen the record. In the Roles related list, add:

Role
Purpose

web_service_admin

Allows the user to invoke Scripted REST APIs

x_airli_asl_dr.user (if defined by your scope)

Grants scope-level access for the inbound script

Do not assign admin or any broad ITIL role. The service account should be limited to exactly what the inbound script needs to do (write to sc_req_item, close sc_task).

Step 2. Verify the Auth Parameter

The Auth Parameter defines the HTTP header name AirHub® will use to transmit the API Key. ServiceNow ships a built-in Auth Parameter (Header for API Key) in Global scope that uses x-sn-apikey as the header name. This integration reuses that built-in record — no new Auth Parameter needs to be created.

To verify the built-in record exists and matches the expected values:

  1. Navigate to System Web Services → API Access Policies → Auth Parameters (or sys_auth_profile_api_key_parameter.list).

  2. Open Header for API Key.

  3. Confirm:

    • Type: Auth Header

    • Parameter Name: x-sn-apikey

    • Application: Global

Do not edit this record. It is shared by all ServiceNow APIs that use API Key authentication.

Step 3. Verify the HTTP Authentication Profile

The Update Set installs the Authentication Profile that binds the Auth Parameter to the API Key authentication mechanism. Verify it imported correctly.

  1. Navigate to System Web Services → API Access Policies → Authentication Profiles.

  2. Open ASL Profile API Key.

  3. Confirm:

    • Auth Parameter: Header for API Key

    • Application: AirspaceLink Drone Flight Request (Catalog)

If this record is missing or shows a different Auth Parameter, the Update Set did not commit fully. Re-import or contact helpdesk@airspacelink.com.

Step 4. Create the REST API Key

This is the actual token AirHub® will use to authenticate inbound calls. The key is bound to the service account from Step 1 and to the application scope.

Before creating the key, confirm you are in the correct application scope: click the globe icon (top right) → Developer → Application → AirspaceLink Drone Flight Request (Catalog). The Source field on the key will auto-populate from your current scope, so being in the wrong scope here is the most common cause of silent authentication failures later.

Navigate to System Web Services → API Access Policies → REST API Key. Click New and configure:

  • Name: ASL API Key

  • Description: API Key for AirspaceLink integration

  • User: airhub.integration (the service account from Step 1)

  • Active: checked

  • Source: must read x_airli_asl_dr. If it shows any other value, cancel and verify your developer scope before retrying.

  • Expiry: Set per your security policy. A blank value means no expiration; for production, set a renewal date and add a calendar reminder.

Submit. ServiceNow generates the token and displays it once on the form (e.g., now_J2ZUzh3mpcnqfW3a6Ustz...).

Capture the token immediately. ServiceNow will obscure the token after navigation. If lost, the key must be regenerated.

Step 5. Verify the API Access Policy

The Update Set installs the API Access Policy that binds the Authentication Profile to the Scripted REST API. Verify it imported correctly.

  1. Navigate to System Web Services → API Access Policies.

  2. Open ASL API Access Policy.

  3. Confirm:

    • Active: checked

    • REST API: AirHub Inbound

    • Apply to all methods / resources / versions: all checked

    • REST API PATH: x_airli_asl_dr/airhub_inbound

    • Application: AirspaceLink Drone Flight Request (Catalog)

  4. In the Authentication Profiles related list, confirm ASL Profile API Key is present.

If the REST API PATH shows a different scope prefix (for example, x_airli_asl_dfr/airhub_inbound), the policy was bound to the wrong endpoint and inbound calls will not authenticate. Contact helpdesk@airspacelink.com.

Step 6. Verify the Scripted REST API Security tab

  1. Navigate to System Web Services → Scripted REST APIs.

  2. Open AirHub Inbound.

  3. On the Security tab, confirm Requires authentication is checked.

  4. Leave the legacy Authentication Profiles related list empty - the API Access Policy from Step 5 now controls authentication for this endpoint.

Step 7. Transmit credentials to Airspace Link

Send Airspace Link the following via a secure channel:

Item
Value

Inbound URL

https://[customer-instance].service-now.com/api/x_airli_asl_dr/airhub_inbound/workorder

Authentication method

API Key

Header name

x-sn-apikey

Token

The value generated in Step 4

Token expiry

The date set in Step 4, or "none"

Airspace Link confirms storage and registration before testing begins.

Testing

Test outbound sync

  1. Navigate to your Service Portal (e.g., /sp).

  2. Find and open Drone Flight Request.

  3. Confirm the map renders. The loading spinner should clear within a few seconds, leaving an interactive map.

  4. Fill in all required fields and draw a polygon on the map using the polygon or rectangle tool.

  5. Click Order Now.

Verify in ServiceNow: Open the resulting RITM (sc_req_item.list) and check the Activity stream. Within a few seconds you should see the work note:

AirHub Sync Successful. Work Order created in AirHub Portal.

Verify in AirHub® Portal: Navigate to Manage → Work Orders. The new Work Order should appear with the polygon rendered at the exact location where you drew it on the map.

Test inbound sync

Skip this section if you configured outbound-only sync. Coordinate with Airspace Link before running.

  1. Submit a fresh request from the Service Portal to generate a Work Order in AirHub® Portal.

  2. In AirHub® Portal, update the Work Order status: schedule it, mark it in progress, then complete it.

  3. Watch the corresponding RITM in ServiceNow. Each status change should add a work note and update the RITM state accordingly.

  4. On completion in AirHub® Portal, any related catalog tasks should auto-close.

Last updated