Skip to content
Security and identity ⇄ Database

Azure Active Directory to TimescaleDB integration — real-time, two-way sync

Keep Azure Active Directory and TimescaleDB in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.

  • SOC 2 and 6 other compliance frameworks
  • POC with real engineers in minutes

Adopted by fast-scaling companies moving mission-critical data in real time

Case study
Migrated from MuleSoft
Case study
Migrated from Celigo
Migrated from Heroku Connect
Migrated from Matillion
Case study
Migrated from Fivetran
Case study
Migrated from Celigo
Why teams connect Azure Active Directory and TimescaleDB

Close the gap between your application data and your directory: TimescaleDB and Azure Active Directory share users, groups, and access in real time, in both directions.

Azure Active Directory is the system of record for who people are and what they can reach: users, the groups they belong to, and the applications assigned to them. TimescaleDB holds the operational data those same people show up in, whether an employee or member table that decides who should have an account at all, a customers list, or the rows an application checks before it authorizes an action. The two describe overlapping users and groups, and when a nightly export or a hand-run script is all that connects them, accounts lag joiners and leavers and the application authorizes against a stale picture of who has access.

Stacksync syncs Chunks, Continuous Aggregates, Regular PostgreSQL Tables, Views in TimescaleDB with Group memberships, Applications, Service principals, Directory roles in Azure Active Directory field by field, in real time, and in both directions. You decide which system owns which fields, with the directory holding credentials and group membership and the database holding the source list of people who should exist at all, and Stacksync keeps every copy consistent, resolving conflicts by rules you set. A person added to a table becomes an account within seconds, a departure disables one just as fast, and the directory's users and groups are always present in your tables as ordinary rows.

Common use cases

  • 01 Sync product or IoT telemetry stored in TimescaleDB into a CRM so account teams see usage metrics next to the customer record.
  • 02 Replicate subscription and billing events from operational Postgres tables into Timescale hypertables for time-series analysis.
  • 03 Replicate Groups and their Members into a Postgres warehouse for access reviews and entitlement reporting.
  • 04 Mirror Applications and Service principals into a database or CMDB to track app ownership and credential expiry.

Common sync patterns

Keep group and role membership aligned

A group or role change made in either system updates the other, so the entitlements an application enforces match what the directory grants.

One profile, kept current

A name, department, email, or manager corrected in either system updates the other, so the profile the directory shows and the data the application reads stop drifting apart.

Provision accounts from the source of truth

When a person is added to the employee, member, or customer table in TimescaleDB, Stacksync creates the matching user in Azure Active Directory with the right attributes, so access starts from live data instead of a manual ticket.

What you can sync between Azure Active Directory and TimescaleDB

Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.

Azure Active Directory objects TimescaleDB objects How this pairing syncs
Service principals /servicePrincipals (enterprise apps) plus appRoleAssignments; read for app inventory and access-posture reporting. Views Standard SQL views used to shape or filter data for consumers. Service principals is specific to Azure Active Directory and Views to TimescaleDB — each maps to any object or custom field on the other side.
Directory roles /directoryRoles and roleManagement assignments; read for privileged-access reviews, with role-assignment writes where the granted scopes permit. Schemas Postgres namespaces used to separate synced datasets by team or environment. Directory roles is specific to Azure Active Directory and Schemas to TimescaleDB — each maps to any object or custom field on the other side.
Devices /devices registered or joined to the tenant; typically read-only into asset and security databases. Hypertables Time-partitioned tables that hold the main time-series data; the primary read and write target in syncs. Devices is specific to Azure Active Directory and Hypertables to TimescaleDB — each maps to any object or custom field on the other side.
Users /users in Microsoft Graph; synced two-way — profile attributes, accountEnabled, and assignedLicenses are read out while provisioning writes (create, update, disable, delete) are pushed back. Chunks Time-bounded partitions of a hypertable; syncs read and write through the parent hypertable and never address chunks directly. Users is specific to Azure Active Directory and Chunks to TimescaleDB — each maps to any object or custom field on the other side.
Groups /groups covering security and Microsoft 365 groups; created, updated, and deleted through Graph, and read into warehouses for entitlement reporting. Continuous Aggregates Incrementally maintained rollups that serve as pre-aggregated read sources for downstream systems. Groups is specific to Azure Active Directory and Continuous Aggregates to TimescaleDB — each maps to any object or custom field on the other side.
Group memberships Member and owner relationships on /groups/{id}/members; added and removed via the $ref endpoint and tracked for changes with delta query on $select=members. Regular PostgreSQL Tables Relational reference data such as devices, tenants, or accounts synced alongside the series data. Group memberships is specific to Azure Active Directory and Regular PostgreSQL Tables to TimescaleDB — each maps to any object or custom field on the other side.

How changes propagate between Azure Active Directory and TimescaleDB

Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.

Azure Active Directory TimescaleDB Sub-second propagation

DetectionAzure Active Directory notifies Stacksync of record changes through webhook events. Microsoft Graph delta query (deltaLink tokens returning only changed users and groups, with @removed deletions) paired with change-notification.

DeliveryEach detected change is applied to TimescaleDB as a row-level write, with types converted between the two schemas.

TimescaleDB Azure Active Directory Sub-second propagation

DetectionChanges in TimescaleDB are captured at the source via change data capture — no polling loop against its API. Log-based capture via PostgreSQL logical decoding where the deployment allows it — hypertable changes surface on the underlying chunk tables and must.

DeliveryEach detected change is written to Azure Active Directory through its API, with automatic retries and rate-limit backoff.

Rate-limit considerations

  • Azure Active Directory: Resource-unit throttling: roughly 8,000 ResourceUnits per 10 seconds per app for reads on tenants over 500 users, writes near 3,000 requests per 2.5 minutes; 429 responses include a Retry-After header.
  • TimescaleDB: No API rate limits; throughput is bounded by database resources and connection limits.
What ships with Azure Active Directory ⇄ TimescaleDB

Connect Azure Active Directory and TimescaleDB for flexible, real-time data sync.

Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Azure Active Directory–TimescaleDB connection.

Real-time

Two-way sync

Changes in Azure Active Directory or TimescaleDB instantly reflect in both systems. No stale data, no manual imports.

No-code + pro-code

Workflow automation

Trigger automated workflows whenever Azure Active Directory or TimescaleDB data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.

At scale

Event queues

Handle millions of events per minute without losing a single Azure Active Directory or TimescaleDB record.

Observability

Monitoring

Track your Azure Active Directory ⇄ TimescaleDB sync health, view errors, and replay failed events in one click.

Trading partners

EDI

Transform legacy EDI complexity into simple database interactions between Azure Active Directory and TimescaleDB.

How the Azure Active Directory and TimescaleDB connectors work

Azure Active Directory

Integration surface
Microsoft Graph REST API (v1.0)
Authentication
OAuth 2.0 via the Microsoft identity platform using an Entra ID app registration; app-only (client credentials) or delegated flows, with directory scopes such as User.ReadWrite.All and Group.ReadWrite.All requiring tenant admin consent
Change detection
Microsoft Graph delta query (deltaLink tokens returning only changed users and groups, with @removed deletions) paired with change-notification webhook subscriptions for near-real-time push
Capabilities
read · write · webhooks
Rate limits
Resource-unit throttling: roughly 8,000 ResourceUnits per 10 seconds per app for reads on tenants over 500 users, writes near 3,000 requests per 2.5 minutes; 429 responses include a Retry-After header

TimescaleDB

Integration surface
SQL wire protocol (PostgreSQL)
Authentication
Database credentials
Change detection
Log-based capture via PostgreSQL logical decoding where the deployment allows it — hypertable changes surface on the underlying chunk tables and must be remapped to the parent — or timestamp-based polling on time columns; regular Postgres tables replicate through standard logical replication
Capabilities
read · write · CDC
Rate limits
No API rate limits; throughput is bounded by database resources and connection limits.
How it works

How to connect Azure Active Directory to TimescaleDB — three steps, no code

Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.

  1. 01

    Connect your apps

    Authenticate Azure Active Directory and TimescaleDB with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.

    • OAuth 2.0
    • SSH tunnel
    • VPC peering
    Azure Active Directory connected
    TimescaleDB connected
    OAuth 2.0
    SSH tunnel
    SSL certificate
    VPC peering
  2. 02

    Choose tables

    Pick the Azure Active Directory and TimescaleDB objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.

    • Standard objects
    • Custom objects
    • Auto-schema
    objects · Azure Active Directory ⇄ TimescaleDB
    Customers 12,480
    Sales Orders 8,213
    Invoices 5,902
    Items 1,344
  3. 03

    Map fields

    Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.

    • Auto-map
    • Type casting
    • Transforms
    Azure Active Directory TimescaleDB
    Company company_name text
    Email email text
    Amount amount numeric
    Created created_at timestamp
FAQ

Azure Active Directory and TimescaleDB integration FAQ

SECURITY

Security teams trust Stacksync

As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.

SOC 2 Type II
ISO 27001
HIPAA BAA
GDPR
CCPA
DPF US-EU-UK-CH
→ SECURITY WITH BENEFITS

SSO & SCIM

Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.

Alerts

Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.

Secure connection options

Securely connects to your systems with:

Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.