- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2025 06:34 AM
Greetings,
I am working with the out-of-the-box geolocation tracking feature in ServiceNow. I understand there are two ways data can be recorded in the geo_history table:
When saving or updating a record derived from the Task table (e.g., Work Order Task), and
Periodically, based on the system property glide.geolocation.tracking.frequency.
However, I am unable to get the automatic tracking (based on frequency) to work. I have field agents working with Work Order Tasks, and geolocation data is only being recorded when they perform specific actions such as "Start Travel", "Start Work", or "Close Complete". No location data is recorded in between these actions.
Is there anything additional I need to configure to enable continuous tracking? Any guidance would be appreciated.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-23-2025 08:56 AM
Hi @Joaquin_Aguirre, Agent location is not continuously/ tracked or logged to the geo_history table, and the geo_history table is only updated with an Agents location when they select "Start work" or "Start Travel". So the issue you're describing is working as expected.
I confirmed with the dev lead I work with that this is the expected behavior. He also replied with the following to take into consideration:
"Additionally there is a flow to periodically update the current location of agent also. However the precision of these periodic updates may be limited to latitude longitude alone and the time of the presence at a location may not be accurate.
These settings for frequency of sending latitude longitude are driven by functionality from Mobile platform and Mobile clients. Once configured the mobile clients start calling Geolocation APIs to update the latitude and longitude of the agent's mobile device.
There is one more condition for this - Since Apple and Google are cautious about location tracking features, along with enabling location features on the servicenow server, the Agent has to enable location tracking explicitly for Now agent app on their mobile device. It is OFF on the device by default."
Please let me know if there's anything else I can help out with.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @Joaquin_Aguirre, apologies for the delay, I was on PTO the last 2 weeks and just back today. I believe what you're looking for is the manual tracking the Junchi mentioned above^. Are you able to find that? Here is the excerpt from his reply:
Manual based let agents set the tracking duration despite the action buttons or pre-defined tracking details, agents could set it on Agent App => Location tracking. Action-based is more flexible and actions(functions that update a WOT) orientated while manual based is travel time hard coded, more suitable if agents only want to be tracked certain hours regardless of work status.
Please let me know if you need more help with this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
Hello @Daniel Hills ,
I am very sorry for the delay. This problem still leaves me with pending matters. After extensive research and testing on my instance, I finally have some progress. I would like to share this update on the work we have been doing with the geolocation of the Mobile Agent in the document I have attached.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
i added my notes here, the documentation is a bit spread out. there are also considerations based on IOS or android according to the doc
First, enable geolocation tracking on the sys_user form for each technician Enabling location tracking for users.
Then, the technician must enable geolocation (1) in their phone settings and (2) in the mobile app. SEE BELOW
MOBILE APP CONSIDERATION/HOW IT WORKS
Location tracking in offline:Location tracking is supported in offline. While offline, the user’s location and activity is collected and stored in the device. When the user goes back online, all the collected tracking data is synchronized to their instan
These coordinates are updated at a predefined interval based on geolocation data returned by your mobile device.
- Your position at the beginning of the day might be calculated from mobile device coordinates or from the location of the home office, whichever is more current.
- If you are starting the day completing a task that carried over from the previous day, the system uses the location of that task as your starting position.
- The system uses your precise location throughout the day to calculate accurate travel times, route your tasks automatically, and schedule fixed time windows.
Note: The actions such as start travel, start work, pause work, resume work, close complete, and close incomplete performed either from the desktop application or mobile application generate an entry in the geolocation history table
The system locates users from latitude and longitude information provided by their mobile devices or browsers. Tracking the location of certain users can improve business processes such as the completion of work order tasks. For example, in work management geolocation, the system updates an agent's position each time that agent updates a task record. When the system updates an agent's location frequently, agents and dispatchers can use features like auto-routing to create efficient schedules.
- Josh note:
- I believe Work Management is essentially what FSM used to be called, but ServiceNow hasn’t updated the documentation to reflect this.
- Geo_history gets updated whenver the agent updates a task record (wo/wot)
When a user has geolocation tracking enabled, the system updates the user's geographic coordinates whenever the user opens, or loads, a record from the Task [task] table or from a table that extends Task. After this initial update, the system continues to update the user's geographic coordinates at a recurring interval if the user does not close or reload the record. To edit the length of this interval, navigate to Geolocation > Administration > Geolocation Properties and change the setting for the property that regulates the update interval for the user's location. The default setting for this property is 300 seconds (5 minutes).
- Josh note:
- The following properties (#1 and #2) control how the user’s geo_history is updated when the record remains open and the user does not close or reload it (active session, users are performing their tasks)).
- BUT there are ios/android considerations (see highlighted notes below)
- IOS: IGNORE THESE 2 PROPERTIES, depends on operating system
- Android: update your instance every 15 minutes
#
Geolocation properties (Geolocation > Administration > Geolocation Properties)
Sys_property
1
Minimum distance an agent must move to be considered in a new location (in meters)
glide.geolocation.proximity
Perimeter that defines a single location in which multiple tasks are present. This property prevents the system from creating unnecessary history records when multiple tasks are in the same general location.
Note: A user's geo_history will not be logged if the user remained at approximately the same location, even if this property is set to 0.
This system property measures the minimum distance in meters that a user must move to be considered a new location. The default is 500 meters.
Minimum distance an agent must move to be considered in a new location (in meters). This setting establishes a geolocation perimeter that prevents ServiceNow from creating unnecessary history records when an agent has multiple tasks in the same vicinity. An example of this might be when an agent has several tasks in one building. The system assumes that all task activity within the specified radius is part of a single record and does not create additional records when the agent moves from task to task around the building.
Note: The iOS version of the app updates geolocation only when the mobile device detects a significant location change, which is determined by the your device's operating system. When the operating system updates its location, your app updates with that location change. Distance and time property values are not honored for the iOS version of ServiceNow apps.
2
Minimum amount of time between updating the user's location (in seconds)
glide.geolocation.tracking.frequency
Minimum amount of time between updating the user's location (in seconds): Time period the system waits before updating a user's location, regardless of how often the user accesses tasks.
This system property measures the amount of time in seconds when an update of the user’s location is recorded. The default is 300 seconds.
Sets the length of the recurring interval, in seconds, that the system waits between attempts to update a user's geographic coordinates. The system updates geographic coordinates only for users who have geolocation tracking enabled.
Minimum amount of time between updating the user's location (in seconds). This setting defines how long the system waits before updating an agent's location, regardless of task activity or travel. This prevents ServiceNow from creating unnecessary history records if an agent in one location views a task multiple times.
Note the following:
- The Android version of the app updates geolocation data at 15 minute intervals. The app collects a user's location using the interval set in this property, but that data is still uploaded to your instance every 15 minutes.
- The iOS version of the app updates geolocation only when the mobile device detects a significant location change, which is determined by the your device's operating system. When the operating system updates it's location, your app updates with that location change. Distance and time property values are not honored for the iOS version of ServiceNow apps.
3
Maximum distance an agent can be from a specific location and still be placed at that location (in meters)***
glide.geolocation.proximity.location
Distance that a user can be from a specified location and still be placed at that location when the system creates history data.
4
Number of days to keep history data
glide.geolocation.history.cleanup
Time period for which the system retains history data.
**properties for tracking option = manual, for action based/a different plugin is required/config (properties) is also different seeConfiguring action-based location tracking
Property #1 example
- Property set to 50 meters.
- An agent is at a customer site and moves around the parking lot or inside the building (about 30 meters of movement).
- Result: No new geo_history record is created, because they are still considered “in the same location.”
- If the agent drives 200 meters down the street, then the system creates a new geo_history record.
Property #3 example
- Property set to 100 meters.
- A customer’s office coordinates in cmn_location are slightly off, so when the agent arrives, their GPS shows them 80 meters away.
- Result: The system still counts the agent as “at that location” in geo_history.
- If the agent is 150 meters away, the system does not associate them with that location…. it treats them as being elsewhere.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-23-2025 09:26 AM - edited 07-23-2025 09:27 AM
@Joaquin_Aguirre , see this link (read the note section)
Location tracking
Geolocation adds the Geolocation tracked field to the User form. In the default view of a user record, select the Geolocation tracked check box to enable location tracking for the user.
When a user has geolocation tracking enabled, the system updates the user's geographic coordinates whenever the user opens, or loads, a record from the Task [task] table or from a table that extends Task.
After this initial update, the system continues to update the user's geographic coordinates at a recurring interval if the user does not close or reload the record. To edit the length of this interval, navigate to Geolocation > Administration > Geolocation Properties and change the setting for the property that regulates the update interval for the user's location. The default setting for this property is 300 seconds (5 minutes).
- The system can update geographic coordinates only for users who have location services enabled in their browsers. Even users who have the Geolocation tracked check box selected may be prompted by their browsers to share or withhold their location.
- A user's geo_history will not be logged if the user remained at approximately the same location, even if the Minimum distance an agent must move to be considered in a new location (in meters) property is set to 0.