Iterable
Iterable is a cross-channel customer engagement platform for marketing teams, providing campaign management, customer journey orchestration, email, SMS, and push messaging, and engagement analytics.
Iterable integration replicates data using the Iterable API.
See the Schema section for a list of objects available for replication.Preparing for authentication
To access your data, you need to authenticate the connection with your account credentials.
To set up your Iterable account, you need:
- An Iterable project hosted in Iterable's US Data Center (USDC). The European Data Center (EDC) is not supported.
- An Iterable user account with the Org Admin role or the Manage Integrations project permission.
To create an API key:
- Log into your Iterable account.
- Navigate to Integrations > API Keys.
- Click New API Key.
- Enter a descriptive name, for example QlikDataIntegration.
- For Key type, select Server-side. Do not select Read-only, Mobile, JavaScript, or any JWT-enabled variant — those key types are not supported by the connector.
- Click Create.
Copy and paste the API key into a secured file.
Creating the connection
For more information, see Connecting to SaaS applications.
- Fill in the required connection properties.
Provide a name for the connection in Connection name.
Select Open connection metadata to define metadata for the connection when it has been created.
Click Create.
| Setting | Description |
|---|---|
| Data gateway | Select a Data Movement gateway if required by your use case. Information note This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None. For information on the benefits of Data Movement gateway and use cases that require it, see Qlik Data Gateway - Data Movement. |
| Start Date | Enter the date, in the format |
| Iterable API Key | API key. |
| Window in Days | The sliding-window size, in days, used when paginating Iterable's data export endpoint for high-volume engagement streams. Lower values shorten each request but increase the total number of requests; higher values reduce the number of requests but each takes longer. Default: 30. |
Limitations and considerations
- Server-side API key only. Read-only, Mobile, JavaScript, and JWT-enabled API keys are not supported. A Read-only Server-side key passes initial connection validation but cannot access Iterable's data export API, so syncs of the
email_*andusersstreams will fail. - The API key is validated when the connection is saved. If the key has insufficient permissions, has been disabled, or was created in a different Iterable data center, connection creation fails with an authentication error.
- Data export rate limit. Iterable's data export API — used by the
email_*andusersstreams — applies a limit of 4 requests per minute per project, compared to 100 requests per second for standard resource endpoints. The Window in Days setting controls how many data-export requests are issued per sync: a 1-year backfill at the default 30-day window produces approximately 12 requests per affected stream and fits within the limit, whereas very small window values produce significantly more requests and may exceed the export rate limit. - Rate-limit responses (
HTTP 429) and transient server errors (5xx) are retried automatically with exponential backoff. Authentication errors (401) and validation errors (400) are surfaced immediately and fail the sync. - Renamed fields in
users. Two user-profile fields are renamed to avoid case-normalization collisions at the destination:Industryis emitted as_industry, and the nested fieldoffers.Intro APRis emitted as_offers.intro APR. This applies only to these two fields in theusersstream. list_usersis a thin membership view. Each record contains onlyemail,listId, and a syntheticupdatedAttimestamp set to the time the sync ran. It does not include user profile fields. To get full user data, sync theusersstream and join onemail.templatesre-reads all records on every sync. The Iterable templates API does not support server-side filtering byupdatedAt, so the connector retrieves all templates on every sync and applies the bookmark filter client-side. Sync time for this stream does not decrease as the bookmark advances.- Start Date sets the initial bookmark for the eleven incremental streams only. Once a stream has advanced past Start Date, subsequent syncs resume from the saved bookmark. Changing Start Date in the connection settings does not affect records already replicated.
Schema
Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.
Depending on your destination, table and column names may not appear as they are outlined below.
campaigns
The campaigns table contains information about campaigns in your Iterable project.
Replication Method | CDC |
Primary Key | id |
Replication Key | updatedAt |
| Useful links |
channels
The channels table contains information about messaging channels configured in your Iterable project.
Replication Method | Full Table |
Primary Key | id |
| Useful links |
email_bounce
The email_bounce table contains email bounce events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_click
The email_click table contains email click events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_complaint
The email_complaint table contains email spam complaint events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_open
The email_open table contains email open events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_send
The email_send table contains email send events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_send_skip
The email_send_skip table contains events where an email send was skipped due to suppression rules or other filters in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_subscribe
The email_subscribe table contains email subscribe events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
email_unsubscribe
The email_unsubscribe table contains email unsubscribe events recorded in your Iterable project. Records are append-only events with no primary key.
Replication Method | CDC |
Replication Key | createdAt |
| Useful links |
list_users
The list_users table contains user membership records for each list in your Iterable project. This is a child stream of lists. See the Limitations section for details on the fields available in this stream.
Replication Method | Full Table |
Primary Key | email, listId |
| Useful links |
lists
The lists table contains subscription lists defined in your Iterable project. The list_users stream is a child of this stream.
Replication Method | Full Table |
Primary Key | id |
| Useful links |
message_types
The message_types table contains message type configurations defined in your Iterable project.
Replication Method | Full Table |
Primary Key | id |
| Useful links |
metadata
The metadata table contains project-level metadata key-value pairs stored in your Iterable project.
Replication Method | Full Table |
Primary Key | key |
| Useful links |
templates
The templates table contains email and message templates created in your Iterable project.
Replication Method | CDC |
Primary Key | templateId |
Replication Key | updatedAt |
| Useful links |
users
The users table contains user profiles stored in your Iterable project.
Replication Method | CDC |
Primary Key | |
Replication Key | profileUpdatedAt |
| Useful links |