ServiceNow integration with FileWave ServiceNow can be provided with device inventory information from FileWave to make the ServiceNow experience much more accurate and rewarding.  Previously, a ServiceNow portal app was required to supply this FileWave data, but as of version Orlando of ServiceNow that is no longer required, and the FileWave API can be used directly.  This guide, provided as a courtesy for a non-FileWave related system, will show you how to bring the information gathered by FileWave inventory into ServiceNow using the API. Third Party Software ServiceNow is a third party application. The details provided are for example only and are unsupported by FileWave. Step-by-Step Guide Step 1: Create Data Source System Import Sets > Administration > Data Sources > New NAME: FileWave REST API IMPORT SET LABEL: (empty) IMPORT SET TABLE NAME: u_fw_api TYPE: REST FORMAT: JSON PATH FOR EACH ROW: /values/values DISCARD ARRAYS: √ EXPAND: √ DATA IN SINGLE COLUMN: (unchecked) APP: Global REQUEST ACTION: Hit the “click here” and create one (see Step 2) Step 2: Create Request Action NAME: GET FW REST ACCESSIBLE FROM: All application scopes CATEGORY: (empty) PROTECTION: —None— DESCRIPTION: (empty) APPLICATION: Global IN-FLOW ANNOTATION: (empty) Then hit "Submit" (You should be redirected to the Flow Designer for GET FW REST...see Step 3) Step 3, Part 1: Create in Flow Designer Create in FLOW DESIGNER, Select #1 “REST step” - Connection Details - CONNECTION: Define connection inline CREDENTIAL ALIAS: (empty) USE MID: (unchecked) BASE URL: https://YOUR.FILEWAVE.FQDN:20445/inv/api/v1/query_result_extended/ -Request Details- BUILD REQUEST: Manually RESOURCES PATH: (empty) HTTP METHOD: POST The reason this is a POST is so we don't rely on an inventory query that might be changed. Customize the fields portion as needed. This is an example of custom fields. If the field named "asset_tag" does not exist in your system, this will cause an error. { "column": "asset_tag", "component": "CustomFields" } QUERY PARAMETERS: (empty) HEADERS: Name: Authorization Value: Your Users Application Token (FW Admin > Assistants > Manage Administrators > (select admin) > Application Tokens > (Copy the base64: e.g. aalkjdlAKJDlakjdALkdsjaldksja= ) Name: Content-Type Value: application/json -Request Content- REQUEST TYPE: Text REQUEST BODY: - See "Request JSON" example below: Request JSON { "criteria": { "expressions": [ { "column": "filewave_client_name", "component": "Client", "operator": "is_not", "qualifier": null }, { "column": "last_check_in", "component": "Client", "operator": "!=", "qualifier": null } ], "logic": "all" }, "fields": [ { "column": "filewave_id", "component": "Client" }, { "column": "filewave_client_name", "component": "Client" }, { "column": "current_ip_address", "component": "Client" }, { "column": "last_check_in", "component": "Client" }, { "column": "latitude", "component": "GeoLocation" }, { "column": "longitude", "component": "GeoLocation" }, { "column": "type", "component": "OperatingSystem" }, { "column": "version", "component": "OperatingSystem" }, { "column": "filewave_client_version", "component": "AndroidClient" }, { "column": "filewave_client_version", "component": "DesktopClient" }, { "column": "cpu_count", "component": "Client" }, { "column": "cpu_speed", "component": "Client" }, { "column": "ram_size", "component": "Client" }, { "column": "total_disk_space", "component": "Client" }, { "column": "free_disk_space", "component": "Client" }, { "column": "serial_number", "component": "Client" }, { "column": "asset_tag", "component": "CustomFields" } ], "main_component": "Client" } -Retry Policy- ENABLE RETRY POLICY: (unchecked) Save Test Connection Test > Use “test” for “Attachment Name” > Run Test Select the “Action has been executed. To view action, click here.” Verify: status code of 200 (means success)  Select the “(gear) GET FW REST” flow designer tab Close the “Test Action” window with the X Select Publish Close this browser window/tab to return to the “New Record | Data Source | ServiceNow” window/tab Step3, Part 2: Set Request Action Under REQUEST ACTION, start typing the name of the Action we just created "GET FW REST" and select it from the drop-down. Submit Hitting 'Submit' will redirect you back to the Data Source list. Select the one we just made, FileWave REST API and select "Load All Records" under Related Links Once the test has completed, go back to FileWave REST API's Data Source page and continue to next step. Step 3, Part 3: Generate Data Transform Generate Transform(s) — MAKING TRANSFORMS –– On the FileWave REST API page, scroll down to the “Transforms” tab and select “New” NAME: FW API Map SOURCE TABLE: (should auto fill the u_fw_api table) ACTIVE: √ RUN BUSINESS RULES: √ ENFORCE MANDATORY FIELDS: No COPY EMPTY FIELDS: (unchecked) CREATE NEW RECORD ON EMPTY COALESCE FIELDS: √ APPLICATION: Global (input disabled) CREATED: Will auto-generate with Date/Time stamp when saved (input disabled) TARGET TABLE: Computer [cmdb_ci_computer] ORDER: 100 RUN SCRIPT: (unchecked) Select “Mapping Assist” under Related Links You should be able to map a lot of the client's information, for example... FileWave ServiceNow operatingsystem_type Operating System client_cpu_count cpu_count client_current_ip_address ip_address client_ram_size ram customfields_asset_tag asset_tag client_total_disk_space disk_space operatingsystem_version os_version client_cpu_speed cpu_speed client_filewave_client_name name client_serial_number serial_number ...   You can make more maps, like this example for location data: Scroll down to the “Transforms” tab and select “New” NAME: FW Location Map SOURCE TABLE: (should auto fill the u_fw_api table) ACTIVE: √ RUN BUSINESS RULES: √ ENFORCE MANDATORY FIELDS: No COPY EMPTY FIELDS: (unchecked) CREATE NEW RECORD ON EMPTY COALESCE FIELDS: √ APPLICATION: Global (disabled) CREATED: (disabled) TARGET TABLE: Location [cmn_location] ORDER: 100 RUN SCRIPT: (unchecked) Select “Mapping Assist” FileWave ServiceNow geolocation_latitude latitude geolocation_longitude longitude client_filewave_client_name Name Once you're finished, save your data, update the Table Transform Map form and continue to next steps. Part 4: Schedule the Job Schedule the job Schedule the import task you just created...recommend at least daily. System Import Sets > Administration > Scheduled Imports. https://docs.servicenow.com/bundle/orlando-platform-administration/page/administer/import-sets/task/t_ScheduleADataImport.html