Two-way sync
Changes in Apache Druid or Iterable instantly reflect in both systems. No stale data, no manual imports.
Keep Apache Druid and Iterable in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.
Apache Druid is where your team models customers, product usage, and revenue into trusted tables; Iterable runs the campaigns, audiences, and messages that reach those people. The two overlap wherever the same person, account, or segment matters to both, and when the bridge between them is a nightly export or a hand-built list, marketing targets stale data while analytics never sees what the campaign returned.
Stacksync syncs Tasks, Datasources, Segments, Dimensions in Apache Druid with Users, Events, Campaigns, Templates in Iterable field by field, in real time, and in both directions. You decide which system owns which fields — a computed score or segment can flow out to Iterable while sends, opens, and conversions flow back to Apache Druid — and Stacksync keeps every copy consistent and resolves conflicts by rules you set.
A segment or score built in Apache Druid — high-intent accounts, churn risk, a lifetime-value tier — lands as an audience or contact field in Iterable, so campaigns target the people your data actually points to instead of a static export.
New and updated contacts, leads, or audience members flow between Apache Druid and Iterable, so the marketing audience reflects the people in your warehouse and corrections propagate instead of the two sides drifting apart.
Unsubscribes, bounces, and consent or opt-out flags held in either system propagate to the other, so no one is messaged after opting out and Apache Druid holds the current state for auditing.
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.
| Apache Druid objects | Iterable objects | How this pairing syncs | |
|---|---|---|---|
| Metrics Numeric columns, often pre-aggregated at ingestion via rollup. | Events Custom and system events tracked via /api/events/track and /api/events/trackBulk (up to 1000 events per call); a single user's event history is read via GET /api/events/{email}. | Metrics is specific to Apache Druid and Events to Iterable — each maps to any object or custom field on the other side. | |
| Ingestion Supervisors Long-running specs that pull from streams like Kafka; the write path into Druid. | Campaigns Email, SMS, push, and in-app sends; metadata and metrics read via GET /api/campaigns and /api/campaigns/metrics, created and sent via /api/campaigns/create and /api/campaigns/trigger. | Ingestion Supervisors is specific to Apache Druid and Campaigns to Iterable — each maps to any object or custom field on the other side. | |
| Lookups Key-value mappings joined at query time, refreshable from external systems. | Templates Reusable email/SMS/push/in-app message templates with handlebars fields; read via /api/templates and per-channel get endpoints, written via /api/templates/email/upsert and the other channel upserts. | Lookups is specific to Apache Druid and Templates to Iterable — each maps to any object or custom field on the other side. | |
| Tasks Batch ingestion and compaction jobs monitored during data loads. | Lists Static subscriber lists; read via GET /api/lists and /api/lists/getUsers, with users added or removed via /api/lists/subscribe and /api/lists/unsubscribe to control who receives a send. | Tasks is specific to Apache Druid and Lists to Iterable — each maps to any object or custom field on the other side. | |
| Datasources The table-like unit of storage and querying, the main target of reads and ingestion. | Catalogs Named catalogs of items (products, content) used for personalization and recommendations; items upserted and read via /api/catalogs/{catalogName}/items. | Datasources is specific to Apache Druid and Catalogs to Iterable — each maps to any object or custom field on the other side. | |
| Segments Time-partitioned immutable files that hold datasource data; ingestion produces them. | Commerce / Purchases Purchase and cart activity tracked via /api/commerce/trackPurchase and /api/commerce/updateCart, feeding revenue attribution and abandoned-cart journeys. | Segments is specific to Apache Druid and Commerce / Purchases to Iterable — each maps to any object or custom field on the other side. |
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.
DetectionStacksync polls Apache Druid for changes on an incremental schedule, reading only records changed since the previous pass. Data enters Druid through streaming or batch ingestion rather than row updates.
DeliveryEach detected change is written to Iterable through its API, with automatic retries and rate-limit backoff.
DetectionIterable notifies Stacksync of record changes through webhook events. System Webhooks push email/SMS/push/in-app and custom events (send, open, click, bounce, complaint, unsubscribe) as JSON POSTs in near real time.
DeliveryEach detected change is applied to Apache Druid as a row-level write, with types converted between the two schemas.
Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Apache Druid–Iterable connection.
Changes in Apache Druid or Iterable instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Apache Druid or Iterable data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.
Handle millions of events per minute without losing a single Apache Druid or Iterable record.
Track your Apache Druid ⇄ Iterable sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Apache Druid and Iterable.
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.
Authenticate Apache Druid and Iterable with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.
Pick the Apache Druid and Iterable 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.
Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.
Yes. Stacksync provides a managed, real-time two-way integration between Apache Druid and Iterable: authenticate both systems, choose the objects to sync (such as Apache Druid's Metrics and Ingestion Supervisors), map fields visually, and changes propagate both ways in milliseconds — no code required.
Common patterns for Apache Druid and Iterable: Activate a modeled audience; Keep the contact and audience list current; Suppression and consent stay aligned. A segment or score built in Apache Druid — high-intent accounts, churn risk, a lifetime-value tier — lands as an audience or contact field in Iterable, so campaigns target the people your data actually points to instead of a static export.
Apache Druid: REST API (SQL over HTTP and native JSON queries); JDBC via Avatica. Authentication: Deployment-dependent: basic authentication or an authenticator extension; often fronted by a proxy. Iterable: Iterable REST API (JSON over HTTPS): Users, Events, Campaigns, Templates, Lists, Catalogs, and Commerce endpoints, plus a bulk Export API for historical data. Authentication: API key sent in the Api-Key HTTP header (also accepted as Api_Key; the name is case-insensitive). Keys are scoped by type - Server-side, JavaScript (Web SDK), or Mobile - with optional JWT-enabled keys. US projects use api.iterable.com; EU projects use api.eu.iterable.com. Stacksync manages authentication, retries, and rate limits on both sides.
Apache Druid: Druid stores data in immutable, time-partitioned segments; there is no row-level update path, so writes happen through ingestion and reprocessing rather than upserts. Iterable: Bulk endpoints cap at 1000 records per call - /api/users/bulkUpdate accepts up to 1000 users and /api/events/trackBulk up to 1000 events. Stacksync's field mapping accounts for these differences between Apache Druid and Iterable without custom code.
Stacksync is SOC 2 Type II and ISO 27001 certified with HIPAA BAA support. Data is encrypted in transit, and a zero-persistent-storage architecture means Apache Druid and Iterable records are not retained after a sync operation.
Stacksync pricing is usage-based and starts at $1,000/month, including the managed Apache Druid and Iterable connectors, real-time two-way sync, monitoring, and support. That replaces building and maintaining a custom Apache Druid–Iterable integration in-house.
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.
Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.
Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.
Securely connects to your systems with:
Every pair below is a real-time, two-way sync. Search all 400 integrations available for Apache Druid and Iterable.