Use PDIs? Take our 5-minute survey to help shape the PDI roadmap.

Alexandre Clay
ServiceNow Employee

Implement Workplace Indoor Mapping in a day

Indoor Mapping provides building visualization and wayfinding across campuses, buildings, floors, and workspaces. Using AutoCAD floor plan sources, the Map Studio interface lets you build and customize interactive maps—adding points of interest, directions, connectors, and accessibility routes. Map data synchronizes with Workplace Service Delivery for reservation, case, and move management, plus wayfinding in the location directory.
 

 

Assuming your CAD files are already clean, a map editor or admin working alongside a reservation admin can stand up a working indoor map—floor plans, points of interest, wayfinding, and a live reservation experience—in one focused day. This guide assumes exactly that: your DWG or DXF files already comply with the AutoCAD guidelines. It does not cover CAD preparation—everything below is ServiceNow configuration.  

 

Prerequisites 

 

  • Having Workplace Core (sn_wsd_core), Workplace Reservation Management (sn_wsd_rsv), Workplace Indoor Mapping (sn_wsd_indoor_map), and Indoor Mapping (sn_map_core) plugins installed. 
  • Users with Admin access or Map Admin (sn_map_core.map_admin)/Map Editor(sn_map_core.map_editor) and Workplace Reservation Admin(sn_wsd_rsv.admin) roles to a ServiceNow instance. 
  • A Google Cloud account and a Google Maps API key (set up in Phase 1). 
  • Valid CAD files — one DWG or DXF per floor, already compliant with the guidelines. 

The one-day workflow

 

Phase 

Focus 

Time 

1 

Foundational setup — API key, Place Types, instance defaults, CAD check 

45–60 min 

2 

CAD upload and Map Studio basics 

45–60 min 

3 

Directions and wayfinding 

45–60 min 

4 

WSD synchronization 

45–60 min 

5 

Advanced config and optimization 

30–45 min 

6 

Reservable Module 

30-45 min 

7 

Validate the Data 

5-15 min 

 

Phase 1 — Foundational setup (45–60 min) 

 

1.1 Set up the Google Maps API key 

 

The search engine is powered by Google Maps, so the instance needs a valid key before anything displays correctly.  

 

Step 1: Set up Google Cloud Console 

 

  1. Open Google Cloud Console and sign in with your Google account. 
  2. At the top left, click Select a ProjectNew Project. 
  3. Enter a project name (e.g., "ServiceNow Indoor Mapping"), select your organization location, and click Create. 
  4. Wait for the project to initialize (typically 30 seconds). 

AlexandreClay_0-1787157472372.png

 

Step 2: Enable Google Maps APIs 

 

  1. In the left navigation menu, click APIs & ServicesLibrary. 
    AlexandreClay_1-1787157514505.png
  2. Search for Places API and click it. 
  3. Click the Enable button. 
    AlexandreClay_2-1787157514505.png
  4. Wait for confirmation (the page will show "API enabled"). 

Step 3: Generate Your API Key 

 

  1. Go back to APIs & ServicesCredentials (left menu). 
  2. Click Create Credentials and select API key. 
  3. Google generates a key instantly—copy it and store it safely (you'll need it in Step 4). 
  4. (Optional) Click the Edit icon (pencil) next to your new key to: Restrict it to Places API only (improve security) 

AlexandreClay_3-1787157591902.png

 

Step 4: Add the API Key to Your ServiceNow Instance 

 

  1. Log in to your ServiceNow instance as an admin. 
  2. Navigate to System Properties using the search bar (type "sys_properties.list"). 
  3. Search for the property sn_map_core.google_maps_geocoding_key. 
  4. Click the row and paste your API key into the Value field and click Update
    AlexandreClay_4-1787157729197.png
  5. Repeat Step 3 and 4 for the property google.maps.key.geocoding (paste the same key).

1.2 Configure Place Types (before any import) 

 

Place Types define how each category of space displays — fill color, marker icon, etc. Setting these up first means that when you import floor plans in Phase 2 you can assign the correct type to each space in a single pass, instead of reworking POIs later. 

The out-of-the-box catalog (Auditorium, Bike parking, Café, Desk, Fire extinguisher, and so on) covers most needs. Create or adjust any custom types now. You can always fine-tune the values once the map is rendered. 

 

AlexandreClay_5-1787158267663.png

 

1.3 Review other instance defaults 

 

Indoor Mapping ships with default parameters that govern how your map displays. Customizing them is optional, but if you intend to, do it now — the guidance is explicit that you should configure the instance before creating campuses and buildings, or you will be reworking maps later. 

Beyond Place Types, the instance tables include Direction Modes (Default, Accessible, Bike), Connector Types (Stair, Elevator, Escalator, Ramp), Icons, and Outdoor Styles. For most one-day builds the defaults are fine; we create any needed Direction Mode or Connector records in Phase 3, in context. 

 

Phase 2 — CAD upload and Map Studio basics (45–60 min) 

 

Map Studio is where you create the campus, building, and floor, import floor plans, and manage everything afterward. 

 

2.1 Create the campus and building(s) 

 

  1. In Map Studio, create a Campus: enter country, name, and precise address, press Continue, then validate the proposed location. 
    AlexandreClay_6-1787158345921.png
  2. Add your first building — a campus isn’t created until it has a building. 
  3. When the building is found on the map, adjust the polygon if needed so it matches the real building footprint exactly. Drag the dots to reshape or reposition.
    AlexandreClay_7-1787158407321.png

 

 
2.2 Import floor plans

 

  1. Go to Manage Workplace > Floors & Floor Plans. 
  2. Select the building, then Add a new source and choose your DWG or DXF. 
  3. You can edit the source name (default pattern: Campus – Floor title – File name) 
  4. Configure your floor plan based on your AutoCAD Layers, Layers are all the layers that contains Polylines where Places are all the text objects in CAD. 
    AlexandreClay_8-1787158519298.png

     

  5. Repeat for each floor.

2.3 Georeference each floor 

 

Click Edit georeference and drag the two pins to align the floor plan to the building’s shape and size on the world map. At-scale alignment is essential — wayfinding times and distances are computed from it. 

 

AlexandreClay_9-1787158581677.png

 

2.4 Assign Place Types to POIs 

Because you defined the Place Type catalog in Phase 1, populating POIs is now a single pass. When importing a text or a block, select the layer that surrounds the object geometry, set Title template to {{TITLE}} (the text as you wrote it in AutoCAD), and choose the Place type from the list. Repeat per group of places. 

 

AlexandreClay_10-1787158607919.png

 

Note. You can also add POIs manually with New Point or New Polygon (Name, Title, Place type) under Places. 

 

Phase 3 — Directions and wayfinding (45–60 min) 

 

3.1 Draw the direction graph 

 

Wayfinding routes are computed from lines you draw manually — this unfortunately cannot be automated as of today. 

 

  1. Go to Manage Workplace → Directions, then select the building and floor. 
  2. Click Draw and trace routes down every hallway. Keep lines straight — the wayfinding engine uses them directly. 
  3. Segments are active by default; toggle Active or Inactive to reflect closures or renovations. Use one-way plus a penalty to bias routing where needed. 
  4. Each segment carries modes — Default and Accessible are on by default but you can create more as mentioned before. 
  5. Make sure that your Places (POIs) will connect properly to the segment you drew by toggling on the System generated paths to entrances in the filter menu.  AlexandreClay_11-1787158673054.png

 

AlexandreClay_13-1787158709900.png

 

3.2 Connect floors (and the campus) 

 

At each vertical connector, create a node: name it, set the type (Elevator, Stairs, Escalator, or Ramp), the direction (for example up_down), the wait time and time per floor, and the modes it serves. Then link the matching node on the floor above or below so routes can travel between levels. Repeat the graph on the campus and link the end nodes so buildings connect outdoors. 

 

AlexandreClay_14-1787158739610.png

 

Phase 4 — WSD synchronization (45–60 min) 

 

In order to display your Map to the end-user you will need to create a view. 

 

4.1 Configure the view 

 

  1. Go to View Editor > Default (or Edit), then select all content or add and/or remove the content you want to display or not. 
  2. Set campus, building and places display properties — Polygon display (you can play with the Opicaty to view the elements underneath), the Pin to center the camera, Default zoom, bearing, and pitch, etc. — then Save this style. 

AlexandreClay_15-1787158836959.png

NoteWSD currently supports a single view per module. The Default one is used for the Location Directory, where Kiosk is used for Visitor Management and Scenario Planning is used for Workplace Central.  

 

4.2 Integrate and synchronize with WSD

 

  1. Confirm the map renders: Go to Preview, then select your building. 
  2. If you enabled the wayfinding by creating directions, you can also test them here. 
  3. Now you need to Synchronize it into the WSD configuration. 
  4. Go to Workplace Core > Space Administration > Campuses and create your Campus, you will need it to synchronize the data with Indoor Mapping on the next step. 
    You don’t need to create the remaining records as Indoor Mapping will populate all the other. (Buildings, Floors, Spaces) 

NoteIf you currently have data in your instance for your campuses, you won’t have to create your data in WSD but you will need to reclassify them, you can learn more about it in this article: Location Migration - WSD 

 

AlexandreClay_16-1787159047259.png

 

  1. Run the Indoor Map / WSD synchronization (Space Mapping > Indoor Mapping Administration > Indoor Map / WSD Synchronizations) select your campus, map  the WSD Campus to the Indoor Map Campus and follow the different steps.

AlexandreClay_17-1787159089560.png

  1. Confirm space data flows through: Workplace Core > Space Administration > Campuses, open your campus, then the Spaces tab.  

Phase 5 — Advanced config and optimization (30–45 min) 

 

5.1 Place Properties Mapping (optional but high value) 

 

To pull richer space attributes (such as the measurements) from CAD into WSD: 

 

  1. In AutoCAD, if a unit is defined and your polylines are properly enclosed you can extract the measurements. 
  2. For measurements, if it’s not already there create INDOORMAP_COMPUTED_SQ_METERS (WSD Table Space [sn_wsd_core_space], field Total square meters) and INDOORMAP_COMPUTED_SQ_FEET (Total square feet). 
  3. Re-run the WSD synchronization to push the values through. 

5.2 Migration across instances 

 

A Snapshot is a point-in-time backup of your complete Indoor Mapping configuration and map data. Snapshots capture all map objects (campuses, buildings, floors, directions, etc.) so you can migrate them to other instances without manual reconfiguration. 

 

Create and Download a Snapshot 

 

  1. Navigate to Indoor Mapping > Snapshots. 
  2. Click New to create a snapshot record and name it. 
  3. Select or Unselect the Campus you want / don’t want to Migrate. 
  4. Select or not the associated Workplace Locations. 
  5. Click Submit and wait for the snapshot to be ready. 

AlexandreClay_18-1787159463821.png

  1. Open the snapshot record you created during Phase 1 or Phase 5  
  2. Click Download Snapshot, the system will generate an XML file containing all your map configuration 

Import the Snapshot to Target Instance 

 

On the target instance (where you want to deploy the map): 

 

  1. Navigate to All > System Update Sets > Retrieve Update Sets. 
  2. From Related Links, select Import Update Set from XML. 
  3. On the Import XML page, click Choose File and Select the XML snapshot file you downloaded. 
  4. Click Upload, System validates the file and creates an import record. 

Apply the Snapshot

 

  1. Navigate to Indoor MappingSnapshots  
  2. Open the newly imported snapshot record and Click Apply Snapshot and click Yes. 

Phase 6Reservable Module (3045 min) 

 

A Reservation Module is a category for each type of reservable space (e.g., "Conference Rooms," "Hotel Desks," etc.). You'll create one module per space type, linked to the Indoor Mapping places you created in Phase 3. 

 

For each module (e.g., "Meeting Rooms"): 

 

  1. Navigate to Workplace Reservation Management > Administration > Reservation Modules. 
  2. Click New and fill in:
    • Name/Title: (e.g., "Desks")
    • Inline Title: Title displayed on the portal 
  3. Reservable Table Configuration: Reservable table: Spaces [sn_wsd_core_space] 
    • Reservable filter:
    • Active is: True
    • Is Reservable is: True
    • Space type is: e.g.Workspace/Desk
    • Building.Is.reservable is: True
    • Floor.Is.reservable is: True
  4. Reservable Module Configuration: 
    • Short description: (e.g., "Bookable desks across all campuses")
      Some boxes are already selected OOB, but you could also add or change:
    • Multiple building reservation 
    • The time before employee can check-in 
    • Group Reservations 
    • The auto-resolve of recurring conflicts 
    • The number of occurrences
  5. Reservation Widget Configuration:
    Similar to the Reservable Module Configuration, there are more options you could add to your reservation such as:  
    • Possibility to add invitees
    • Attendees based search 
    • Display the reservation on behalf of
  6. Click Save and proceed to link spaces if not done previously (Phase 4 Step 4.2). 

Repeat for each space type (Hotel Desks, Meeting Rooms, etc.).  

 

Phase 7Validating the data (515 min) 

 

Now that your floor plan and your reservable module is configured, you can go to All > Employee Center to check if your Map is working. Once in the portal you can Make a reservation (/esc?id=wsd_search) and see if the map and your reservable module appear correctly. 

 

AlexandreClay_19-1787160332144.png

 

Go-live checklist:

 

  • Google Maps API key active (live base map). 
  • Place Types defined before import. 
  • Campus and building(s) created; polygons match real footprints. 
  • One DWG or DXF imported per floor, georeferenced at scale. 
  • POIs created with correct Place Types. 
  • Direction graph drawn; floors linked via connectors; routes return sane times. 
  • View configured and saved. 
  • Indoor Map / WSD sync is done. 
  • Map verified in the Portal as a mock user. 
  • Optional: place properties mapped and synced. 

Common errors and quick fixes 

 

Symptom 

Likely cause 

Fix 

Rooms have no fill, or show as points 

Open polylines, or text point outside room 

Re-close shapes; make sure label is inside the room in CAD 

No POIs at all 

Text was exploded or converted to shapes 

Restore native editable text and re-import 

No surface area in WSD 

Insertion Scale unit empty in CAD 

Set units, re-export, re-import, re-sync 

Map renders but not in WSD 

Sync not run or incomplete or View is not created. 

Re-run the Indoor Map / WSD synchronization and/or make sure that the view was created. 

Floors won’t route together 

Connector nodes not linked across floors 

Link the matching nodes on each level 

No address found while typing it 

API key issue 

Recheck the Google Maps API key setup 

 

Related articles