# Geotab integration: location, fault codes and idle time

> Geotab feeds Roadmark GPS location, engine fault codes and idle time, so tracking's ETA, a unit's card and dispatch planning all use current data.

URL: https://roadmark.ai/integrations/geotab
Language: en
Last updated: 2026-10-01

**TL;DR:** Roadmark reads GPS location, engine fault codes and idle time from Geotab. Location is what tracking turns into an ETA, and fault codes and idle time land on the same unit card as a driver's hours and trailer, before dispatch plans that unit's next load.

## What syncs

One row for each kind of record: which way it moves, and when.

| What | Direction | When |
| --- | --- | --- |
| Location | Geotab to Roadmark | Every few minutes |
| Engine fault codes | Geotab to Roadmark | When Geotab reports a fault |
| Idle time | Geotab to Roadmark | Every few minutes |

## Setting up Geotab

1. **Add a service account in MyGeotab:** An admin adds a user under People > Users & Drivers with Service Account as its authentication type and View only clearance, rather than sharing a personal login, and gives Roadmark the database name and that account's credentials.
2. **Choose what syncs:** Turn on location, engine fault codes and idle time, or leave any of them off.
3. **Test with a real load:** Run one load through it and check that the location and any fault on the unit match what MyGeotab shows, before turning it on for everything.

### Before you start

- A MyGeotab admin who can add a service account to your database.

A unit running Geotab reports its position continuously, and separately
reports engine fault codes and idle time as they happen. Roadmark reads all
three: location is what [tracking](https://roadmark.ai/tracking) turns into an ETA, and fault
codes and idle time land on the unit's own card, next to its hours of
service, trailer and home time, the same card dispatch planning checks
before it puts a driver on the next load.

## What Geotab actually reports

Geotab's [MyGeotab API](https://developers.geotab.com/myGeotab/introduction/)
exposes fleet data as typed objects. A fault comes through as a
[FaultData](https://developers.geotab.com/myGeotab/apiReference/objects/FaultData/)
record, tied to a specific device and a `Diagnostic`, and Geotab documents
support for reading standard [OBD-II and J1939 fault
codes](https://support.geotab.com/mygeotab/doc/obd-fault-data) from it.
Engine measurements come through as
[StatusData](https://developers.geotab.com/myGeotab/apiReference/objects/StatusData/)
records, and each [Trip](https://developers.geotab.com/myGeotab/apiReference/objects/Trip/) record carries its
idling time, counted while the speed is zero and the ignition is on.
Location comes through as [LogRecord](https://developers.geotab.com/myGeotab/apiReference/objects/LogRecord/)
records, the device's position and speed at a point in time. Roadmark reads
these and doesn't touch how the Geotab device runs in the vehicle.

## Connecting the two

MyGeotab doesn't issue a separate developer API key. Its own guidance is
that a connection needs a MyGeotab database, an appropriately scoped user,
and a password, and Geotab's [service account
guidance](https://support.geotab.com/help/mygeotab/access-and-administration/database-administration/service-accounts)
recommends a service account, a user with the Service Account
authentication type and View only clearance for reading data, rather than a
person's own login. An admin sets that account up once and gives Roadmark the database name
and credentials; nothing about how a dispatcher or driver uses MyGeotab
changes.

## Where it shows up

Location is one of five sources Roadmark checks for a load's status,
alongside the [driver app](https://roadmark.ai/driver-app), a carrier's own app or an EDI 214,
visibility networks, and a check call when nothing else is reporting. A
fault code doesn't wait for a shop visit to matter: it's visible on the
unit's card the moment dispatch planning looks at that unit for the next
load, next to the hours of service and home time already there. Idle time
sits on the same card, so a unit that's been sitting shows up next to the
one that's been driving, without a dispatcher pulling a separate report.

## A Tuesday example

On the [carriers](https://roadmark.ai/carriers) board, unit 207 (T. Okafor) is running
Toronto to Detroit, then a backhaul from Windsor to London. With Geotab
connected, that unit's position updates on the board the whole way, so
tracking has an ETA for both legs without anyone calling ahead. If Geotab
reports a fault code partway through the first leg, it shows up on unit
207's card next to T. Okafor's remaining hours, before dispatch planning
looks at that unit for the Windsor leg, not after a shop finds it at the
next inspection. And if the unit sits at a dock longer than expected, the
idle time on its card is what shows a dispatcher it's stopped, not just
that it hasn't arrived yet.

## For a fleet switching ELDs

A carrier moving from one ELD to Geotab, or running Geotab on some units
and a different ELD on others, doesn't lose the unit card in the meantime.
Roadmark reads whichever connected ELD a unit reports to, and the card
looks the same either way: hours of service, trailer, home time, and now
location, fault codes and idle time from Geotab. Nothing about how a
dispatcher works the board changes because a unit's ELD changed.

For a fleet already running Geotab, connecting it mostly means the board
and the unit's own card catch up to what the device has been reporting all
along: an ETA built from the truck's actual position, and a fault or a long
idle that a dispatcher sees before it becomes a bigger problem.

## Questions about Geotab and Roadmark

### What does Roadmark read from Geotab?

GPS location, engine fault codes and idle time, the same three the Geotab integration is listed for in the directory.

### Does a Geotab fault code show up before a unit is dispatched?

Yes. Engine faults land on the unit's own card alongside its hours of service, trailer and home time, the same card dispatch planning checks before putting a driver on the next load.

### Does connecting Geotab change how detention is billed?

No. Roadmark bills detention from the ELD's arrival and departure times at the dock, measured against the free time in the rate confirmation, whichever ELD is connected.

### Do I need a new device in the truck?

No. Roadmark reads from the Geotab device already in the vehicle; there's nothing new to install.

### Do I need a separate developer API key?

No. MyGeotab's own guidance is that a database, an appropriately scoped user and its password are what a connection needs, not a separate API key.

## Related pages

- [Tracking](https://roadmark.ai/tracking): The few loads that need you, with reasons
- [Asset carriers](https://roadmark.ai/carriers): Fleets that plan, dispatch and settle
- [Billing and settlements](https://roadmark.ai/billing): Invoices, driver pay and carrier pay
- [Driver app](https://roadmark.ai/driver-app): Stops, documents and pay on the phone
- [Samsara integration: hours of service and ETAs](https://roadmark.ai/integrations/samsara): Samsara feeds Roadmark hours of service, location and engine data every few minutes, so tracking ETAs, dispatch planning and detention all use current data.
- [Motive integration: hours of service and DVIR](https://roadmark.ai/integrations/motive): Motive feeds Roadmark hours of service, location, inspections and diagnostics, so tracking, dispatch planning and detention billing use current ELD data.

Companies, people and shipment figures in product examples are fictional. They illustrate workflows and are not customer testimonials or measured results.