Skip to content
Database ⇄ CRM

DuckDB to Xactly integration — real-time, two-way sync

Keep DuckDB and Xactly 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 DuckDB and Xactly

Treat Xactly like part of your database: its records live in DuckDB as real tables, and writes in either place sync to the other in seconds.

Product and engineering teams constantly need CRM data, and the CRM API is a poor way to get it: rate limits, pagination, custom objects, and integration code that breaks when an admin renames a field. What they actually want is the data in DuckDB, where it can be queried and joined like everything else.

Stacksync mirrors Positions & Titles, Quotas / Targets, Payment Summary (Payable), Products & Customers from Xactly into Database files, Schemas, Tables, Views in DuckDB with real-time, bi-directional sync. Read CRM records with plain queries; write updates from your application and they appear in Xactly with validation intact. Go-to-market teams keep working in the CRM, engineers keep working in the database, and neither has to think about the other.

Common use cases

  • 01 Replicate Products and Customer/Account master from CRM/ERP into Xactly so crediting rules resolve against consistent reference data.
  • 02 Mirror commission Transactions and Credits into a data warehouse to power rep-facing dashboards and comp-plan analytics without manual exports.
  • 03 Sync SaaS data to Parquet on object storage and query it with DuckDB without standing up a warehouse.
  • 04 Push aggregates computed in DuckDB out to a CRM or business tools so analysis results reach operational systems.

Common sync patterns

Trigger workflows from CRM changes

Field and stage updates in Xactly arrive as row changes in DuckDB, ready to drive jobs and notifications.

Query the CRM like a database

Accounts, contacts, and custom objects from Xactly become tables in DuckDB you can join with application data directly.

Product events onto CRM records

Signup, usage, or lifecycle changes written to DuckDB sync onto the matching records in Xactly, giving go-to-market teams live product context.

What you can sync between DuckDB and Xactly

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.

DuckDB objects Xactly objects How this pairing syncs
Schemas Namespaces within a database used to organize tables in sync outputs. Positions & Titles Org-hierarchy positions and titles that credits and quotas roll up to; loaded and maintained through Connect (write) and read to resolve the hierarchy, so read and write. Schemas is specific to DuckDB and Positions & Titles to Xactly — each maps to any object or custom field on the other side.
Tables Columnar tables created via SQL; the destination for materialized sync data. Quotas / Targets Period quota and target values per position or plan; loaded from planning tools through Connect (write) and read for attainment reporting, so read and write. Tables is specific to DuckDB and Quotas / Targets to Xactly — each maps to any object or custom field on the other side.
Views SQL views used to shape or filter data for downstream consumers. Payment Summary (Payable) Approved payable amounts per participant per period; read as the output that feeds payroll and accounts payable, so effectively read-only. Views is specific to DuckDB and Payment Summary (Payable) to Xactly — each maps to any object or custom field on the other side.
External files (Parquet/CSV/JSON) Files DuckDB queries in place without loading, common as a sync interchange format. Products & Customers Product and customer/account master used in crediting rules and reporting; loaded and updated from CRM/ERP through Connect (write) and read for lookups, so read and write. External files (Parquet/CSV/JSON) is specific to DuckDB and Products & Customers to Xactly — each maps to any object or custom field on the other side.
Attached databases Additional database files or external systems attached into one session for cross-source queries. Orders Sales order and transaction records loaded into Incent as the raw input for crediting and calculation; created and updated through Connect load and ETL steps (write) and read back for reconciliation, so read and write. Attached databases is specific to DuckDB and Orders to Xactly — each maps to any object or custom field on the other side.
Database files Single-file .duckdb databases that jobs read and write directly on disk or object storage. Credits Crediting records that tie an order to a participant and position; system-calculated credits are read, while manual and adjustment credits are loaded through Connect, so read and write. Database files is specific to DuckDB and Credits to Xactly — each maps to any object or custom field on the other side.

How changes propagate between DuckDB and Xactly

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.

DuckDB Xactly Interval-based propagation

DetectionStacksync polls DuckDB for changes on an incremental schedule, reading only records changed since the previous pass. Polling or full re-reads.

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

Xactly DuckDB Interval-based propagation

DetectionStacksync polls Xactly for changes on an incremental schedule, reading only records changed since the previous pass. No CDC log for external tools to consume.

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

Rate-limit considerations

  • DuckDB: No API rate limits; throughput is bounded by local compute and I/O.
  • Xactly: Xactly does not publish numeric per-second rate limits. The Connect platform enforces query concurrency and long-running-query limits, so large extracts are paged and heavy loads/queries run as asynchronous Connect jobs (submit, then retrieve results) rather than row-by-row calls; batch loads are the supported path for high volume.
What ships with DuckDB ⇄ Xactly

Connect DuckDB and Xactly for flexible, real-time data sync.

Real-time sync, workflow automation, event queues, EDI, and monitoring, for every DuckDB–Xactly connection.

Real-time

Two-way sync

Changes in DuckDB or Xactly instantly reflect in both systems. No stale data, no manual imports.

No-code + pro-code

Workflow automation

Trigger automated workflows whenever DuckDB or Xactly 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 DuckDB or Xactly record.

Observability

Monitoring

Track your DuckDB ⇄ Xactly sync health, view errors, and replay failed events in one click.

Trading partners

EDI

Transform legacy EDI complexity into simple database interactions between DuckDB and Xactly.

How the DuckDB and Xactly connectors work

DuckDB

Integration surface
In-process SQL engine via client libraries (Python, Node.js, JDBC, CLI); no server or network API by default
Authentication
None built in; access control is file-system level (MotherDuck adds token auth for its hosted service)
Change detection
Polling or full re-reads; no change feed or transaction log API
Capabilities
read · write
Rate limits
No API rate limits; throughput is bounded by local compute and I/O

Xactly

Integration surface
Xactly Connect REST API v2 (JSON), plus ODBC/JDBC drivers over the same ANSI-SQL data model. Incent data is exposed as SQL-queryable objects (for example xactly_order, xactly_credit, xactly_transaction, xactly_payment); data is loaded and extracted through Connect load/query steps and server-side ETL Pipelines. The base host is region/pod-specific (for example https://<pod>.xactlycorp.com).
Authentication
OAuth 2.0 via the Xactly Connect API Gateway (bearer tokens issued on behalf of an Xactly Incent user), with HTTP Basic authentication using a dedicated Xactly Connect service-user's credentials also supported for the Connect REST API v2. The connecting user needs Connect/API access plus the relevant object permissions in Incent.
Change detection
No CDC log for external tools to consume. Incremental sync uses SQL predicates on modified/last-updated timestamp columns (for example WHERE modified_date > watermark) against Connect's queryable objects, or scheduled Connect ETL Pipelines that pull deltas since the last run. Xactly Connect has no outbound HTTP webhooks, so change detection is pull/ETL-based.
Capabilities
read · write
Rate limits
Xactly does not publish numeric per-second rate limits. The Connect platform enforces query concurrency and long-running-query limits, so large extracts are paged and heavy loads/queries run as asynchronous Connect jobs (submit, then retrieve results) rather than row-by-row calls; batch loads are the supported path for high volume.
Xactly setup guide
How it works

How to connect DuckDB to Xactly — 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 DuckDB and Xactly 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
    DuckDB connected
    Xactly connected
    OAuth 2.0
    SSH tunnel
    SSL certificate
    VPC peering
  2. 02

    Choose tables

    Pick the DuckDB and Xactly 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 · DuckDB ⇄ Xactly
    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
    DuckDB Xactly
    Company company_name text
    Email email text
    Amount amount numeric
    Created created_at timestamp
FAQ

DuckDB and Xactly 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
CSA STAR
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:

Related integrations

Every pair below is a real-time, two-way sync. Search all 471 integrations available for DuckDB and Xactly.

Popular · 7 of 471
Coworkers laughing in front of a laptop in a casual office setting

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