---
title: "Integration: Iterable"
description: This article will help you learn about how Daasity replicates data from Iterable, limitations to the data we can extract and where the data is stored in the Iterable schema.
---

[Back to home](https://support.daasity.com/migrated/knowledge)

- [ Welcome to Daasity
  
  
  
  ](https://support.daasity.com/migrated/knowledge/welcome-to-daasity) 
    - [ Integration Setup | Connect Your Data Sources ](https://support.daasity.com/migrated/knowledge/welcome-to-daasity#integration-setup-connect-your-data-sources)
    - [ Integration Setup | Amazon Seller Central ](https://support.daasity.com/migrated/knowledge/welcome-to-daasity#integration-setup-amazon-seller-central)
    - [ Navigating the Daasity App ](https://support.daasity.com/migrated/knowledge/welcome-to-daasity#navigating-the-daasity-app)
- [ Daasity Platform | Business User Analytics
  
  
  
  ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics) 
    - [ Brand Supplied Data (BSD) ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#brand-supplied-data-bsd)
    - [ Dashboards ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#dashboards)
    - [ Reports ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#reports)
    - [ Explores ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#explores)
    - [ Views ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#views)
    - [ Audiences ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#audiences)
    - [ Customizations ](https://support.daasity.com/migrated/knowledge/daasity-platform-business-user-analytics#customizations)
- [ ELT+ | Technical User Documentation
  
  
  
  ](https://support.daasity.com/migrated/knowledge/elt-technical-user-documentation) 
    - [ Platform ](https://support.daasity.com/migrated/knowledge/elt-technical-user-documentation#platform)
    - [ Transformation ](https://support.daasity.com/migrated/knowledge/elt-technical-user-documentation#transformation)
    - [ Integrations ](https://support.daasity.com/migrated/knowledge/elt-technical-user-documentation#integrations)
- [ User Manual and Support
  
  
  
  ](https://support.daasity.com/migrated/knowledge/user-manual-and-support) 
    - [ Daasity Logic and Best Practices ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#daasity-logic-and-best-practices)
    - [ Marketing Analytics ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#marketing-analytics)
    - [ Customer Analytics ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#customer-analytics)
    - [ Date Analytics ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#date-analytics)
    - [ Inventory and Returns Analytics ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#inventory-and-returns-analytics)
    - [ Submit a Support Request ](https://support.daasity.com/migrated/knowledge/user-manual-and-support#submit-a-support-request)
- [ Release Updates
  
  
  
  ](https://support.daasity.com/migrated/knowledge/release-updates) 
    - [ Release Updates ](https://support.daasity.com/migrated/knowledge/release-updates#release-updates)

# Integration: Iterable

## This article will help you learn about how Daasity replicates data from Iterable, limitations to the data we can extract and where the data is stored in the Iterable schema.

### Key Topics

Click on the links below to take you to the section where you can learn more about this Integration

- [Integration Overview](https://support.daasity.com/migrated/knowledge/integration-iterable#integration-overview)
- [Integration Availability](https://support.daasity.com/migrated/knowledge/integration-iterable#integration-availability)
- [API Endpoints](https://support.daasity.com/migrated/knowledge/integration-iterable#api-endpoints)
- [Entity Relationship Diagram](https://support.daasity.com/migrated/knowledge/integration-iterable#erd)
- [Iterable Schema](https://support.daasity.com/migrated/knowledge/integration-iterable#iterable-schema)
- [Related Resources](https://support.daasity.com/migrated/knowledge/integration-iterable#related-resources)

### Integration Overview

Iterable is a cross-channel marketing platform that powers unified customer experiences and empowers businesses to create, optimize, and measure every interaction across the entire customer journey. Iterable leverages real-time data to personalize email campaigns, dynamically segmenting users and triggers with relevant messaging using Workflow Studio.

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.

### Integration Availability

This integration is available for:

- Pro V2

**NOTE: **You are considered V2 if...

- You are a Growth customer
- Your account says Pro V2 in the Daasity App

Not sure? Reach out to [Support@Daasity.com](mailto:Support@Daasity.com)

### API Endpoints

The Daasity Iterable extractor is built based on this [Iterable API documentation](https://api.iterable.com/api/docs).  The following endpoint is used by Daasity to replicate data from Iterable:

- [Campaigns](https://api.iterable.com/api/docs#campaigns_campaigns)
- [Channels](https://api.iterable.com/api/docs#channels_channels)
- [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- [Lists](https://api.iterable.com/api/docs#lists_getLists)
- [MessageTypes](https://api.iterable.com/api/docs#messageTypes_messageTypes)
- [Users](https://api.iterable.com/api/docs#users_getUser)

### Entity Relationship Diagram (ERD)

The Daasity Iterable extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

### Iterable Schema

The Daasity Iterable extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

- [Campaigns](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-campaigns)
- [Campaign Lists](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-campaign-lists)
- [Campaign Suppression Lists](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-campaign-suppress)
- [Campaign Labels](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-campaign-labels)
- [Lists](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-lists)
- [Users](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-users)
- [User Lists](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-user-lists)
- [Email Subscribes](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-subscribes)
- [Email Unsubscribes](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-unsubs)
- [Email Unsubscribe Lists](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-unsubs-lists)
- [Channels](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-channels)
- [User Unsubscribed Channels](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-user-unsub-channel)
- [Email Unsubscribe Channels](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-email-unsub-channels)
- [Message Types](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-message-types)
- [User Unsubscribed Message Types](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-user-unsub-message-types)
- [Email Sends](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-sends)
- [Email Bounces](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-bounces)
- [Email Complaints](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-complaints)
- [Email Opens](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-opens)
- [Email Clicks](https://support.daasity.com/migrated/knowledge/integration-iterable#schema-clicks)

#### Campaigns

- Endpoint: [Campaigns](https://api.iterable.com/api/docs#campaigns_campaigns)
- Update Method: UPSERT
- Table Name: iterable.campaigns

| **JSON Element** | **Database Column** |
| --- | --- |
| id | campaign_id |
| createdAt | created_at |
| updatedAt | updated_at |
| startAt | started_at |
| endedAt | ended_at |
| name | campaign_name |
| templateId | template_id |
| messageMedium | message_medium |
| createdByUserId | created_by |
| campaignState | campaign_state |
| workflowId | workflow_id |
| sendSize | send_size |
| type | campaign_type |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Campaign Lists

- Endpoint: [Campaigns](https://api.iterable.com/api/docs#campaigns_campaigns)
- Update Method: UPSERT
- Table Name: iterable.campaign_lists

| **JSON Element** | **Database Column** |
| --- | --- |
| id | campaign_id |
| listIds::listId | list_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id + listIds::listId) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Campaign Suppression Lists

- Endpoint: [Campaigns](https://api.iterable.com/api/docs#campaigns_campaigns)
- Update Method: UPSERT
- Table Name: iterable.campaign_suppression_lists

| **JSON Element** | **Database Column** |
| --- | --- |
| id | campaign_id |
| suppressionListIds::listId | list_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id + suppressionListIds::listId) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Campaign Labels

- Endpoint: [Campaigns](https://api.iterable.com/api/docs#campaigns_campaigns)
- Update Method: UPSERT
- Table Name: iterable.campaign_labels

| **JSON Element** | **Database Column** |
| --- | --- |
| id | campaign_id |
| labels::label | campaign_labels |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id + labels::label) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Lists

- Endpoint: [Lists](https://api.iterable.com/api/docs#lists_getLists)
- Update Method: UPSERT
- Table Name: iterable.lists

| **JSON Element** | **Database Column** |
| --- | --- |
| id | list_id |
| name | list_name |
| createdAt | created_at |
| listType | list_type |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Users

- Endpoint: [Users](https://api.iterable.com/api/docs#users_getUser)
- Update Method: UPSERT
- Table Name: iterable.users

| **JSON Element** | **Database Column** |
| --- | --- |
| userId | user_id |
| email | email |
| signupDate | sign_up_date |
| profileUpdatedAt | profile_updated_at |
| publicIdString | public_id_string |
| verified_email | verified_email |
| accepts_marketing | accepts_marketing |
| phoneNumber, limit 64 | phone_number |
| email_signup_location | email_signup_location |
| tags, limit: 4095 | tags |
| signupSource | sign_up_source |
| timeZone | user_time_zone |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + userId) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### User Lists

- Endpoint: [Users](https://api.iterable.com/api/docs#users_getUser)
- Update Method: UPSERT
- Table Name: iterable.user_lists

| **JSON Element** | **Database Column** |
| --- | --- |
| userId | user_id |
| emailListIds::id | list_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + userId + emailListIds::id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Subscribes

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_subscribes

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| templateId | template_id |
| camapaignId | campaign_id |
| userAgent | user_Agent |
| userAgentDevice | user_agent_device |
| hrefIndex | href_index |
| url, limi: 4095 | url |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId + hrefIndex + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Unsubscribes

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_unsubscribes

| **JSON Element** | **Database Column** |
| --- | --- |
| email_unsubscribes::email | email |
| email_unsubscribes::unsubSource | unsub_source |
| email_unsubscribes::campaignId | campaign_id |
| email_unsubscribes::workflowId | workflow_id |
| email_unsubscribes::templateId | template_id |
| email_unsubscribes::createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + email + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Unsubscribe Lists

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_unsubscribe_lists

| **JSON Element** | **Database Column** |
| --- | --- |
| emailListIds::email | email |
| emailListIds::id | list_id |
| emailListIds::createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + email + createdAt + emailListIds::id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Channels

- Endpoint: [Channels](https://api.iterable.com/api/docs#channels_channels)
- Update Method: UPSERT
- Table Name: iterable.channels

| **JSON Element** | **Database Column** |
| --- | --- |
| id | channel_id |
| name | channel_name |
| channelType | channel_type |
| messageMedium | message_medium |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### User Unsubscribed Channels

- Endpoint: [Users](https://api.iterable.com/api/docs#users_getUser)
- Update Method: UPSERT
- Table Name: iterable.user_unsubscribed_channels

| **JSON Element** | **Database Column** |
| --- | --- |
| unsubscribedChanelIds::userId | user_id |
| unsubscribedChanelIds::id | channel_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + unsubscribedChanelIds::userId + unsubscribedChanelIds::id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Unsubscribed Channels

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_unsubscribed_channels

| **JSON Element** | **Database Column** |
| --- | --- |
|  channelIds::email | email |
| channelIds::id | channel_id |
| channelIds::createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + channelIds::email + channelIds::createdAt + channelIds::id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Message Types

- Endpoint: [MessageTypes](https://api.iterable.com/api/docs#messageTypes_messageTypes)
- Update Method: UPSERT
- Table Name: iterable.message_types

| **JSON Element** | **Database Column** |
| --- | --- |
| id | message_type_id |
| name | message_type_name |
| channelId | channel_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### User Unsubscribed Message Types

- Endpoint: [Users](https://api.iterable.com/api/docs#users_getUser)
- Update Method: UPSERT
- Table Name: iterable.user_unsubscribed_message_types

| **JSON Element** | **Database Column** |
| --- | --- |
| user::userId | user_id |
| unsubscribedMessageTypeIds::id | message_type_id |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + user::userId + unsubscribedMessageTypeIds::id) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Sends

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_sends

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| messageBusId | message_bus_id |
| templateId | template_id |
| campaignId | campaign_id |
| channelId | channel_id |
| messageTypeId | message_type_id |
| contentId | content_id |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Bounces

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_bounces

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| templateId | template_id |
| campaignId | campaign_id |
| recipientState | recipient_state |
| status | bounce_status |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Complaints

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_complaints

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| templateId | template_id |
| campaignId | campaign_id |
| recipientState | recipient_state |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Opens

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_opens

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| templateId | template_id |
| campaignId | campaign_id |
| ip | ip_address |
| userAgent | user_agent |
| userAgentDevice | user_agent_device |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

#### Email Clicks

- Endpoint: [Export Data to JSON](https://api.iterable.com/api/docs#export_exportDataJson)
- Update Method: UPSERT
- Table Name: iterable.email_clicks

| **JSON Element** | **Database Column** |
| --- | --- |
| messageId | message_id |
| email | email |
| templateId | template_id |
| campaignId | campaign_id |
| userAgent | user_agent |
| userAgentDevice | user_agent_device |
| hrefIndex | href_index |
| url, limit: 4095 | url |
| createdAt | created_at |
| Daasity: source_id | __source_id |
| Daasity: account_id | _account_id |
| Daasity: MD5(source_id + messageId + hrefIndex + createdAt) | __sync_key |
| Daasity: timestamp when loaded into DB | __synced_at |

### Related Resources

 

 