Skip to content
Integrations
SaaS Integrations
Iterable

Iterable

This Integration requires Fides Cloud or Fides Enterprise. For more information, talk to our solutions team. (opens in a new tab)

Iterable (opens in a new tab) is the growth marketing platform that enables brands to create, execute and optimize campaigns to power world-class customer engagement across email, push, SMS, in-app and more with unparalleled data flexibility.

Prerequisites

In order to integrate with Iterable, you'll need to collect the following information:

NameDescription
Domain*The domain (default = api.iterable.com)
API key*Follow Iterable's Creating API keys (opens in a new tab) documentation to learn more.
Webhook IDThe ID of the Iterable system webhook. Required for automatic token refresh of consent webhooks. Found in Integrations > System Webhooks in the Iterable dashboard. Leave as none if not using bidirectional consent.
Note: only US-based Iterable projects are supported with this integration. See Iterable's API keys, projects, and data centers (opens in a new tab) documentation for details on US-based and EU-based projects.

Integrating with Iterable

To integrate an existing system with Iterable:

  1. Navigate to Data mapView Systems and choose the system that you want to connect.
  2. Click on the Integrations tab.
  3. Pick the vendor or system type that you want to integrate with from the Integration type drop-down menu.
  4. Complete the required fields for the integration and click Save.

You may confirm your integration is working using the Test connection button, if desired.

To learn more, please see our guide for Managing Integrations.

When propagating consent preferences, if the user does not already exist in Iterable, Fides will automatically create the user in Iterable before applying their consent preferences.

Bidirectional consent

Before configuring bidirectional consent, confirm that the Iterable system shares a data_use with each of the configured privacy notices. See Ensure data use overlap for details.

Iterable supports bidirectional consent, which means user preferences are synchronized both ways between Fides and Iterable. To configure this, click on the Bidirectional consent accordion under the Iterable configuration form. This section allows you to map Privacy Notices in Fides to Channels and Message types in Iterable. In the example below, setting Marketing for the Push Marketing Channel and Marketing Channel will automatically subscribe and unsubscribe the user from those channels if they opt-in or out of the Marketing privacy notice in Fides.

Bidirectional consent mappings

Consent webhooks

Iterable supports System Webhooks (opens in a new tab) that can be configured to automatically forward consent preference changes to Fides. When users update their subscription preferences directly in Iterable, these changes can be automatically synchronized with Fides.

To set up consent webhooks you will need to create a System Webhook in Iterable and configure authentication.

Webhook setup

  1. Within the Iterable dashboard, navigate to Integrations > System Webhooks and click on Create Webhook.
  2. You will see a Create system webhook modal. The Endpoint URL should be the following:
https://your_fides_url/api/v1/plus/connection/{{integration_identifier}}/consent-webhook

Make sure this URL is reachable via the public internet.

  1. Click Create.
  2. Set the Status to Enabled.
  3. Set Authentication to OAuth2.
  4. Set the Authentication Token using one of the authentication methods described below.
  5. Enable the Subscribe and Unsubscribe items from the actions menu.
  6. Finally, click Save Webhook on the form.

By configuring this system webhook, any subscribe and unsubscribe preferences that happen inside of Iterable will be automatically forwarded and stored within Fides.

Authentication setup

Fides supports two authentication methods for Iterable consent webhooks. Automatic token refresh (recommended) handles token rotation automatically, while the static Bearer token approach requires manual token rotation every 90 days.

Option A: Automatic token refresh (recommended)

With automatic token refresh, Fides periodically generates a new webhook authentication token and pushes it to Iterable via the Iterable API. This eliminates the need for manual token rotation. A scheduled job runs daily and refreshes tokens that are within 1 day of expiry.

This feature requires the Webhook ID from Iterable. The Webhook ID is assigned by Iterable when you create the system webhook and is used by Fides to update the authentication token via Iterable's API.

  1. First, create the system webhook in Iterable by following the webhook setup steps above. You can use the token from step 6 below as the initial Authentication Token.
  2. After saving the webhook in Iterable, note the Webhook ID. You can find this in the Iterable dashboard under Integrations > System Webhooks — the ID is displayed in the webhook list or in the URL when editing the webhook.
  3. In the Fides Admin UI, navigate to the Iterable integration configuration.
  4. Enter the Webhook ID in the integration's configuration form and click Save.
  5. Generate an initial consent webhook token by calling the Fides API:
    GET /api/v1/plus/connection/{{integration_identifier}}/consent-webhook/token
  6. Set this token as the Authentication Token in your Iterable webhook configuration. From this point forward, Fides will automatically refresh the token before it expires.

The automatic refresh job runs daily at 2:00 AM UTC. Tokens are refreshed when they are within 1 day of expiry. The default token lifetime is 90 days and can be adjusted via the FIDES__SECURITY__CONSENT_WEBHOOK_ACCESS_TOKEN_EXPIRE_MINUTES environment variable.

Option B: Static Bearer token (deprecated)

Deprecated. Static Bearer tokens expire after 90 days and must be manually refreshed. Consider using automatic token refresh (Option A) instead.

  1. Generate a consent webhook token by calling the Fides API:
    GET /api/v1/plus/connection/{{integration_identifier}}/consent-webhook/token
  2. Set the returned access_token value as the Authentication Token in your Iterable system webhook configuration.
  3. Leave the Webhook ID field empty (or set to none) in the Fides integration configuration.

You are responsible for generating a new access token before it expires and updating it in Iterable. If the token expires, consent webhook events from Iterable will fail to authenticate with Fides.

Technical detail

Fides utilizes API endpoints to access the API service for a SaaS application. An API service is the programmatic interface through which Fides can query and update data within an application to access, rectify, or delete personal information. Each SaaS tool will have a unique set of endpoints to enable privacy functions.

Iterable endpoints

In the table below, you can find which endpoints are used for each type of privacy function. Clicking on the endpoint will take you to the documentation for that endpoint.

Privacy functionEndpointDescription
Erasure RequestForget a user in compliance with GDPR (opens in a new tab)Deletes the specified user's data from the Iterable project and prevents future data collection about them. In email-based projects, you must forget users by email.