ServiceFlow Pro Docs
Jobs & Scheduling

Live GPS Tracking

Elijah Johnson · Published · Updated · 4 min read
When Google Maps is configured (Settings to Integrations), the map uses Google with Map / Satellite / Hybrid controls. Live Tracking (/tracking) connects to the real-time websocket feed and plots technicians on an interactive map. Without Google Maps, it falls back to OpenStreetMap tiles.
Markers show: - Status color : available, busy, on break, or offline/stale - Avatar or initials per technician - Tooltip/popup with name. Open Tracking from the main navigation (/tracking). Use sub-nav links for related tools: - Time Clock to /tracking/time-clock - Time Management to /tracking/management - Compliance Reports. View live technician positions when the mobile app sends location updates (while logged in with Location Tracking on). Distinguish live vs stale locations (stale markers appear muted). Filter map markers by status: available, busy, break. Toggle Auto-follow to keep all visible technicians in view. Recenter the map on the current fleet. See connection status and last update timestamp. Navigate to time and compliance tools via Tracking sub-navigation. Field users must be logged in on the mobile app with Location Tracking enabled in their profile (default on). /tracking step 4 is Monitor the field fleet.

Overview

Live Tracking (/tracking) connects to the real-time websocket feed and plots technicians on an interactive map. When Google Maps is configured (Settings → Integrations), the map uses Google with Map / Satellite / Hybrid controls. Without Google Maps, it falls back to OpenStreetMap tiles. Markers show:
  • Status color: available, busy, on break, or offline/stale
  • Avatar or initials per technician
  • Tooltip/popup with name, status, current job, and last update
Filters let you focus on active statuses, auto-follow the fleet bounds, and recenter the map manually.
This feature is available today—not a “coming soon” preview.

How to access

  1. Sign in to ServiceFlow.
  2. Open Tracking from the main navigation (/tracking).
  3. Use sub-nav links for related tools:
    • Time Clock → /tracking/time-clock
    • Time Management → /tracking/management
    • Compliance Reports → /tracking/reports

How do you view live technician positions when the mobile app sends location updates (while logged in with Location Tracking on)?

View live technician positions when the mobile app sends location updates (while logged in with Location Tracking on).
  • View live technician positions when the mobile app sends location updates (while logged in with Location Tracking on).
  • Distinguish live vs stale locations (stale markers appear muted).
  • Filter map markers by status: available, busy, break.
  • Toggle Auto-follow to keep all visible technicians in view.
  • Recenter the map on the current fleet.
  • See connection status and last update timestamp.
  • Navigate to time and compliance tools via Tracking sub-navigation.

Prerequisites

  • Field users must be logged in on the mobile app with Location Tracking enabled in their profile (default on). Clock-in is not required to share GPS.
  • Device location permission must be granted (foreground; background optional for updates when the app is not open).
  • Websocket connectivity between browser and API (WS URL configured in your environment).
  • Valid login token—expired sessions show an authentication error on the map.
  • Dispatchers need permission to open Tracking (typically managers, dispatch, admins).
  • Optional — Satellite / Hybrid: connect Google Maps under Settings → Integrations (same key used for customer maps and geocoding).

Step-by-step

Monitor the field fleet

  1. Go to Tracking (/tracking).
  2. Wait for Connected status in the UI.
  3. Review markers—green (available), amber (busy), blue (break), gray (offline/stale).
  4. Hover or tap a marker for technician name and current job.

Focus on available techs

  1. Open the status filter control.
  2. Enable only Available (and optionally Busy if rerouting).
  3. Use Recenter to zoom to visible technicians.

Troubleshoot missing locations

  1. Confirm the technician is logged in on mobile, Location Tracking is enabled in profile, and location permissions are granted.
  2. Check stale vs live counts—stale means no recent ping.
  3. If the page shows connection failed, verify websocket URL and network/firewall rules.
  4. Re-login if you see invalid or expired token.

Example: who is actually driving to the 2 p.m. call

Dispatch opens Tracking (/tracking). The map plots technicians from the websocket feed. With Google Maps connected under Settings → Integrations, the control is Map, Satellite, or Hybrid. Without that key, tiles fall back to OpenStreetMap. The page is live. It is not a coming-soon preview.
A marker's color is status: available, busy, on break, or offline. Stale locations are muted, which means the phone stopped sending, not that the person is home. The popup shows name, status, current job, and last update. Filter to available when you need the next truck. Auto-follow keeps the visible fleet in frame. Recenter does that once. The connection status on the page tells you whether the browser still has the websocket. A red or disconnected state means you are looking at the last positions, not a live map.
The technician must be logged into the mobile app with Location Tracking on. That setting defaults on. Clock-in is not required for GPS. A person who is logged in and has not clocked in can still appear. The phone must allow location. Foreground permission is the minimum. Background permission is what keeps points coming when the app is not on screen. If they deny location, the office map cannot invent a pin.
Sub-nav from this page goes to Time Clock (/tracking/time-clock), Time Management (/tracking/management), and Compliance Reports (/tracking/reports). Those are time records. This page is position. A pin on a job site does not clock them in, and a clock-in does not move the pin if location is off.

Current limitations

  • Map shows last known point, not turn-by-turn navigation or historical trails on this screen.
  • Satellite / Hybrid requires Google Maps to be configured; otherwise the map uses OpenStreetMap (street map only).
  • This is a 2D Google Maps basemap (not photorealistic 3D Google Earth).
  • Technicians without recent location updates appear stale or hidden depending on filters.
  • Requires continuous connectivity; brief disconnects may pause updates until reconnect.
  • Location accuracy depends on device GPS and permission settings.

Related features