Azure SQL Integration
Connect Azure SQL Database to KPI Tree. Two authentication methods, no ODBC driver to install.
KPI Tree connects directly to Azure SQL Database using SQL authentication or a Microsoft Entra ID service principal. There is no ODBC driver to install or version-manage, because KPI Tree uses Microsoft's official mssql-python driver over its own DDBC transport. Every connection is encrypted with TLS and validated against a real server certificate. Define metrics in T-SQL, map how they drive each other with confidence levels, assign RACI ownership, and build the accountability layer that sits above your database.
Connected in under an hour
Give KPI Tree your server hostname, choose an authentication method, and the connection is tested live against your database before it is saved.
Create a read-only user and allow the connection
In your database, create a login and a contained user with SELECT on the tables and views you want to measure (db_datareader is the simplest grant). The user has to exist in the database itself, not only in master. If your Azure SQL firewall is locked down, add KPI Tree's outbound IP under Security then Networking in the Azure portal, or expose the server over Private Link. Nothing else in your Azure configuration needs to change.
Choose an authentication method and connect
SQL authentication uses a standard username and password. A Microsoft Entra ID service principal uses a client ID, client secret and tenant ID for passwordless access managed in Entra. Enter your server hostname, port (1433 by default) and database name. KPI Tree runs a live SELECT 1 to confirm it can authenticate and reach the database before the connection is saved.
Define metrics and start building
Write T-SQL against your tables and views. Each query aggregates raw rows down to a daily value, and KPI Tree infers the cross-day rollup (sum, count, average, first or last) from the T-SQL itself. From there, arrange metrics into a causal tree, assign RACI ownership, and start closing the loop between a number moving and someone acting on it.
Built for the Azure data stack
KPI Tree connects to Azure SQL Database natively, with no extra drivers or middleware, and leaves your existing Azure security and networking model untouched.
Microsoft Entra ID service principal auth
Authenticate with an Entra service principal using client ID, client secret and tenant ID. There are no shared passwords to rotate and no local SQL accounts to manage, and access inherits your existing Entra governance and conditional access policies. Standard SQL authentication is fully supported for teams that prefer it.
No ODBC driver required
KPI Tree uses Microsoft's official mssql-python driver over DDBC (Direct Database Connectivity), so there is no ODBC driver to install, pin to a version, or debug for compatibility. Built-in connection pooling handles concurrent metric syncs, and every connection is TLS-encrypted against a valid server certificate.
Off-database analytics
Each metric runs one query on a schedule you set. Comparison periods, rollups, correlations and outlier detection all run in KPI Tree's own compute engine, never as extra load on your database. Your DTU or vCore consumption stays flat as you add metrics and users, and nothing keeps a serverless database awake between syncs.
Two authentication methods, matched to your security model.
SQL authentication uses a username and password for teams that want the simplest path. A Microsoft Entra ID service principal uses client credentials for passwordless, identity-managed access. Either way the connection is encrypted with TLS and verified against a real server certificate, and no ODBC driver is involved. Credentials are encrypted at rest, and if a driver error ever echoes the connection string, the password is scrubbed before anything is logged or shown.
- SQL authentication with a username and password
- Entra ID service principal with client ID, client secret and tenant ID
- TLS-encrypted connections validated against a valid server certificate
- No ODBC driver, and passwords are never logged
Warehouse connection
ConnectedRead-only access · credentials never leave the encrypted store
A causal tree built from your Azure SQL data.
Define metrics in T-SQL against your tables and views, then arrange them into a tree that models how your business actually works. When a top metric moves, KPI Tree traces the tree to show which driver moved with it. Driver relationships are scored with proprietary ML models and statistical tests, including Pearson and lagged cross-correlation, partial correlation and Granger causality with Benjamini-Hochberg correction, so every edge carries a confidence level rather than a guess. Business models such as budgets, forecasts and targets flow through the same off-database pipeline as actuals.
- Metrics arranged into a causal tree from operational inputs up to revenue
- Statistical driver signals with confidence levels on every relationship
- Automated root cause traces an anomaly down through the tree
- Budgets, forecasts and targets run through the same pipeline as actuals
One query per metric. No extra queries for comparisons or aggregations.
KPI Tree runs a single query per metric on your chosen schedule and caches the result. Comparison periods, week, month and quarter rollups, correlations, regressions and outlier detection all run in KPI Tree's compute engine, and the browser caches calculation results so filtering, comparing and drilling never touch your database again. Your DTU or vCore bill reflects one lightweight query per sync, not the size of your team.
- No extra database queries for comparisons, rollups or correlations
- DTU and vCore consumption stays predictable as usage grows
- A configurable sync schedule for every metric
- All downstream analytics run in KPI Tree's own engine
Ownership, alerts, and proof that the action worked.
Every metric carries full RACI ownership tied to a real person, their team, department and manager, not a free-text owner field. When a synced metric breaks its expected range, KPI Tree pushes the Accountable owner in the channel they actually watch, across Slack, email, WhatsApp and SMS, and escalates up the org chart if it goes unaddressed. Once someone acts, verified impact checks whether the number actually moved, so the loop closes instead of trailing off after the alert.
- RACI ownership per metric, tied to team, department and manager
- Anomaly alerts pushed to the Accountable owner with org-chart escalation
- Delivered across Slack, email, WhatsApp and SMS
- Verified impact confirms whether the action moved the metric
What KPI Tree adds on top of Azure SQL
Above the database, not inside it. Your database stores and serves the data. KPI Tree reads it as a source and adds the layer your database and BI tools were never designed to provide: causation with confidence, ownership, and proof.
Every source resolves onto one causal tree.
Causation with confidence, not just queries
The tree maps how each metric drives the ones above it. When monthly recurring revenue dips, KPI Tree shows whether new signups, expansion or churn moved it, with a confidence level on each link from statistical tests run nightly. Diagnosis is table stakes now. The tree is where it becomes structure you can own.
Ownership that routes to a person
Every metric has an Accountable owner with full RACI, not a label on a workbook. When it moves the wrong way, the alert reaches that person where they work and escalates if it stalls. A dashboard shows a number. KPI Tree makes someone responsible for it.
Verified impact closes the loop
Actions are tracked against the metric they were meant to move, and KPI Tree checks whether it actually moved. Every tool claims insights to action. KPI Tree is the one that proves the action worked, or shows that it did not.
Related integrations. More sources that work with KPI Tree.
Common questions
What authentication methods are supported?
Do I need to install an ODBC driver?
How does KPI Tree reach a database behind the Azure firewall?
What permissions does the database user need?
What connection details do I need?
How does KPI Tree affect my database costs?
How does KPI Tree know how to aggregate a metric across days?
Does KPI Tree work with Azure Synapse or SQL Managed Instance?
Does KPI Tree work with dbt?
Does KPI Tree copy data out of Azure SQL?
Related guides. Frameworks and metrics in depth.
Deep dives into the frameworks and metrics that work with Azure SQL.
How to build a metric tree
A step-by-step metric tree and KPI tree template from North Star to daily levers
Metric decomposition
Break any business metric into the components that drive it
Semantic layer vs business context layer
A semantic layer settles what a metric is. It cannot settle how metrics drive each other, who owns them, or what happens when one moves.
Connect Azure SQL in under an hour.
SQL or Microsoft Entra ID authentication, no ODBC driver, TLS-encrypted connections. Your Azure data stays where it is, and KPI Tree adds the layer above it.

