Connect Iterable to your AI agent
Cross-channel marketing platform for creating, executing, and optimizing campaigns
We set up the connection using your own Iterable account, with keys you control, and keep it running. Your agent picks it up and starts doing the work.
What your agent can do in Iterable
Each one is a real action the agent can take on its own, the same things a person clicking around Iterable could do. Read-only by default; write actions are confirmed against your policy.
- Abort Campaign Abort a running campaign to stop all in-progress message deliveries. Use this action when you need to immediately halt an active campaign that is currently sending messages to recipients. This action is useful for emerg…
- Activate a triggered campaign Activates a triggered campaign by its unique ID, allowing it to process events and send messages. Use this action when you need to start a triggered campaign that will send messages based on user events (e.g., cart aban…
- Archive Campaigns Archives one or more campaigns. This endpoint behaves the same as the archive feature in the UI. Scheduled or recurring campaigns will be cancelled, and running campaigns will be aborted. Archived campaigns will be hidd…
- Bulk Update Users Bulk update user data in Iterable. Use this action when you need to update multiple user profiles at once. This endpoint adds and overwrites user profile fields as needed. It does not modify top-level fields omitted fro…
- Cancel Campaign Cancel a scheduled or recurring campaign in Iterable. Use when you need to stop a campaign that is scheduled for future sending or is part of a recurring campaign cycle. Once canceled, the campaign will not be sent to a…
- Cancel Email Cancel a scheduled email to a specific user in Iterable. Use when you need to stop an email that has been queued for a specific user but has not yet been sent. You can cancel by providing the scheduledMessageId alone, o…
- Cancel Export Cancel a queued or running export created with the 'Start export' endpoint. Use when you need to abort an export job that is in progress or queued. Rate limit: 1 request/second, per project.
- Cancel in app message Cancel a scheduled in-app message to a specific user in Iterable. Use when you need to stop a scheduled in-app message that is queued for delivery to a specific user. This action cancels the in-app message for the speci…
- Cancel Push Cancel a scheduled push notification to a specific user in Iterable. Use when you need to stop a push notification that has been queued for a specific user but has not yet been sent. You can cancel by providing the sche…
- Cancel Web Push Cancel a scheduled web push notification to a specific user in Iterable. Use when you need to stop a web push notification that has been queued for a specific user but has not yet been sent. You can cancel by providing…
- Cancel WhatsApp Cancel a scheduled WhatsApp message to a specific user in Iterable. Use when you need to stop a WhatsApp message that has been queued for a specific user but has not yet been sent. You can cancel by providing the schedu…
- Create a new campaign Creates a new blast or triggered campaign from an existing template. Use this action when you need to create email, push notification, web push notification, SMS, in-app message, and embedded message campaigns from an e…
- Create a catalog Create a catalog with the specified name in Iterable. Use this action when you need to create a new catalog to store and organize data such as products, users, or other entities. Each catalog in a project must have a un…
- Create Catalog Items Asynchronously creates or updates up to 1000 catalog items with a single request. Use this action when you need to bulk create or update catalog items efficiently. If an item with the same ID already exists, it will be…
- Create a new list Create a new static list in Iterable. Use this action when you need to create a new contact list that can be used for email campaigns, segmentation, or organizing contacts. Each list must have a unique name within the p…
- Create snippet Creates a new code snippet in Iterable. Use this action when you need to create a reusable code snippet that can be referenced in campaigns, templates, or other Iterable features. The snippet name must be unique within…
- Deactivate Triggered Campaign Deactivate a triggered campaign in Iterable. Use when you need to stop a triggered campaign from firing based on user events. This action is irreversible — once a triggered campaign is deactivated, it cannot be reactiva…
- Bulk delete templates Bulk delete one or more base templates from Iterable. Use this action when you need to permanently remove multiple templates that are no longer needed. This action is irreversible — templates cannot be recovered once de…
- Delete a catalog Delete a catalog by its name. This action also deletes all collections that reference the specified catalog. Use this action when you need to permanently remove a catalog and all its associated collections from Iterable…
- Delete a Catalog Item Deletes the specified item from a catalog. This action is asynchronous — the data may not be deleted immediately. Use this action when you need to remove a specific item from a catalog by its unique identifier. This act…
- Delete Catalog Items Asynchronously deletes catalog items from a specified catalog in Iterable. Use when you need to remove specific items from a catalog by their IDs. This action processes the deletion asynchronously — the API may return a…
- Delete a list Delete a list by its listId. Use this action when you need to permanently remove a contact list from Iterable. This action is irreversible — the list and all associated data cannot be recovered once deleted. Note: Lists…
- Delete Metadata Table Asynchronously deletes a metadata table by its table name. Use when you need to permanently remove a metadata table from Iterable. This action is asynchronous - a 200 response indicates a valid request that will be proc…
- Delete snippet Deletes a snippet by its ID (numeric) or name (string). Numeric identifiers are treated as snippet IDs, string identifiers as snippet names. Use this action when you need to remove a snippet that is no longer needed. Th…
- Delete User By ID Asynchronously deletes a user by userId from Iterable. Use when you need to remove a user from Iterable's system by their userId. This action does not prevent future data collection about the user. If multiple users sha…
- Export data to CSV Export campaign analytics data in CSV format from Iterable. Use when you need to retrieve event data such as email sends, opens, clicks, push notifications, SMS messages, purchases, or custom events. Note: Either use th…
- Export Campaign Data to JSON Export campaign analytics data in JSON format with one entry per line. Use when you need to retrieve campaign metrics such as email sends, opens, clicks, purchases, or custom events. Rate limit: 4 requests per minute pe…
- Export User Events Export all events for a user identified by email or userId. Returns events as JSON, one event per line. Use this action when you need to retrieve the complete event history for a specific user in Iterable. Either email…
- Forget User Deletes the specified user's data from the Iterable project and prevents future data collection about them. This action is used for GDPR compliance. Use this action when you need to permanently remove a user's data from…
- Get campaign by ID Retrieves a campaign by its unique ID. Use this action when you need to fetch detailed information about a specific campaign from Iterable. The response includes campaign metadata such as state, type, timing, and associ…
- Get Campaign Metrics Retrieve performance metrics for one or more campaigns. Use when you need to analyze delivery, open, click, and conversion rates for your email, push, or SMS campaigns. This action allows filtering by specific campaign…
- Get Catalog Field Mappings Tool to retrieve field mappings (field to data type) and undefined fields for a catalog in Iterable. Use when you need to inspect the schema structure and data type definitions of a catalog.
- Get catalog item by ID Retrieves a specific catalog item by its ID from the specified catalog. Use this action when you need to fetch a single item from a catalog using its unique identifier.
- Get email template by ID Get an email template by templateId. Use this action when you need to retrieve a specific email template from Iterable to view its content, settings, sender configuration, or metadata. The response includes the template…
- Get Embedded Messages Retrieves embedded messages for which the specified user is eligible, grouped by placementId. Use this action when you need to fetch in-app embedded messages for a user based on their email or userId. By default, it ret…
- Get Embedded Template Retrieves an embedded message template by its unique ID. Use this action when you need to fetch detailed information about a specific embedded message template from Iterable, including its content, visual elements, and…
- Get Experiment Metrics Retrieve metrics for email experiments. Use when you need to analyze performance data for A/B tests or email experiments. This action allows filtering by specific experiment IDs, campaign IDs, and/or a date range. Curre…
- Get in app messages Get a user's in-app messages from Iterable. This endpoint always returns the user's non-selective (not app-specific) in-app messages. To also fetch app-specific in-app messages, include a packageName and platform in the…
- Get in app template by id Retrieves an in-app template by its unique ID. Use this action when you need to fetch detailed information about a specific in-app template from Iterable, including its content, display settings, and metadata. Optionall…
- Get List Size Get the number of users within a list. Returns the count of users currently subscribed to the specified list. Use this action when you need to check how many users are in a specific list for reporting, list management,…
- Get push template by ID Retrieves a push template by its unique ID. Use this action when you need to fetch a specific push template from Iterable to view its settings, content, or configuration. The response includes all template properties in…
- Get SMS template Retrieves an SMS template by its unique ID. Use this action when you need to fetch the content, metadata, and settings of a specific SMS template from Iterable. The response includes the template message content, locale…
- Get snippet by ID or name Retrieves a snippet by its ID (numeric) or name (string). Numeric identifiers are treated as snippet IDs, string identifiers as snippet names. Use this action when you need to retrieve a specific snippet by its identifi…
- Get template by client template ID Retrieves an email template by its client-defined template ID. Use this action when you need to find templates using a client-specific identifier rather than the internal Iterable template ID. The response contains a li…
- Get User By ID Get a user by userId from Iterable. Use when you need to retrieve user information using a specific userId. This action fetches user data including email, userId, and any additional dataFields stored in Iterable. Unlike…
- Get User By ID (Path) Get a user by userId (path parameter) from Iterable. Use when you need to retrieve user information using a specific userId as a path parameter. This action fetches user data including email, userId, and any additional…
- Get User Events Get events for a specific user by userId. Use when you need to retrieve the event history for a particular user from Iterable. This action allows you to fetch a user's event data including campaign interactions, channel…
- Get User Sent Messages Get messages sent to a user by email address or userId. Use when you need to retrieve the message history for a specific user in Iterable. This action returns messages sent to a user, with optional filtering by campaign…
- Get web in app messages Get a user's web in-app messages from Iterable. This endpoint always returns the user's non-selective (not app-specific) web in-app messages. To also fetch web app-specific in-app messages, include a packageName in the…
- List all campaigns Retrieves metadata about all campaigns in a project with optional pagination. Use this action when you need to enumerate all campaigns in a project, retrieve campaign IDs for subsequent operations, or paginate through l…
- List Catalog Items Get the catalog items for a catalog. Use when you need to retrieve items stored in a specific Iterable catalog, such as product catalogs, user preferences, or custom data sets. Supports pagination and sorting for large…
- List Catalogs Tool to retrieve all catalog names from Iterable. Use when you need to list available catalogs before performing catalog-specific operations like getting or setting catalog records.
- List Channels Get all message channels within the Iterable project. Use this action when you need to retrieve all available communication channels (e.g., email, push notifications) configured in your Iterable project. This is useful…
- List export files Get the job status and files for an export started with the 'Start export' endpoint. Occasionally, a job status may change from running to enqueued because it had to restart. When this happens, the job maintains progres…
- List Export Jobs Retrieve a list of recent export jobs for the current project. Use when you need to monitor export job status, check for completed exports, or manage data export operations.
- List Forgotten User IDs Get hashed user IDs of forgotten users for GDPR compliance. Returns a hash for each userId currently forgotten by your project. Each forgotten userId is lowercased, trimmed, and hashed using SHA-256. Use this action whe…
- List Journeys Get a list of journeys (workflows) within your Iterable project. Use this action when you need to retrieve and browse through marketing automation journeys, including their status, configuration, and metadata. Supports…
- List Lists Retrieve all lists within a project. Use when you need to enumerate available lists, retrieve list IDs for subsequent operations, or understand the structure of contact lists. Rate limit: 100 requests/second, per projec…
- List List Users Get all users within a list. Use when you need to retrieve the complete list of users subscribed to a specific list for export, analysis, or batch operations. This action returns all users in the list (unlike preview wh…
- List Message Types Lists all message types within a project. Use when you need to retrieve all available message types (e.g., Email, Push, SMS) and their associated metadata such as channel ID, subscription policy, and rate limits. Rate l…
- List Metadata Keys List all keys in a metadata table. Use when you need to discover what keys exist within a specific metadata table (e.g., to find keys before retrieving or deleting individual metadata items). Results may be paginated; u…
- List Metadata Tables List available metadata tables in Iterable. Use when you need to discover what metadata tables are available for querying (e.g., users, events, campaigns). This action is read-only and idempotent.
- List recurring campaign child campaigns Retrieve the child campaigns generated by a recurring campaign. Use when you need to list or monitor campaigns that were created from a recurring campaign template. Pagination is supported using page and pageSize parame…
- List Snippets Get all snippets for the current project. Use this action when you need to retrieve all code snippets available in the Iterable project, including their content, metadata, and associated variables.
- List all templates Retrieves metadata about all templates in a project with optional pagination. Use this action when you need to enumerate all templates in a project, retrieve template IDs for subsequent operations, or paginate through l…
- List User Fields Get all user fields within a project. Use when you need to discover what custom fields exist for users in your Iterable project, such as for understanding user data schema, creating imports, or validating field names be…
- List Webhooks Get all webhooks configured within the Iterable project. Use this action when you need to retrieve all webhook configurations, identify webhook IDs for subsequent operations, or understand the webhook setup for your pro…
- Merge Users Merge two user profiles in Iterable. Use when you need to consolidate duplicate user profiles. This action merges all profile data and events from the source user into the destination user. The source user profile will…
- Preview email template Generate a fully rendered HTML preview of an email template using custom data. Use this action when you need to preview how an email template will look when rendered with specific data fields or data feed data. This is…
- Preview in app template Generate a fully rendered HTML preview of an in-app template using custom data. Use this action when you need to simulate how a template would appear when sent to a user, allowing you to test template rendering with spe…
- Preview List Users Get a random sample of up to 5000 users within a list. Use when you need to quickly preview the users in a specific list without fetching the entire list. This action is useful for sampling list membership before runnin…
- Replace Catalog Item Asynchronously creates or replaces the specified catalog item in the given catalog. Use this action when you need to completely replace a catalog item with new data. If the item already exists, it will be fully replaced…
- Replace Metadata Item Asynchronously creates or replaces the metadata item associated with the specified key. Use when you need to create a new metadata item or completely replace an existing one. A 200 response indicates a valid request tha…
- Schedule Campaign Schedule an existing campaign to be sent at a specified time. Use when you have created a campaign and need to schedule it for future sending. The campaign must exist and not already be scheduled or in the process of se…
- Send Campaign Send an existing campaign immediately in Iterable. Use when you need to trigger a campaign to send right away, bypassing any scheduled send time. The campaign must be in a 'Ready' state before it can be sent using this…
- Send email template proof Send a proof of an email template to a specific user. Use this action when you need to preview an email template by sending a proof to a specific recipient before sending it to a larger audience. This allows you to veri…
- Send in app notification to target Send an in-app notification to a specific user using Iterable. Use this action when you need to send an in-app notification directly to a recipient. The notification is sent based on a campaign/template ID, and the reci…
- Send in app template proof Send a proof of an in-app template to a specific user using Iterable. Use this action when you need to preview how an in-app template will look for a specific user before sending the actual campaign. The proof email con…
- Send push to target Send a push notification to a specific user using Iterable. Use this action when you need to send a transactional push notification directly to a recipient. The push is sent based on a campaign/template ID, and the reci…
- Send push template proof Send a proof of a push template to a specific user. Use this action when you need to preview a push template by sending a proof to a specific recipient before sending it to a larger audience. This allows you to verify t…
- Send SMS template proof Send a proof of an SMS template to a specific user. Use this action when you need to preview an SMS template by sending a proof to a specific recipient before sending it to a larger audience. This allows you to verify t…
- Send WhatsApp to target Send a WhatsApp message to a specific user using Iterable. Use this action when you need to send a transactional WhatsApp message directly to a recipient. The WhatsApp message is sent based on a campaign/template ID, an…
- Start Export Start a data export job. The export processes as a background job asynchronously. Use the 'List export files' action to check export status by jobId and obtain file download links once completed. Use this action when yo…
- Subscribe to List Subscribe one or more users to a specific list in Iterable. Use this action when you need to add subscribers to a list by their email address, userId, or both. The action can create new user profiles if they don't exist…
- Subscribe User By ID Subscribes a user to the specified subscription group by their userId. Use when you need to add a user to a specific email list, message type, or message channel subscription. Contact your customer success manager to en…
- Track Embedded Click Tracks a click event on an embedded message. Use this action when you need to record user interactions with buttons or links in embedded messages. This creates an embeddedClick event in Iterable for analytics and campai…
- Track Embedded Received Track that an embedded message was received on a device. Use this action when you need to record that a device has retrieved an embedded message from Iterable's API. Call this endpoint once per embedded message retrieve…
- Track Embedded Session Tracks an embedded message session and related impressions in Iterable. Use this action when you need to report user engagement with embedded messages, including tracking when sessions start and end, and recording impre…
- Track Event Track an event in Iterable. Use when you need to record a user action, system event, or custom analytics event. This action sends event data to Iterable for processing. Events are created asynchronously and processed se…
- Track Events in Bulk Track multiple events in bulk in Iterable. Use this action when you need to track multiple events at once for better performance and to ensure events are processed in the correct order (since bulk events are processed a…
- Track Purchase Track a purchase event in Iterable. Use when you need to record a purchase transaction. This action tracks purchase events, clearing the shoppingCartItems field on the user profile. The user profile is updated if it alr…
- Trigger Campaign Trigger a campaign to send to one or more lists of recipients. Use when you need to initiate a marketing campaign immediately, sending to all users in the specified lists. The campaign must be in a ready state before tr…
- Trigger Journey Trigger a journey (workflow) in Iterable for a specific user or list. Use this action when you need to start a journey for an individual user (by email or userId) or for all users in a list. Triggering with a list is as…
- Unforget User Unforgets a previously forgotten user in Iterable, resuming data collection. This action allows you to resume collecting data about a user who was previously forgotten (deleted) from your Iterable project. The previousl…
- Unsubscribe from list Remove users from a list. Use this action when you need to unsubscribe one or more users from a specific email list in Iterable. This action permanently removes subscribers from the specified list and cannot be easily r…
- Unsubscribe User By ID Unsubscribes a user from the specified subscription group by their userId. Use when you need to remove a user from a specific email list, message type, or message channel subscription. Contact your customer success mana…
- Update Shopping Cart Update a user's shopping cart items in Iterable. Use when you need to update the shoppingCartItems field on a user profile with items from the user's shopping cart. The user profile is updated if it already exists or cr…
- Update Catalog Field Mappings Set a catalog's field mappings (data types) in Iterable. Use this action when you need to define the data type for fields in a catalog. After being set, a given field's data type may not be changed. Valid types: boolean…
- Update Catalog Item Asynchronously creates or updates the specified catalog item in the given catalog. Use when you need to create a new catalog item or update an existing one. If the item already exists, its fields will be updated with th…
- Update email template Update an existing email template in Iterable. Use this action when you need to modify an existing email template's content, settings, sender information, or metadata. Only the fields included in the request will be upd…
- Update Embedded Template Updates an embedded message template with the specified fields. Use this action when you need to modify an existing embedded message template in Iterable. Only the fields included in the request body will be updated; pr…
- Update in app template Update an existing in-app template in Iterable. Use this action when you need to modify an existing in-app template. Only the fields specified in the request will be updated; fields not included will retain their existi…
- Update push template Updates an existing push template in Iterable. Use this action when you need to modify an existing push template's content, settings, or configuration. Only the fields specified in the request body will be updated; prev…
- Update SMS template Update an existing SMS template in Iterable. Use this action when you need to modify the content or settings of an existing SMS template. Only the fields specified in the request will be updated; fields not included wil…
- Update snippet by ID or name Updates an existing snippet by ID (numeric) or creates/updates a snippet by name (string). For numeric identifiers: only existing snippets can be updated (returns 404 if not found). For string identifiers (snippet names…
- Update User Update user data or add a user if none exists in Iterable. Use when you need to create or update user profile information. This action merges data — missing fields are not deleted. Provide either email or userId (but no…
- Update User Email Updates a user's email address in Iterable. Use when you need to change a user's email in email-based projects. Use this action when you need to update a user's email address and migrate all profile data and events to t…
- Update User Subscriptions Updates user subscription preferences in Iterable. Use when you need to modify a user's subscription status for email lists, message types, and channels. IMPORTANT: This endpoint overwrites (does not merge) existing dat…
- Bulk Update User Subscriptions Bulk update subscription preferences for multiple users in Iterable. Use this action when you need to update email list subscriptions, message type subscriptions, or channel subscriptions for multiple users in a single…
- Update Webhook Update an existing webhook configuration in Iterable. Use this action when you need to modify webhook settings such as endpoint URL, authentication type, enabled status, or campaign type subscriptions. Only the fields i…
- Upsert email template Create or update an email template in Iterable. Use this action when you need to create a new email template or update an existing one that matches the provided clientTemplateId. This endpoint performs an upsert operati…
- Upsert Embedded Template Creates an embedded message template if it doesn't exist, or updates all embedded message templates that match the provided clientTemplateId. Use this action when you need to create or update embedded message templates…
- Upsert in app template Create or update an in-app template in Iterable. Use this action when you need to create a new in-app template or update an existing one that matches the provided clientTemplateId. This endpoint performs an upsert opera…
- Upsert push template Create or update a push template in Iterable. Use this action when you need to create a new push template or update an existing one that matches the provided clientTemplateId. This endpoint performs an upsert operation:…
- Upsert SMS template Create or update an SMS template in Iterable. Use this action when you need to create a new SMS template or update an existing one that matches the provided clientTemplateId. This endpoint performs an upsert operation:…
- Verify SMS Code Verifies an SMS verification code sent to a phone number in Iterable. Use this action when you need to check whether a user has entered the correct verification code during phone number verification. The code must match…
How we connect it
- 1
Connect your account
You create a key in Iterable, a key you create and control, and paste it in once. It lives in a secrets store on your server, not with us.
- 2
Set the guardrails
Read-only by default. You choose which write actions the agent may take, and anything outside that policy gets confirmed with you first.
- 3
We keep it running
Health checks on every connection, updates handled for you, and we watch the first week of activity to make sure the work lands.
FAQ
Iterable questions, answered.
Ready to put Iterable to work?
Tell us what your team runs on. We set up the connection, secure it, and your agent takes it from there.
All product names, logos, and brands are property of their respective owners; used for identification only. ZeroToClaw is not affiliated with or endorsed by Iterable.