Skip to content
ChangelogBook a demoSign up

Iterable integration with AI Decisioning

AudienceTechnical marketers, marketing and lifecycle teams
PrerequisitesPrepare data for AID

Connect Iterable to AI Decisioning so agents can deliver personalized emails, SMS, push notifications, and in-app messages through your existing Iterable Triggered Campaigns.


What you'll learn

In this article, you'll learn how to:


Overview

Delivering relevant and timely customer experiences in Iterable requires up-to-date, contextual data. By integrating Hightouch's AI Decisioning (AID) with Iterable, you can:

  • Automatically trigger Iterable campaigns based on predictions and behaviors surfaced by AID Agents

  • Personalize message content using dynamic variables from your data warehouse

  • Centralize targeting and decision logic in Hightouch, while using Iterable to handle message delivery

1. Set up Iterable as a destination

Follow the destination setup guide up to Sync Configuration. Once connected, Iterable will be available as a destination in AI Decisioning.


2. Add channels in AI Decisioning

Once Iterable is set up as a destination, you can add channels. Channels define how Hightouch sends messages to Iterable via Triggered Campaigns.

Set up a channel

  1. Go to AI Decisioning > Configuration > Channels.
  2. Select Add channel.

Add channel button

  1. Choose a channel type:
    • Email – for triggered email sends
    • SMS – for triggered text messages
    • Push – for mobile push notifications
    • In-App – for in-app messaging (popups, inbox cards, etc.)
  2. Select Iterable as the destination.
  3. Under Campaign setup, choose how Hightouch connects to Iterable:
    • Create from template – select a template, and Hightouch creates an API-triggered campaign from it.
    • Existing campaign – select an existing API-triggered campaign directly.
  4. Under Identifier type, choose how to match users:
    • Email – match by email address
    • User ID – match by unique ID
  5. Choose the identifier field from your model (for example, user.email or user.id).
  6. Select Add channel, then Save changes.

New channel modal

Identifier type comparison

IdentifierDescriptionUse when
EmailMatches users based on email addressCampaigns primarily use email for targeting
User IDMatches users using their unique IDSource data uses internal IDs or email isn't guaranteed

Both identifier types support all channel types (Email, SMS, Push, and In-App).


3. Add messages

After you add channels in AI Decisioning, you can add messages to your agents. Each message connects an agent's decision to an Iterable Triggered Campaign.

For full details on message configuration, variants, and tags, see Messages.

Add a message from Iterable

  1. Go to AI Decisioning > Agents and select your agent.
  2. Open the Messages tab.
  3. Select Add messages, then select Add messages individually.
  4. Select your configured Iterable channel and destination tile (for example, Email - Iterable).
  5. Select an Iterable template (or an existing campaign, matching your channel's Campaign setup).
  6. Enter a message name (for example, Cart Abandonment SMS) and select Add messages.

Add message

When your channel uses Create from template, Hightouch clones the selected Iterable template and creates a new Triggered Campaign, then sends through that new campaign via API — not the original template. See How Iterable templates and campaigns work with Hightouch for details.

You can repeat this process for each channel type:

Channel typeCampaign typeDescription
EmailTriggeredReal-time personalized emails
SMSTriggeredTime-sensitive text alerts
PushTriggeredNative app push notifications
In-AppTriggeredContextual popups and messages

Test a message

  1. Open the message and go to the Content tab.
  2. Under Optimized content, confirm your variants are configured. If your message uses dynamic variables, set values for testing.
  3. In the Preview panel, verify the rendered message looks correct.
  4. Select Send test to send the message to a test user in Iterable.

Send test


How Iterable templates and campaigns work with Hightouch

When your channel uses Create from template, you're not sending the base template directly. Instead, Hightouch clones the template to create a new Triggered Campaign. If your channel uses Existing campaign, Hightouch sends through the campaign you selected and doesn't clone anything.

What happens behind the scenes

  1. You select an existing Iterable template (by Template ID).
  2. When you select Add messages, Hightouch:
    • Clones the template
    • Creates a new Campaign ID

New campaign

  1. Hightouch uses the new campaign ID to send messages via API—not the original template.

Campaign ID and Template ID in Iterable UI

Why this matters

  • Hightouch sends through the new campaign, not the original.
  • To update message content, edit the new campaign version—not the base template.

How to find the right campaign

  • Open the Content tab in the message: AI Decisioning > Agents > [Select Agent] > Messages > [Select Message] > Content

  • Select the link next to Base content to open the Iterable campaign.

Base content link


4. Configure Iterable Triggered Campaigns for AID

What you set up in Iterable depends on your channel's Campaign setup.

Create from template

Build and save the Iterable template you want to use. Hightouch creates the API-triggered campaign for you when you add the message — you don't need to create a campaign in Iterable.

Existing campaign

  1. In Iterable, go to Messaging > Campaigns.
  2. Select New Campaign > Triggered Campaign.
  3. Select the message type, design your template, and publish the campaign.
  4. In Hightouch, select that campaign when adding a message.

After you add the message, test it to confirm delivery.


5. Use variables in Iterable templates

Hightouch variables allow you to personalize Iterable messages using live warehouse data, any variable you've defined within the message such as subject line variations, or different content blocks in your Iterable library.

Access variables

  1. Open a message in Hightouch and go to the Content tab.
  2. Under Optimized content, expand a content type (for example, subject or body) and add your variants.
  3. Select the ... menu on a content type and select Copy code snippet to get the variable code.
  4. In Iterable, paste the variable tag into the corresponding field in your message template.

copy code snippet UI

Important notes

  • Variables are fully supported in Triggered Campaigns.
  • Make sure your Iterable template references the correct variable syntax from the code snippet.

Troubleshooting

IssueLikely causeResolution
Message fails to sendAPI errors or misconfigured destinationCheck Hightouch logs for API errors.
Test user not receiving messagesIdentifier mismatchVerify the identifier (email or user ID) matches a record in Iterable.
Campaign sends not triggeringCampaign not published or misconfiguredConfirm the campaign is live and triggerable in Iterable.
Variables not renderingIncorrect syntax or missing field mappingDouble-check variable syntax from Copy code snippet and field mapping.

What's next

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service