Illustration of AI agents handling inbox and campaign tasks around a marketer working at a laptop

Iterable AI in 2026: What Nova Intelligence Ships, and What It Leaves to You

“Iterable AI” is not something you bolt on. It’s Nova Intelligence — Iterable’s own layer, and it’s been rebuilt and rebranded since the days when this was just “Send Time Optimization and Brand Affinity.” If you searched the term, you almost certainly meant the features already in your dashboard.

Here’s what actually ships under Nova, which pieces need a plan change, what your own API key reaches, and the specific category of work Nova doesn’t touch — not because Iterable is weak at orchestration, but because that work was never Iterable’s job.


What ships under Nova Intelligence

Iterable groups its AI into three areas: decisioning (when, how often, where to message), insights (what to predict about a user), and creation (getting copy and journeys built).

Nova Agent is the newest and the one that changes day-to-day work most. It reads natural language prompts and will review a template before you send it, answer analytics questions about your campaigns, create and review experiments, and write and validate Handlebars logic. That last one is quietly the biggest time saver — Handlebars debugging is where lifecycle teams lose afternoons.

Decisioning is three optimizers, all live in campaigns and journeys:

  • Send Time Optimization sends to each user at the hour they’re most likely to engage. It works with blast campaigns and moves email open rate, email click rate, and push open rate.
  • Channel Optimization picks the channel each user is most likely to respond to. In a journey, a user hitting a Channel Optimization send tile gets routed rather than blasted everywhere.
  • Frequency Optimization sets a personalized cap on how many emails, SMS, and push notifications each user gets, per channel and message type — so your most engaged cohort isn’t throttled to the same ceiling as your most fragile one.

Insights is where the predictions live. Brand Affinity™ assigns each user a label reflecting sentiment toward your brand, usable in segmentation, campaigns, journeys, data feeds, and Catalog collections, with Explainable AI showing what drove the score. Predictive Goals takes a business goal you define, analyzes user properties and first-party data (purchase, system, and custom events), and returns an interactive chart where you select segments to use elsewhere in Iterable. Next Best Action rounds out the set.

Creation is Copy Assist, which suggests alternative subject lines and body copy inline as you write a template, and Journey Assist, which takes a description of the experience you want and generates a customizable journey flow in one click.


The two prerequisites Iterable’s marketing page won’t lead with

Nova needs history. Iterable states plainly that Nova features give their best insights on projects with at least three months of active user data. A brand three weeks past launch turning on Send Time Optimization is not going to see what the case studies show. The engagement models behind STO and Channel Optimization get reassessed weekly, weighting the newest project data most heavily, so they also need a few cycles after you switch them on before the numbers mean anything.

Predictive Goals is something you add to your plan. Iterable’s own onboarding language is “add Predictive Goals to your plan” — it’s positioned as an upgrade, not a checkbox. Brand Affinity, the optimizers, Copy Assist, and Journey Assist read as standard. Confirm with your CSM before you scope a quarter around predicted conversion segments.

To evaluate any of this honestly, compare campaigns that use a feature against campaigns that don’t in Campaign Analytics — Iterable ships an STO-specific experiment type for exactly this comparison.


What your own API key reaches

Iterable has one of the better documented REST APIs in the category, and an ordinary customer generates a key themselves. No partner program, no sales call. That’s genuinely not true across this market.

Go to Integrations → API Keys in the Iterable app. You need the Manage Integrations project permission. Pick a key type, name it descriptively, and copy the value on the confirmation screen — Iterable will not show it to you again, and a lost key means a new key.

There are five types, split into two families:

FamilyTypesWhat it’s for
Server-sideRead-only, Server-sideServer-to-server calls. Read-only is scoped to GET endpoints; Server-side reaches essentially everything else.
Client-sideJavaScript, Mobile, WebSDK use in front-end and app code, scoped to a narrow endpoint list

For anything automation-shaped you want a Read-only or Server-side key. Never put a server-side key in client code — it can read and change project data. Client-side keys default to requiring JWT authentication, and that setting can only be chosen at creation time; a key without it lets an attacker who guesses a user’s email act on that user’s behalf.

Auth is a header, not a query string: Api-Key: <YOUR_KEY>. And check your data center — EU projects use https://api.eu.iterable.com rather than https://api.iterable.com, with a separate copy of the docs.

The documented API runs to roughly 129 endpoints. What matters for automation:

GroupRepresentative endpointsRead / write
Campaigns/api/campaigns, /api/campaigns/metrics, /api/campaigns/trigger, /api/campaigns/{id}/scheduleBoth
JourneysGET /api/journeys, POST /api/workflows/triggerWorkflowRead + trigger
Users/api/users/update, /api/users/bulkUpdate, /api/users/getByEmail, /api/users/getSentMessagesBoth
Events/api/events/track, /api/events/trackBulk, /api/events/byUserId/{userId}Both
Export/api/export/start, /api/export/jobs, /api/export/data.jsonRead
Catalogs/api/catalogs/{name}/items with PUT, PATCH, POST, DELETEBoth
Templates24 endpoints across email, push, SMS, in-app, embeddedBoth
Experiments/api/experiments, /api/experiments/metricsRead
Lists/api/lists, /api/lists/subscribe, /api/lists/{id}/sizeBoth

Two details worth knowing. POST /api/workflows/triggerWorkflow triggers a journey from outside Iterable — list triggers are asynchronous, and the same list can’t be re-triggered for a journey until the previous run finishes. And the export API is the one with real limits: one request per second per organization, and only four exports process concurrently before requests queue. If your plan is “pull everything every fifteen minutes,” rethink it.


Iterable’s MCP server is real, in beta, and read-only until you say otherwise

Iterable ships an open-source MCP server, documented in its support center and explicitly labeled beta — functionality may change, be suspended, or be discontinued without notice.

It’s substantial: 109 tools covering campaigns, catalogs, exports, events, experiments, journeys, lists, messaging, templates, and users, mapped one-to-one onto the REST endpoints above. Install with npx @iterable/mcp setup, which by default configures a safe, read-only mode with no PII, no writes, no sends. Three separate flags open it up: ITERABLE_USER_PII for profile data including emails and phone numbers, ITERABLE_ENABLE_WRITES for creating and deleting resources, and ITERABLE_ENABLE_SENDS for actually messaging users and triggering journeys. Permissions save per key, so you can enable writes on a sandbox project and leave production locked.

Two things to internalize before you turn on sends. Iterable’s own docs warn that creating a blast campaign schedules it for delivery — there is no draft state, because that mirrors the underlying API. If you only want an agent drafting content, work with templates and leave sends off. And MCP calls share your organization’s rate limits with every other API consumer; on a 429 the server does not retry.

Clients supported are the local ones: Cursor, Claude Desktop, Claude Code, Gemini CLI, Windsurf, and Antigravity. Iterable notes directly that claude.ai can’t connect to local MCP servers, so the web app won’t reach it. ChatGPT has no native Iterable connector — see our MCP servers roundup for how this pattern compares across tools.


Iterable orchestrates the customer journey. Something else has to orchestrate the campaign.

This is where most “AI for Iterable” content goes wrong, so let’s be precise.

Iterable reacts to events, natively and well. Custom events start journeys, purchase behavior advances tiles, POST /api/events/track feeds the engine from your own systems, and triggerWorkflow starts a journey on demand. Real-time, event-driven messaging is the product. Anyone telling you Iterable can’t respond to what a user just did hasn’t opened it.

What Iterable doesn’t do — and was never designed to do — is the work that happens around a campaign, among the people shipping it. A launch looks roughly like this: a brief lands in Slack, copy gets drafted, brand reviews it, someone builds the journey, someone else QAs the segment against the Brand Affinity label, a stakeholder asks how last week’s flight did, results get pasted into a deck, and a ticket gets filed when the deep link breaks on Android. Iterable owns one step in that chain. Everything before and after lives in your inbox, your tracker, and your calendar.

That gap is what lifecycle teams at growth-stage consumer companies are actually drowning in. The problem is rarely “our messaging isn’t personalized enough.” It’s that the CRM lead spends Monday morning pulling /api/campaigns/metrics by hand, reformatting it, and writing the same summary to the same four people.

General-purpose AI assistants don’t close that gap either, for a specific structural reason.

The unattended-work gap closed in 2026: ChatGPT Scheduled Tasks and Claude Cowork both run on their own. The remaining gap is what starts them. These run on a timer, not in response to an event in your apps, so "when this happens, do that" is still outside what they do.

So Claude Desktop with the Iterable MCP server can tell you how a journey performed when you ask it. It cannot notice on Thursday that Tuesday’s send underperformed and tell you first.


Where Carly fits around Iterable

Carly is an AI executive assistant that runs on triggers and schedules in the cloud, aimed at the coordination layer rather than at Iterable’s orchestration. It doesn’t compete with journeys — it does the parts journeys were never pointed at:

  • Standing reports without the Monday morning tax. Pull /api/campaigns/metrics and /api/experiments/metrics on a schedule, format the numbers, and email the digest to the growth channel and the two VPs who ask for it. Your laptop can be closed.
  • Watch and escalate. Check open and click rates against last period on a cadence, and email or Slack you when something crosses a threshold you set — instead of you finding out at the weekly review.
  • Follow-through across your stack. Iterable results into a Notion doc, a Jira ticket when a deep link 404s, a CRM note on the accounts sitting in a churn-risk Brand Affinity label. Iterable reaches your users; Carly reaches your tools.
  • Inbox and calendar work. Triage the lifecycle team’s shared inbox, draft and send replies from Gmail or Outlook with attachments, book the QA review, take notes in the launch retro.
  • Built by describing it. Say “email growth an Iterable performance digest every Monday at 9,” and Carly interviews you and builds the workflow with you.

Iterable connects through your own API key — generate a Read-only or Server-side key at Integrations → API Keys, then paste it at carlyassistant.com/integrations, along with the EU base URL if that’s your data center. Carly reaches 200+ tools natively and anything else with a public API via your own key; see integrations.

Pricing: free, unlimited Zapier-style workflows, and AI agents from $35/month. If you’re evaluating more broadly, we keep a running list of the best AI agents for productivity and a rundown for marketing managers specifically.


FAQ

What is Iterable Nova?

Nova Intelligence is Iterable’s own AI layer, not a third-party add-on. It covers Nova Agent (natural-language campaign review, analytics questions, experiment creation, and Handlebars generation and validation), decisioning features (Send Time Optimization, Channel Optimization, Frequency Optimization), insights features (Brand Affinity™, Predictive Goals, Next Best Action), and creation features (Copy Assist and Journey Assist).

Is Nova Intelligence included in my Iterable plan?

Mostly, with an exception. The optimizers, Brand Affinity, Copy Assist, and Journey Assist read as standard features. Predictive Goals is described in Iterable’s own documentation as something you add to your plan, so treat it as an upgrade conversation with your CSM. Separately, Nova features need at least three months of active user data to produce good results regardless of plan.

How do I get an Iterable API key?

In the Iterable app, go to Integrations → API Keys. You need the Manage Integrations project permission. Choose one of five key types — Read-only or Server-side for server-to-server work, JavaScript, Mobile, or Web for SDK use — name it, and copy the value shown on the confirmation screen. Iterable can’t display it again. Pass it as an Api-Key header, and use https://api.eu.iterable.com if your project is on the EU data center.

Can Iterable react to user events, or do I need an external tool?

Iterable reacts to events natively and it’s the core of the product. Custom events start and advance journeys, POST /api/events/track feeds events in from your own systems, and POST /api/workflows/triggerWorkflow starts a journey programmatically. You do not need an external tool for customer-facing event-driven messaging. What you may want an external tool for is the internal work around a campaign: reporting, alerting, and follow-through into Slack, Jira, or your CRM.

Does ChatGPT or Claude connect to Iterable?

Claude does, through Iterable’s open-source MCP server — 109 tools, installed locally with npx @iterable/mcp setup, read-only by default with separate opt-in flags for PII, writes, and sends. It works with Claude Desktop, Claude Code, Cursor, Gemini CLI, Windsurf, and Antigravity, but not with claude.ai in the browser, which can’t reach local MCP servers. ChatGPT has no native Iterable connector. Note the server is in beta and Iterable reserves the right to change or discontinue it.

Can an AI agent draft an Iterable campaign without sending it?

Not as a blast campaign. Iterable’s MCP documentation is explicit that creating a blast campaign schedules it for delivery, matching the underlying API — there’s no draft campaign state. If you want an agent generating content for review, leave ITERABLE_ENABLE_SENDS off and have it work with templates instead, then send yourself a proof before anything goes to a real list.


More: Klaviyo MCP · Braze AI · AI agents for marketing managers · MCP servers · Best AI workflow automation tools

Ready to automate your busywork?

Carly schedules, researches, and briefs you—so you can focus on what matters.

See what people say

"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.

Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.

On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."

Gus Ibrahim, Founder & Director, IHR