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
Navigate to All → search Retrieved Update Sets → select System Update Sets → Retrieved Update Sets.
Click Import Update Set from XML in the Related Links section.
Click Choose File, select AirspaceLink_Catalog_Integration_v1.1.xml, and click Upload.
The imported Update Set appears in the list as AirspaceLink Catalog Integration v1.1.
Click the Update Set name to open it.
Click Preview Update Set. ServiceNow will check for conflicts.
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.
Click Commit Update Set.
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.
Navigate to System Applications → Application Cross-Scope Privileges.
Filter where Source Scope contains AirspaceLink.
For each of the following records, confirm Status is Allowed. If any show Requested, open the record and change Status to Allowed.
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:
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.
Navigate to Service Catalog → Catalog Definitions → Maintain Items.
Open Drone Flight Request.
Confirm the Catalogs field includes your primary catalog (e.g., Service Catalog).
Confirm the Category is appropriate for your portal layout.
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.
Navigate to System Definition → Business Rules.
Search for AirHub - Catalog Operation Trigger.
Open the record and go to the When to run tab.
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.
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:
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:
Navigate to System Web Services → API Access Policies → Auth Parameters (or sys_auth_profile_api_key_parameter.list).
Open Header for API Key.
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.
Navigate to System Web Services → API Access Policies → Authentication Profiles.
Open ASL Profile API Key.
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.
Navigate to System Web Services → API Access Policies.
Open ASL API Access Policy.
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)
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
Navigate to System Web Services → Scripted REST APIs.
Open AirHub Inbound.
On the Security tab, confirm Requires authentication is checked.
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:
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
Navigate to your Service Portal (e.g., /sp).
Find and open Drone Flight Request.
Confirm the map renders. The loading spinner should clear within a few seconds, leaving an interactive map.
Fill in all required fields and draw a polygon on the map using the polygon or rectangle tool.
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.
Submit a fresh request from the Service Portal to generate a Work Order in AirHub® Portal.
In AirHub® Portal, update the Work Order status: schedule it, mark it in progress, then complete it.
Watch the corresponding RITM in ServiceNow. Each status change should add a work note and update the RITM state accordingly.
On completion in AirHub® Portal, any related catalog tasks should auto-close.
Last updated

