Ellipse Gradient for Header

Geotab Integration Guide

Integrate MyGeotab fleet and telematics data with enterprise systems through its HTTP-based JSON-RPC API, incremental feeds, and analytics exports.

Geotab integration options at a glance

MyGeotab provides an HTTP-based JSON-RPC API for authentication, querying, and managing supported entities such as Device, Trip, LogRecord, Driver, and ExceptionEvent. Its GetFeed method supports incremental retrieval using continuation values, making it suitable for recurring synchronization of high-volume telemetry and event data. Geotab also provides Data Connector capabilities for selected analytical and reporting scenarios, although these are separate from direct operational database access. A universal webhook mechanism for all entity changes was not confirmed. Martini can call the API over HTTPS, schedule feed-based workflows, persist checkpoints, map JSON payloads, apply business rules, and route results to applications, databases, or analytical platforms.

Integration pointSupported by Geotab?Common use casesHow Martini supports it
MyGeotab JSON-RPC HTTP APIYesAuthenticate and retrieve, add, update, or remove supported MyGeotab entities using methods such as Authenticate, Get, Add, Set, and Remove. This is the primary operational integration mechanism.Martini can consume the HTTP API from workflows, construct method and parameter payloads, parse JSON responses, apply validation, and route results to other systems.
Incremental synchronization with GetFeedYesRetrieve new or changed LogRecord, StatusData, Trip, ExceptionEvent, FaultData, and other supported objects after an initial synchronization. Feed versions or continuation values support restartable polling.Martini can schedule GetFeed workflows, persist a checkpoint per database and entity stream, process bounded batches, and advance the checkpoint only after downstream success.
Bulk or asynchronous retrievalLimitedGetFeed provides incremental, high-volume retrieval, but a general-purpose bulk export or asynchronous job API was not confirmed for the core MyGeotab API.Martini can orchestrate bounded feed requests, batching, throttling, checkpointing, and retries without treating the API as a conventional bulk-job service.
AuthenticationYesThe Authenticate method uses a MyGeotab database name, user name, password, and server or regional environment, returning session information for later calls. Permissions depend on the integration user and database configuration.Martini can keep credentials in secure environment configuration, authenticate at workflow start or session renewal, and pass session information to subsequent API calls.
Webhooks or outbound callbacksNot confirmedA universal webhook mechanism for all MyGeotab entity changes was not confirmed. Event-oriented capabilities should be validated for the specific Geotab product, event type, and subscription model.Martini can consume a confirmed callback if Geotab provides one for the required event, but scheduled GetFeed polling is the safer documented default.
Data Connector and analytics accessLimitedGeotab Data Connector supports analytical access or exports for supported reporting scenarios. It is separate from direct operational database access, with destination, freshness, and object coverage dependent on subscription and provisioning.Martini can coordinate processing of supported Data Connector output or combine analytical ingestion with API-based enrichment, while keeping operational and analytical pipelines distinct.
SDKs and client librariesLimitedGeotab provides API documentation, examples, and developer resources, and implementations may use suitable client libraries where available. An SDK is not required for direct HTTP and JSON integration.Martini can call the documented API directly and use custom JVM-compatible logic only where standard HTTP and JSON workflow capabilities are insufficient.

How Geotab exposes data and business events

MyGeotab JSON-RPC API

The MyGeotab API is an HTTP-based JSON-RPC API rather than a conventional REST resource API. It exposes methods such as Authenticate, Get, GetFeed, GetCountOf, Add, Set, and Remove for supported entities and operations.

Martini implementation pattern

Martini implementation pattern: a workflow builds the Geotab method and parameter payload, authenticates with a dedicated integration user, sends the request over HTTPS, validates the JSON response, and maps the result to a canonical or target model. Session information and regional configuration are kept outside business mappings where possible.

Implementation sequence

Load the secure database, user, password, and server configuration
Authenticate with the MyGeotab Authenticate method
Build the method and parameter payload for the required entity
Send the JSON-RPC request over HTTPS
Validate the response and classify API errors
Map the returned entity data to the target model

GetFeed incremental synchronization

GetFeed is the preferred documented mechanism for retrieving new or changed records after an initial synchronization where the entity supports it. It uses a feed version or continuation value and is particularly relevant to LogRecord, StatusData, Trip, ExceptionEvent, and FaultData.

Martini implementation pattern

Martini implementation pattern: a scheduled workflow reads the last successful feed version from durable state, requests the next bounded batch, processes all records, and updates the checkpoint only after downstream writes complete. Failed batches can be retried without advancing the checkpoint.

Implementation sequence

Read the saved feed version for the database and entity stream
Authenticate and request the next GetFeed batch
Transform and validate each returned object
Write the batch to the downstream system
Retry transient failures or route permanent failures for review
Persist the new feed version after successful processing

Data Connector analytics access

Geotab Data Connector provides analytical access or exports for supported reporting scenarios. It is separate from the transactional MyGeotab API and should not automatically be treated as direct access to the operational database.

Martini implementation pattern

Martini implementation pattern: Martini coordinates the processing of available Data Connector output or combines it with API-based enrichment, then maps the data into a warehouse or reporting model. The destination, freshness, object coverage, and provisioning model must be confirmed for the customer subscription.

Implementation sequence

Confirm the Data Connector destination and available data scope
Receive or retrieve the supported analytical output
Validate freshness, schema, and source identifiers
Map the data to warehouse or reporting tables
Apply retention, aggregation, and deduplication rules
Record the load result and monitor subsequent batches

Geotab event notifications

A universal webhook mechanism for all MyGeotab entity changes was not confirmed. Geotab event-oriented capabilities may exist within particular products or scenarios, but the event type and subscription model must be validated before use.

Martini implementation pattern

Martini implementation pattern: if Geotab confirms a suitable callback, Martini can expose or consume the required API endpoint, validate the notification, retrieve the current entity when necessary, and invoke the same mapping and idempotency logic used by polling workflows. Otherwise, use scheduled GetFeed synchronization.

Implementation sequence

Confirm the specific Geotab notification capability and event scope
Receive and authenticate the confirmed callback if available
Retrieve the current entity when the notification is not complete
Apply deduplication and business rules
Write the event or entity to the target system
Use scheduled GetFeed polling as the fallback synchronization path

Common Geotab integration patterns

Pattern 1: Synchronize incremental vehicle telemetry

When to use this pattern

Use this pattern when an enterprise warehouse or analytical platform needs recurring LogRecord, StatusData, or Trip data without repeatedly extracting the full historical dataset. It is appropriate for high-volume fleet telemetry and restartable processing.

Integration direction
Geotab
Martini
Snowflake
Example Mapping
Geotab FieldCanonical FieldTarget Field
Device.idvehicle.deviceIdvehicle_device_id
Trip.starttrip.startedAttrip_start_utc
Trip.distancetrip.distancedistance
LogRecord.latitudetelemetry.latitudelatitude
Martini implementation pattern

A scheduled Martini workflow authenticates to MyGeotab, reads the saved feed version, calls GetFeed, transforms records into warehouse batches, validates timestamps and identifiers, and writes idempotently to Snowflake. The workflow advances the checkpoint only after the batch commits and routes failed records or batches for retry.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • JSON handling
  • data mapping
  • database persistence
  • checkpoint management
  • error handling

Pattern 2: Distribute safety and exception events

When to use this pattern

Use this pattern when speeding, harsh braking, vehicle faults, or other configured exceptions must create operational work in an incident or issue-management platform. Severity, deduplication, and enrichment rules are central to the design.

Integration direction
Geotab
Martini
ServiceNow
Example Mapping
Geotab FieldCanonical FieldTarget Field
ExceptionEvent.idevent.sourceIdcorrelation_id
ExceptionEvent.ruleevent.ruleNameshort_description
ExceptionEvent.deviceevent.deviceIdcmdb_ci
ExceptionEvent.activeFromevent.occurredAtopened_at
Martini implementation pattern

Martini retrieves ExceptionEvent and related Device or Driver information through scheduled feed calls, filters events by severity, enriches them with fleet context, and creates or updates ServiceNow incidents. Stable Geotab identifiers support idempotency, while transient API or target failures use bounded retries and a review queue.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • data enrichment
  • business rules
  • data mapping
  • idempotency
  • retry handling

Pattern 3: Synchronize fleet master data

When to use this pattern

Use this pattern when enterprise applications need a normalized view of Geotab devices, drivers, users, groups, or zones. It supports onboarding, ownership reconciliation, and consistent references for downstream telemetry and event workflows.

Integration direction
Geotab
Martini
Microsoft Dynamics 365
Example Mapping
Geotab FieldCanonical FieldTarget Field
Device.idfleet.assetIdasset_number
Device.namefleet.assetNamename
Driver.idperson.driverIdsystemuser_id
Zone.namelocation.zoneNameterritory_name
Martini implementation pattern

A Martini workflow retrieves the selected entities, compares source identifiers with the target application, applies create-or-update rules, and validates group permissions and nullable fields. It stores synchronization state and reports rejected mappings without blocking unrelated valid objects.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • data mapping
  • validation
  • business rules
  • durable state
  • monitoring

Pattern 4: Load Geotab data into an analytical model

When to use this pattern

Use this pattern when fleet data must be consolidated for reporting, utilization analysis, driver behavior analysis, or data science. It separates analytical ingestion from operational writes and allows the customer to use either supported API feeds or Data Connector output.

Integration direction
Geotab
Martini
Power BI
Example Mapping
Geotab FieldCanonical FieldTarget Field
Trip.distancefact_trip.distanceDistance
Device.iddim_vehicle.sourceIdVehicleId
Driver.iddim_driver.sourceIdDriverId
ExceptionEvent.rulefact_exception.ruleNameExceptionRule
Martini implementation pattern

Martini coordinates API or Data Connector ingestion, normalizes source timestamps to UTC, maps entities into dimensional or reporting structures, and applies retention and aggregation policies. Batches are checkpointed and replayable so a failed load can be retried without duplicating analytical facts.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • file or output processing where applicable
  • data transformation
  • database connectivity
  • checkpointing
  • error handling

Applications commonly integrated with Geotab

Geotab fleet data can be incorporated into customer engagement, service management, financial, operational, and analytical processes. The exact entities, permissions, and direction should be validated against the customer’s MyGeotab database and the target application model.

Application Scenario Direction Martini Pattern
Salesforce Associate fleet activity, vehicle status, and service events with customer accounts, field-service teams, or customer engagements. Geotab → Martini → Salesforce A scheduled Martini workflow retrieves Device, Trip, StatusData, or ExceptionEvent data, enriches it with relevant vehicle or account references, applies duplicate and severity rules, and writes the normalized result to Salesforce.
ServiceNow Create incidents or operational tasks from safety exceptions, vehicle faults, and maintenance-related events. Geotab → Martini → ServiceNow Martini polls supported Geotab entities with GetFeed, maps severe ExceptionEvent or FaultData records to ServiceNow incident fields, applies routing rules, and retries or dead-letters failed writes.
SAP S/4HANA Reconcile fleet assets, operating costs, maintenance information, and organizational ownership with enterprise resource planning data. Geotab → Martini → SAP S/4HANA Martini coordinates scheduled Geotab extraction with SAP API calls, maps device and fleet identifiers to SAP master-data references, validates organizational ownership, and records processing checkpoints.
Oracle NetSuite Send fleet-related expenses, fuel information, or asset data into financial and operational processes. Geotab → Martini → Oracle NetSuite A Martini workflow retrieves FuelTransaction, Device, or related operational data, transforms it into NetSuite-compatible records, validates accounting dimensions, and handles rejected batches separately.
Microsoft Dynamics 365 Enrich field-service and asset-service processes with vehicle location, status, and trip information. Geotab → Martini → Microsoft Dynamics 365 Martini retrieves current or incremental Geotab data, maps vehicle and driver identifiers to Dynamics records, applies field-service routing rules, and exposes reusable services for selected reverse updates.
Power BI Analyze mileage, utilization, driver behavior, exceptions, and fleet performance. Geotab → Martini → Power BI Martini can orchestrate API or Data Connector output into a curated warehouse or reporting dataset, normalize timestamps and dimensions, and publish bounded analytical loads rather than repeatedly transferring raw telemetry.
Snowflake Centralize telemetry and fleet data for enterprise analytics, reporting, and data science. Geotab → Martini → Snowflake A scheduled Martini pipeline retrieves supported feeds or processes Data Connector output, maps entities into warehouse tables, persists feed checkpoints, and uses idempotent loading for replayable batches.
Jira Track engineering, operations, or fleet technology issues generated from vehicle, device, or fault exceptions. Geotab → Martini → Jira Martini filters and enriches Geotab ExceptionEvent or FaultData records, creates Jira issues for qualifying conditions, stores source identifiers, and suppresses duplicate issue creation.

How to build a Geotab integration in Martini

Objective

Establish access to the MyGeotab database using a dedicated integration user with only the permissions required for the selected entities and methods.

Instructions in Martini

  • Store the database name, user name, password, server or regional environment, and session configuration in secure Martini environment settings.
  • Use the MyGeotab Authenticate method before subsequent API calls or renew the session when required.
  • Validate the production user’s database scope and group visibility.

Objective

Select a schedule, API invocation, or confirmed callback based on the required freshness and the Geotab capability available for each entity.

Instructions in Martini

  • Use a Scheduler Trigger for GetFeed-based recurring synchronization.
  • Use an API entry point when another application needs to request an on-demand fleet operation.
  • Use a Geotab callback only after the specific notification capability and event scope are confirmed.

Objective

Retrieve an initial bounded dataset or incremental changes while preserving feed state and respecting request limits.

Instructions in Martini

  • Use Get for scoped entity retrieval and GetFeed for supported incremental streams.
  • Persist feed versions by database, entity type, and synchronization stream.
  • Use bounded batches and avoid repeatedly requesting complete historical telemetry.

Objective

Coordinate authentication, retrieval, enrichment, validation, target writes, checkpointing, and recovery as one maintainable Martini workflow.

Instructions in Martini

  • Separate operational synchronization from analytical ingestion where volume or freshness requirements differ.
  • Add branches for authentication, permission, validation, transient, and permanent failures.
  • Keep checkpoint updates after successful downstream processing.

Objective

Convert Geotab entity payloads into a canonical or target-specific model while handling optional fields, timestamps, identifiers, and high-volume records.

Instructions in Martini

  • Map stable Geotab identifiers to target keys.
  • Normalize timestamps to UTC and retain local context when reporting requires it.
  • Preserve unknown or optional fields where forward compatibility is important.

Objective

Enforce business decisions such as exception severity, routing, duplicate suppression, retention, and target ownership before writing data.

Instructions in Martini

  • Route severe ExceptionEvent records to the appropriate incident or issue workflow.
  • Enrich events with Device, Driver, Group, or Zone context where permitted.
  • Use idempotent keys for Trip, ExceptionEvent, telemetry, and master-data writes.

Common Geotab data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
DeviceRepresents a vehicle, GO device, or other telematics device associated with a Geotab account.SAP S/4HANA, Microsoft Dynamics 365, Salesforce, SnowflakeMartini retrieves Device data with Get or GetFeed where supported, maps stable identifiers and ownership fields, validates group visibility, and performs idempotent upserts.
DeviceStatusInfoProvides current device and vehicle status information for operational monitoring and fleet views.ServiceNow, Microsoft Dynamics 365, Salesforce, SnowflakeMartini retrieves status data on a schedule, normalizes timestamps and status values, applies routing or alert rules, and forwards only relevant changes.
LogRecordContains GPS and vehicle telemetry collected from a device.Snowflake, Power BI, data warehouses, analytical platformsMartini uses incremental feed retrieval, transforms high-volume JSON into warehouse-oriented batches, preserves source identifiers, and applies retention and replay controls.
TripRepresents a vehicle trip with timing, distance, location, and related driving information.Snowflake, Power BI, Salesforce, Microsoft Dynamics 365Martini maps trip boundaries, vehicle references, distances, and timestamps into target models, using feed checkpoints and duplicate detection for recurring synchronization.
ExceptionEventRepresents a rule-related event such as speeding, harsh braking, or another configured exception.ServiceNow, Salesforce, Jira, SnowflakeMartini filters by severity and rule, enriches events with Device, Driver, or Group data, creates target incidents or tasks, and prevents duplicate notifications.
DriverIdentifies a driver assigned to devices, trips, or operational activities.SAP S/4HANA, Microsoft Dynamics 365, Salesforce, SnowflakeMartini synchronizes driver identifiers and attributes, applies permission and group-scope checks, and links driver data to trips and exception events.

Authentication and security considerations

Session-based authentication

MyGeotab authentication uses the Authenticate method with a database name, user name, password, and server or regional environment. The returned session information is used in later API calls.

Least-privilege access

Use a dedicated integration user with only the database access, group visibility, and permissions required for the selected entities and methods.

Martini security controls

  • Store Geotab credentials and session-related configuration in secure environment settings or secrets.
  • Do not embed passwords in mappings, workflow definitions, or custom code.
  • Protect any Martini API exposed to downstream applications with appropriate authentication and authorization.
  • Exclude passwords and sensitive credentials from logs and diagnostic payloads.

Operational considerations for Geotab integrations

Rate limits and request sizing

Confirm applicable limits for the customer environment and API method. Prefer scoped queries and GetFeed over repeated full-history retrievals, and use backoff for transient failures.

Checkpoints and idempotency

Persist feed versions by database, entity, and synchronization stream. Advance a checkpoint only after downstream processing succeeds, and use stable identifiers to make replayed batches safe.

Data volume and timestamps

LogRecord and StatusData can produce substantial volumes. Separate analytical ingestion from transactional workflows where appropriate, normalize timestamps to UTC, and define retention and aggregation rules.

Schema and permissions

Optional fields, diagnostics, rules, groups, and returned records can vary by customer configuration and user permissions. Test with the production-equivalent role, monitor API changes, and preserve unknown fields when forward compatibility matters.

Monitoring and recovery

Record the Geotab method, entity type, correlation information, response classification, batch size, and checkpoint state. Use retries for transient failures and a review or dead-letter path for records that remain unprocessable.

Why use Martini instead of scripts or point-to-point integrations?

Reusable orchestration

Martini centralizes Geotab authentication, scheduled retrieval, feed checkpointing, mappings, enrichment, business rules, and target-system writes in maintainable workflows rather than scattering logic across scripts.

Reliable synchronization

Workflows can make incremental processing restartable, apply idempotent writes, classify failures, retry transient conditions, and preserve rejected data for investigation.

Flexible enterprise integration

Martini can consume the MyGeotab JSON-RPC API, connect to databases and analytical destinations, expose APIs for normalized fleet data, and coordinate multiple target applications without treating Geotab as an isolated point-to-point script.

Controlled change management

Mappings, validation, permissions, environment configuration, and monitoring are managed as reusable integration assets. This makes it easier to accommodate customer-specific entities, optional fields, data volumes, and target-system changes.

Frequently asked questions

How can Geotab be integrated with enterprise systems?

Geotab can be integrated through the MyGeotab HTTP-based JSON-RPC API. Enterprise workflows can authenticate with the Authenticate method, retrieve supported entities with Get or GetFeed, process incremental changes using feed versions, and send normalized data to applications, databases, warehouses, or reporting platforms. Geotab Data Connector may also support selected analytical use cases.

Can Martini integrate with Geotab?

Yes. Martini can consume the MyGeotab API over HTTPS, authenticate using Geotab session-based credentials, schedule GetFeed synchronization, map JSON payloads, apply business rules, and write results to enterprise systems. A callback-based design should be used only when Geotab confirms the required event capability.

Do I need a connector to integrate Geotab with Martini?

No. A dedicated Geotab connector is not required. Martini can use Geotab’s documented HTTP and JSON-RPC API, authentication method, incremental feeds, and any specifically confirmed callback or analytics mechanisms through workflows and APIs.

Is there any extra Lonti cost to integrate Geotab with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Geotab. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Geotab, cloud infrastructure, data warehouse services, or other third-party systems depending on subscriptions, usage, and deployment model.

Which Geotab integration methods should be used?

Use the MyGeotab JSON-RPC API for operational access and GetFeed for incremental synchronization where the required entity supports it. Data Connector is a separate option for supported analytical scenarios. The API is not conventional REST, and no current official GraphQL or SOAP interface was confirmed.

Does Geotab provide webhooks or real-time callbacks?

A universal webhook mechanism for all MyGeotab entity changes was not confirmed. Geotab event-oriented capabilities may be available for particular products or event types, but they must be validated specifically. Scheduled GetFeed polling is the safer documented pattern for dependable recurring synchronization.

How does synchronization and data mapping work?

A Martini workflow can authenticate, retrieve an initial dataset, and then use GetFeed with a persisted continuation value for supported incremental streams. It maps entities such as Device, Trip, LogRecord, Driver, and ExceptionEvent into canonical or target models, normalizes timestamps, enriches related data, and advances checkpoints only after successful processing.

How are errors, retries, and duplicates handled in a Geotab integration?

Martini can classify authentication, permission, parameter, rate-limit, network, and target-system failures, then apply bounded retries for transient conditions. Stable Geotab identifiers, feed checkpoints, and idempotent target writes help prevent duplicates. Failed batches or records can be retained for review without advancing a checkpoint prematurely.