---
title: "FleetSQL Integrations: Power BI, Grafana, Notebooks, Agents"
url: https://fleetsql.app/integrations/
description: "Connect Wialon fleet data to Metabase, Grafana, Power BI, Tableau, pandas, n8n or an LLM agent — over a standard PostgreSQL connection string."
---

Your stack

# Everything that speaks PostgreSQL already speaks FleetSQL

There is no FleetSQL API to integrate against, and that is the feature. Your fleet data lands in a standard PostgreSQL database, so the tools your team already runs connect with a host, a port and a password — no connector to build, no vendor SDK to track.

**Protocol**

Standard PostgreSQL wire

**Setup**

A connection string

**Drivers**

Every language has one

**Lock-in**

None — it is your database

## Dashboards and BI

Power BI, Metabase, Grafana, Tableau, Superset, Looker and every other BI tool ships a PostgreSQL connector, so the integration is a form with five fields rather than a project. Point the tool at the database, build against `w_evnt_trips`, the other event tables and `w_prop_unit`, and refresh on whatever schedule the tool already uses.

Nothing in the database favours one of them. The screenshot on this page is Grafana because it is the board we can show you running, not because it is where the data belongs — a fleet that reports in Power BI points Power BI at the same host and gets the same numbers, since the numbers are SQL rather than a feature of a dashboard tool.

Because the data is a database rather than a report export, drill-down works the way analysts expect: a chart of distance by month clicks through to the vehicle, then to the day, then to the individual trips and speeding events behind the number — without anyone re-running an extraction to answer the follow-up question.

- **Power BI / Tableau / Looker** — where fleet data joins the rest of the business
- **Metabase / Superset** — self-service questions for people who do not write SQL
- **Grafana** — operational panels and threshold alerting straight off SQL queries
- **DBeaver / psql** — for the person who just wants to check a number

Grafana on a FleetSQL database — one tool's view of it. Power BI, Metabase and Tableau take the same tables through their own PostgreSQL connector.

## Power BI, in practice

Power BI is where most fleets already report, so it is worth being concrete. In Power BI Desktop it is Get Data → Database → PostgreSQL database, then the host and database name exactly as the console shows them and the read-only role issued for the tool. The tables arrive in the navigator under the public schema: `w_prop_unit`, the `w_evnt_*` events, and any `w_rprt_*` tables for the report templates you enabled.

The one choice worth thinking about is Import against DirectQuery. Import copies rows into the model, which is fast to slice and refreshes on the schedule Power BI already runs — the sensible default for a few million trip rows. DirectQuery leaves the history in Postgres and pushes each visual's query down to it, which suits three years of events you would rather not duplicate into a model. Both read the same tables, and neither needs anything installed on our side.

What the model can then do is the actual point: fleet data joins the rest of the business inside Power BI — cost centres, customer contracts, the ERP extract somebody already publishes. That join is what a telematics reporting screen cannot do at any price, and it is the reason the data has to sit in a database you can point a tool at.

The routes fleets use to get Wialon into Power BI, the model to draw and the measures to start from are on [Wialon to Power BI](https://fleetsql.app/wialon-power-bi/).

- **Credentials** — a PostgreSQL role per person, read-only, revocable without disturbing anyone else's access
- **Encryption** — the server requires TLS, so leave the connector's encrypted-connection option on
- **Scheduled refresh** — an ordinary hosted PostgreSQL source, configured the way your tenant configures any other one
- **Modelling** — `unit_id` is the key every table joins on, which is the relationship to draw first

## Notebooks, Python and machine learning

History in a database is what makes forecasting and anomaly detection possible at all — a report export is a snapshot, and a model needs a series. With up to three years backfilled on the first run, a notebook has something to learn from on day one.

Pull a fleet-wide daily series into pandas

 `import pandas as pd from sqlalchemy import create_engine engine = create_engine("postgresql://user:password@host:5432/fleet?sslmode=require") trips = pd.read_sql(""" SELECT unit_id, (start_time AT TIME ZONE 'Europe/Warsaw')::date AS day, SUM(distance_m) / 1000.0 AS km, COUNT(*) AS trips, MAX(max_speed) AS max_kmh FROM w_evnt_trips WHERE start_time >= NOW() - INTERVAL '2 years' GROUP BY 1, 2 """, engine, parse_dates=["day"]) daily = trips.pivot_table(index="day", values="km", aggfunc="sum")`

## AI agents and text-to-SQL

Every serious agent framework and MCP server speaks PostgreSQL, which makes a FleetSQL database directly askable in plain language: "which trucks idled more than three hours yesterday" becomes a query the agent writes, runs and explains. No custom tool wrapper, no scraping a reporting UI.

The practical requirement is a schema an agent can reason about, which is why table names carry their own provenance — `w_prop_`, `w_evnt_`, `w_rprt_` — and why every database ships a `_meta_data_sources` registry an agent can read first: what exists, at what grain, last synced when. A wide, opaque schema is what makes text-to-SQL hallucinate; a documented, self-describing one is what makes it useful.

## Automation and alerting

n8n, Zapier, Airflow, cron — anything that can run a query on a schedule can turn a row into an action. A drain over twenty litres becomes a webhook into your ticketing system; a vehicle whose `last_message_time` has gone quiet becomes a maintenance task; a vehicle crossing a speeding threshold becomes a line in the weekly review.

Because the alert logic lives in SQL rather than inside a telematics platform's notification builder, it is reviewable, version-controllable and testable against history — you can run this month's rule against last year to see how often it would have fired.

## Joining the rest of the business

The highest-value integration is usually not a tool at all: it is the table you create next to ours. Fuel card transactions, customer contracts, ERP cost centres, maintenance records — once they sit in the same database as the telemetry, questions that used to require three exports and a spreadsheet become one query.

That is also the point at which fleet data starts answering commercial questions rather than operational ones: cost per delivery, profitability per customer, the real cost of an empty return leg. Asset Track builds those joins as a service when the sources are messier than a CSV — see [Wialon integration services](https://theassettrack.com/wialon-integration/).

## Frequently asked questions

### Do we need a special driver or connector? +

No. It is a standard PostgreSQL database, so whatever PostgreSQL driver your language or BI tool already ships is the integration. There is no FleetSQL client library, and nothing to update when we release.

### Can we connect an LLM agent or MCP server to it? +

Yes, and it works better than pointing one at a telematics API, because the schema is small and documented. Agents fail on wide, cryptic schemas; a handful of plainly named tables with published columns is close to the best case for text-to-SQL.

### Can Power BI refresh from it on a schedule? +

Yes. From Power BI's side it is an ordinary hosted PostgreSQL source, so scheduled refresh is set up exactly as it is for any other one in your tenant — including whether your setup routes it through a gateway, which is a Power BI question rather than a FleetSQL one. What we provide is the part that has to be true either way: a reachable host, TLS, and a read-only role that can be revoked on its own.

### Is there a read-only user for BI tools? +

Yes. Dashboards and agents should connect with a read-only role rather than the credentials your own jobs use, so a misbehaving query or a curious analyst cannot modify anything. Credentials are issued per integration, so one can be revoked without disturbing the rest.

### Can we replicate the database into our own warehouse? +

Yes. Standard PostgreSQL replication and ETL tools all work, and teams that already run Snowflake or BigQuery usually schedule a copy rather than pointing dashboards at the operational database. Nothing about the setup prevents it.

## Worth reading

### Why and how to extract your Wialon fleet data

Four reasons to get telematics data out of Wialon — and three ways to do it: by hand, a custom ETL pipeline, or FleetSQL straight to PostgreSQL.

[Why and how to extract your Wialon fleet data](https://fleetsql.app/blog/extract-wialon-fleet-data/)

### Wialon data extraction: working within the limits

How to pull years of fleet history out of Wialon Hosting without hitting its rate limits, concurrency caps, or report timeouts.

[Wialon data extraction: working within the limits](https://fleetsql.app/blog/wialon-api-limits-data-extraction/)

Contact

## Interested in FleetSQL?

Why FleetSQL

Your telematics data in a PostgreSQL database you control — queryable, joinable, and yours.

**Managed, not installed**

We run the extraction and the database. You get a connection string.

**One database per client**

Your own PostgreSQL, hosted in the EU, TLS required.

**Your tools, unchanged**

Power BI, Grafana, Metabase, psql, pandas — anything that speaks Postgres.

**An evaluation first**

A trial database on your own fleet before anything is signed.

Or write to us directly: [fleetsql@theassettrack.com](mailto:fleetsql@theassettrack.com)
