otherapi_key

Iterable

Cross-channel marketing platform for creating, executing, and optimizing campaigns

Verdict

The Iterable MCP connects your team's AI to your cross-channel marketing platform. @Mention it in a Space to trigger campaigns, update user profiles in bulk, archive old templates, or cancel scheduled sends — all without leaving the conversation. Marketing ops teams use it to react faster to campaign issues, product managers pull audience data during planning, and support leads update user attributes when context changes mid-thread. You'll need an API key with write permissions; read-only keys won't let the AI modify campaigns or user data.

Common use cases

  • Abort a campaign when metrics spike unexpectedly
  • Bulk update user segments during product launches
  • Archive old templates after rebrand completion
  • Cancel scheduled emails for churned accounts
  • Activate triggered campaigns from Slack threads

Integration

Vendor
Iterable
Category
other
Auth
API_KEY
Tools
50
Composio slug
iterable

Tools

  • 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 emergency stops, such as w

  • 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 abandonment, welcome seri

  • 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 hidden from the Campaigns

  • Bulk delete templates
    destructive

    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 deleted. Note: Template

  • 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 from the request body. I

  • 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 any recipients. Note:

  • 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, or by providing a camp

  • 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 specified user based on th

  • 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 scheduledMessageId alone,

  • 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 the scheduledMessageI

  • 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 scheduledMessageId alone, o

  • 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 unique name. Catalog na

  • 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 existing template. Not

  • 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 project. The newly cre

  • 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 completely overwritte

  • 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 the project and canno

  • 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 reactivated through this API.

  • Delete a catalog
    destructive

    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. This action is irre

  • Delete a Catalog Item
    destructive

    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 action is irreversible —

  • Delete a list
    destructive

    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 that are currently i

  • Delete Catalog Items
    destructive

    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 202 Accepted status

  • Delete Metadata Table
    destructive

    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 processed, but the table

  • Delete snippet
    destructive

    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. This action is irrevers

  • Delete User By ID
    destructive

    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 share the same userId, t

  • 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 per project. Either 'ra

  • 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 the 'range' parameter (

  • 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 or userId must be pro

  • 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 Iterable and ensure

  • 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 associated lists or templat

  • 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 IDs and/or a date ran

  • 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's HTML and plain tex

  • 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 returns data for all pla

  • 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 metadata. Optionally

  • 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. Currently only email exper

  • 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 request. Use this ac

  • 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. Optionally specify a locale to

  • 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, or campaign planning

  • 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 including message conte

  • 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 information, trackin

  • 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 identifier to view its conten

  • 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 list of templates that

  • 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 path-parameter endpo

  • 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 dataFields stored in

  • 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 activity, and associ

  • 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, date range, and mes

  • 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 request. This endpoin

  • 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 large result sets. The

Setup

Setup guide

  1. 11. In Switchy, open your workspace settings and navigate to the MCP Integrations section. 2. Click 'Add Integration' and select Iterable from the list. 3. Log into your Iterable account in a separate tab, go to Settings > API Keys, and generate a new key with permissions for campaigns, users, and templates (standard or server-side key works). 4. Copy the API key and paste it into the Switchy connection dialog, then click 'Connect'. 5. Switchy will verify the key and show a green checkmark when the connection succeeds. 6. Open any Space, type '@Iterable' in the message box, and ask it to list active campaigns or retrieve a user profile — if it returns data, the integration is live. 7. Grant the AI access to the tools you want it to use (campaign management, user updates, template operations) by reviewing the permissions prompt that appears after first invocation.

What teammates see: by default, memories from Iterable are scoped to the Space (PROJECT visibility) — you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Abort Running Campaign

@Iterable abort the campaign with ID 1234567. Confirm when all in-progress deliveries have stopped and show me the final send count.
Open in a Space →

Bulk Update User Profiles

@Iterable update the 'plan_tier' field to 'enterprise' for users with emails in this CSV: user1@example.com, user2@example.com, user3@example.com. Show me how many profiles were modified.
Open in a Space →

Archive Old Templates

@Iterable archive all email templates with 'Q1_2024' in the name. List the template IDs you archived and confirm they're no longer visible in the UI.
Open in a Space →

Cancel Scheduled Send

@Iterable cancel the scheduled email for user@example.com with schedule ID 98765. Verify the email won't be delivered and tell me when it was originally set to send.
Open in a Space →

Activate Triggered Campaign

@Iterable activate the triggered campaign with ID 5678901. Confirm it's live and show me the event type it's listening for.
Open in a Space →
Data last verified 338 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.