- Brand
- MailerLite
- Category
- Marketing
- Primary Subcategory
- Email & SMS Lifecycle Marketing Automation
Integration details
Description
MailerLite helps users manage subscribers, groups, campaigns, forms, segments, webhooks, automations, templates, and e-commerce marketing data through ChatGPT.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Email & SMS Lifecycle Marketing Automation
- Secondary Subcategories
- None listed
- Brand
- MailerLite
- Access
- Account required
- First tracked
- 2026-08-13
- Tool count
- 92
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for MailerLite
Get updates when MailerLite’s Discoverability Score or category rank changes.
Competing in ChatGPT Email & SMS Lifecycle Marketing Automation
View Category92 tools agents can invoke
Add a new step to an EXISTING automation. By default the step is appended at the end of the flow; pass after_step_id to insert it right after a specific step instead (get step ids from dry_run_automation). Automations with condition or A/B split steps have no single end, so they need after_step_id. If after_step_id points at a condition step, you MUST pass branch: "yes" or "no" to say which path the new step belongs to. If it points at an A/B test step, pass branch: "a_path"/"b_path"/"c_path" to place it inside one of the test's paths, or omit branch to place it after the test (once all paths converge). Step types: - email: email_subject. Like create_automation, the HTML content cannot be authored here — design it in the dashboard, or set it afterwards with update_automation_email / update_automation_email_content. - delay: delay_value and delay_unit. - condition: matching_type and 1 to 5 conditions. Sends each subscriber down the yes or the no branch. The steps that were below the insertion point move into the new condition's yes branch (or no, with move_to_branch). - abtest: split_percentages, e.g. [50, 50] or [40, 30, 30]. Splits subscribers at random into 2 or 3 paths. Only email and delay steps can go inside a path, and the plan must include A/B split steps. - action: the complete action config. update_custom_field, mark_as_unsubscribed, remove_from_group / copy_to_group (group_ids), move_to_group (from_group_ids, then to_group_ids), go_to_step (must be the last step in its branch), send_internal_email_notification (1 to 5 recipients, who must be verified before the automation can be enabled). Actions cannot go inside an A/B split path. Conditions, A/B splits and actions change who gets which emails and change subscriber data once the automation runs. The automation must be disabled to add steps. For an email step, from, from_name and reply_to set the sender, sender name and reply-to. They default to the account sender. from and reply_to must be verified on the MailerLite account.
add_automation_step
Create a MailerLite subscriber, or update an existing subscriber with the same email. It can also change status, group membership, and resubscribe a previously unsubscribed subscriber.
add_subscriber
Add a subscriber to a group. If no subscriber matches the ID/email or no group matches the ID, this returns a normal (non-error) result with found: false rather than failing — a missing subscriber or group is an expected outcome, not a tool error.
assign_subscriber_to_group
Execute multiple MailerLite API requests in a single call. Requests may create, overwrite, or delete account data depending on their HTTP methods. Maximum 50 requests per batch. Paths must start with "api/". Webhooks are not supported in batch requests.
batch_requests
Cancel a scheduled campaign
cancel_campaign
Duplicate a step, with its configuration, and insert the copy into the workflow. By default the copy becomes the first step; pass parent_id to place it after a specific step instead. The automation must be disabled and under its step limit.
copy_automation_step
Create a new automation workflow in MailerLite, including its trigger and an ordered list of email and delay steps. IMPORTANT: This creates real resources. Email steps are created without HTML content — use update_automation_email_content to author the HTML body via the API, or design each email in the MailerLite visual editor. The new automation is left inactive. Args: - name (string): Automation name. - trigger_type (enum): What starts the automation (e.g. subscriber_joins_group, form_completed, abandoned_cart, subscriber_joins_segment, clicks_link, field_updated, anniversary). - trigger_config (object): Trigger-specific fields — group_ids for subscriber_joins_group, segment_id for subscriber_joins_segment, form_id (+ form_type) for form_completed, shop_id for abandoned_cart, link for clicks_link, field_id (+ field_operator, value) for field_updated, field_id (+ group_ids, send_hour, send_minute) for anniversary. Look IDs up first with list_resources / list_fields. - steps (array): Ordered steps; each is { type: "email" | "delay" }. Email steps take email_subject; delay steps take delay_value and delay_unit. - from, from_name, reply_to (optional): sender, sender name and reply-to for every email step. Default to the account sender. from and reply_to must be verified on the MailerLite account. Change them per email later with update_automation_email. abandoned_cart requires a connected store — without one the call is refused up front and nothing is created. Returns: a structured result with automation_id, dashboard_url, steps_created, email_steps_count, and next_steps guidance. Examples: - Welcome series: trigger_type="subscriber_joins_group", trigger_config={ group_ids: ["123"] }, steps=[{ type: "email", email_subject: "Welcome" }, { type: "delay", delay_value: 2, delay_unit: "days" }, { type: "email", email_subject: "Getting started" }]. - Birthday automation: trigger_type="anniversary", trigger_config={ field_id: "45", group_ids: ["123"], send_hour: "09", send_minute: "00" }. - Validate the plan with build_custom_automation and confirm IDs with list_resources first.
create_automation
Create a new email campaign. The "from" email must be a verified sender on the account — this is verified automatically before the campaign is created; check Settings > Domains in the MailerLite dashboard if you need to add or verify a sender.
create_campaign
Create a new custom subscriber field
create_field
Create a new signup form. Requires at least one group ID — use list_resources with resource_type "group" to find available groups first. Do not guess or invent group IDs.
create_form
Create a new subscriber group
create_group
Create a new subscriber segment, with or without filter rules. Filter format: [[{"operator": "...", "args": [...]}]] — an array of AND groups; groups are OR'd together. Do NOT wrap it in a {"rules": [...]} object. Reference for common operators (args[0] is always the field): - in_last / not_in_last — args: [field, N, unit]; unit is one of y,M,w,d,h,m,s. field: subscribed_at, last_sent_at, last_activity_at, last_open_at, last_click_at, created_at. Example — opened in the last 90 days: ["last_open_at", 90, "d"] - less / greater — args: [field, value]. field: opens_count, clicks_count, sent, open_rate, click_rate. Example — click rate under 20%: ["click_rate", 20] - equals — args: [field, value]. field: source, opens_count, clicks_count, sent, timezone_id, open_rate, click_rate, location.country_code - doesnt_equal — args: [field, value]. field: source, timezone_id, location.country_code - in_any / not_in_any — args: [field, value | [values]]. field: groups, campaigns.sent/opened/clicked/delivered, automations.active/completed (not_in_any also allows automations.all), ecommerce.purchased_products.product_id/variant_id, location.country_code - in_all / not_in_all — args: [field, [values]]. field: groups only - is_set — args: [field] (no value). field: campaigns.sent/opened/clicked/delivered, timezone_id, location.country_code, automations.active/completed - is_not_set — args: [field] (no value). field: groups, campaigns.sent/opened/clicked/delivered, timezone_id, location.country_code, automations.active/completed/all, ecommerce.purchased_products.product_id - before / after — args: [field, date]. field: subscribed_at, created_at - matches / doesnt_match / contains / doesnt_contain — args: [field, value]. field: email only - text_field_contains/doesnt_contain/equals/doesnt_equal, numeric_field_less/less_or_equal/greater/greater_or_equal/equals/doesnt_equal, date_field_less/less_or_equal/greater/greater_or_equal/equals/doesnt_equal/in_last/after_interval, field_is_set/field_is_not_set — for CUSTOM fields only; args[0] is the field's ID from list_fields, as a STRING (e.g. "5", not 5) Example — opened in the last 90 days AND click rate under 20%: [[{"operator": "in_last", "args": ["last_open_at", 90, "d"]}, {"operator": "less", "args": ["click_rate", 20]}]] An invalid operator/field pairing is rejected locally with the valid options before the API is called. Omit filter to create a name-only segment and configure rules later in the dashboard.
create_segment
Create a new webhook. Events requiring batchable=true: campaign.open, campaign.click, subscriber.deleted
create_webhook
Delete an automation
delete_automation
Delete a step from an automation's workflow. For condition or A/B test steps, branch_to_keep says what happens to the branches below it: "yes"/"no"/"a_path"/"b_path"/"c_path" keeps that one branch and reattaches it in the step's place, or "all" removes every branch. A step that another step depends on — the target of a "go to step" action, of a condition, or of a delay's "continue from chosen step" — cannot be deleted until that reference is removed. The automation must be disabled.
delete_automation_step
Delete a campaign
delete_campaign
Delete a custom subscriber field
delete_field
Delete a form
delete_form
Delete a subscriber group
delete_group
Delete a segment.
delete_segment
Delete a subscriber from the account. If no subscriber matches the ID, this returns a normal (non-error) result with success: false rather than failing — a missing subscriber is an expected outcome, not a tool error.
delete_subscriber
Delete a webhook
delete_webhook
Browse pre-built automation workflow templates, optionally matched to a user's goal. Returns each template's id, name, trigger, and step flow. Args: - type (enum): all | welcome | promotion | reminder | event | feedback | date. - user_intent (string, optional): The user's goal (e.g. "abandoned cart") used for keyword matching against template names/descriptions. Returns: { templates: [{ id, name, trigger_label, complexity, email_count, total_duration, steps[], steps_are_sample }], matched, match_method }. When a template has no real step data from the API, "steps" is filled with an illustrative sample flow and "steps_are_sample" is set to true. Examples: - "show me welcome templates" -> type="welcome". - To create an automation from a result, pass its numeric id to install_template.
discover_automation_templates
Fetch the full record for a single MailerLite resource using an identifier returned by the search tool. Always call search first to obtain this id — never guess or fabricate one. Args: - id (string, required): A prefixed identifier from search results formatted "<kind>:<id>" where kind is campaign, group, form, automation, or segment (e.g. "campaign:123"). Alternatively, a bare id (no prefix) if "type" is also given. - type (string, optional): One of campaign, group, form, automation, segment. Required only when "id" is a bare id without a "<kind>:" prefix. Returns: { "id": string, "title": string, "text": string, "url": string, "metadata": object }. "text" is the full resource serialized as JSON; "metadata" carries kind-specific summary fields (e.g. status/type for campaigns, active_count for groups). Examples: - After search returns "automation:012" -> fetch with id="automation:012". - If you already have a bare numeric id and know its kind -> fetch with id="123", type="group". - An id without a "<kind>:" prefix and no "type" argument, an unsupported kind, or an id that matches nothing returns an actionable error telling you to call search first.
fetch
Check with MailerLite whether this connection still works, and return its account details.
get_auth_status
Get activity log for an automation. Filter by status (completed, active, canceled, failed), date range, and subscriber email.
get_automation_activity
Read one email step of an automation: subject, preheader, sender, reply-to, plain text and HTML. Works for emails designed in the visual editor and for HTML set via update_automation_email_content. The HTML is the stored source: merge tags such as {$name} and {$unsubscribe} and conditional blocks are kept as written, so edit it in place and pass it back to update_automation_email_content without re-adding them.
get_automation_email
Get performance stats for an automation: sent, opens, clicks and unsubscribes, overall and for each email. list_automations already shows a short summary per automation. Use this tool for monthly totals, per-email numbers, or one email's numbers over a date range. Args: - automation_id (string): The automation ID. - months (3 | 6 | 12, optional): How many months of monthly totals to return. Defaults to 3. - email_id (string, optional): One email in the automation (an id from this tool's emails[]). Returns that email's engagement and deliverability instead of the automation overview. - start_date, end_date (Y-m-d, optional): Limit the email_id report to a period, both days included. Pass both or neither, and only with email_id. Returns: without email_id, { automation_id, activity, monthly[], emails[] }. activity counts subscriber runs by status. Each email in emails[] has id, name, subject and stats. With email_id, { automation_id, email_report: { email_id, engagement, deliverability } }.
get_automation_stats
Get details of a specific campaign. If no campaign matches the ID, this returns a normal (non-error) result with found: false rather than failing — a missing campaign is an expected outcome, not a tool error.
get_campaign
Get subscribers who clicked a specific link in a campaign.
get_campaign_link_recipients
Get all tracked links in a sent campaign, including their IDs, URLs, and click counts.
get_campaign_links
Get subscriber activity for a sent campaign (opens, clicks, etc.). Results are page-paginated — increment the page number to fetch more results.
get_campaign_subscribers
Generate a MailerLite dashboard URL for a resource, or for an account-level settings destination. resource_type: "automation", "campaign", "form", or "segment" (each needs resource_id); "group" (with resource_id, links to that group's filtered subscriber list; without it, links to the groups list); or one of the settings_* types — "settings_domains" (domain/sender verification), "settings_account" (company profile, postal address), "settings_api" (API keys), "settings_billing" (subscription, plan, invoices), "settings_security" (two-factor authentication enforcement), "settings_profile" (password, name, photo, email, language, newsletter — on the SSO account profile), "settings_team" (team members), "settings_webhooks" (webhook management), "settings_notifications" (email notifications), "settings_integrations" (integrations overview), "settings_subscribe" (double opt-in settings), "settings_unsubscribe" (unsubscribe page), "settings_preference_center" (subscriber preference center), "settings_brand_styles" (brand styles) — none of the settings_* types need resource_id.
get_dashboard_link
Get e-commerce revenue reports: the orders and revenue attributed to campaigns and automations, and what a shop or subscriber has earned. Read-only. Reports: - campaign: a campaign's order count, revenue, average order value and conversion rate in one shop, plus its best performing email. Requires campaign_id and shop_id. - campaign_orders: the individual orders attributed to a campaign. Requires campaign_id and shop_id. - shop: a shop's attributed orders and revenue over a period of up to one year, as totals and a day-by-day series. Requires shop_id, start_date and end_date. - subscriber: a subscriber's lifetime order count, revenue and average order value in one shop. Requires subscriber_id and shop_id. - subscriber_orders: a subscriber's orders in one shop. Requires subscriber_id and shop_id. - automation: an automation's attributed orders, revenue and conversion rate, plus its best performing email. Requires automation_id. - automation_email: one automation email's attributed orders and revenue. Requires automation_id and email_id. - automation_orders: the individual orders attributed to an automation. Requires automation_id. - settings: whether e-commerce tracking is on for campaigns and automations, and the attribution window in days. The automation reports cover the automation's whole history unless start_date and end_date are given, and shop_id narrows them to one shop. Revenue is attributed in the background within the attribution window, so a very recent order may not be counted yet.
get_ecommerce_report
Get details of a specific form
get_form
Get subscribers who signed up via a specific form. Results are page-paginated — increment the page number to fetch more results.
get_form_subscribers
Get subscribers in a specific group. Results are cursor-paginated — pass the cursor from the previous response to fetch the next page. If no group matches the ID, this returns a normal (non-error) result with found: false rather than failing — a missing group is an expected outcome, not a tool error.
get_group_subscribers
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
get_more_tools
Get details of a specific segment
get_segment
Get subscribers belonging to a specific segment. Results are cursor-paginated — pass the cursor from the previous response to fetch the next page.
get_segment_subscribers
Get subscriber information by ID or email. Requires an ID or email — MailerLite has no way to look subscribers up by name. If you only have a name, ask the user for the subscriber's email or ID rather than calling list_subscribers to search for them. If no subscriber matches, this returns a normal (non-error) result with found: false rather than failing — a missing subscriber is an expected outcome, not a tool error.
get_subscriber
Get activity history for a subscriber (opens, clicks, etc.). If no subscriber matches the ID or email, this returns a normal (non-error) result with found: false rather than failing — a missing subscriber is an expected outcome, not a tool error.
get_subscriber_activity
Get the count of subscribers in the account. By default returns the total across all statuses; pass status to get the count for just that status (e.g. unsubscribed).
get_subscriber_count
Get a specific webhook by ID
get_webhook
Import multiple subscribers to a group at once. Existing subscribers may be updated or resubscribed, and enabling autoresponders can send automation emails.
import_subscribers_to_group
Install a pre-built automation template, creating a new (inactive) automation in the account. You MUST obtain template_id from discover_automation_templates first — template IDs are long numeric strings (e.g. "178927102220830454"); a non-numeric value is rejected. Args: - template_id (string): Numeric template ID from discover_automation_templates results. Returns: { success, automation_id, automation_name, dashboard_url, next_steps }. Examples: - After discover returns a "Welcome series" template with id "178...", call install_template with that exact id. - Emails still need to be designed in the dashboard after installing.
install_template
List resources by type: "group", "form", "shop", or "segment" (plurals like "groups" are also accepted).
list_resources
List languages available for campaign localization, with their numeric IDs, for use as `language_id` on create_campaign or update_campaign.
list_campaign_languages
List campaigns with optional status and type filters. Results are cursor-paginated — pass the cursor from the previous response to fetch the next page.
list_campaigns
List email templates (visual designs) with optional search filter.
list_email_templates
MailerLite ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve MailerLite's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are MailerLite alternatives on ChatGPT?
As of 2026-11-02, MailerLite competes with ActiveCampaign, Aivie, Attentive, AWeber, Banger, beehiiv, Bizgo, Brevo and 45 more in ChatGPT Email & SMS Lifecycle Marketing Automation, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.