← LoopsCONTENT HISTORY

Update to Loops

Snapshot Oct 28, 2026 · 12:12 UTC · version 0.2.2

WHAT CHANGED

Product listing or positioning changed

Full description — Now says: Email marketing, transactional email, and email automation for SaaS. Build waitlist, onboarding, trial, and dunning emails, draft campaigns, and manage...

Observed in the public listing; claims come from the publisher.

Save Loops and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Oct 27, 2026 · 00:10 UTC

Work with Loops without leaving ChatGPT. Manage contacts and mailing lists, send transactional emails, work with events, and access everything else available through the Loops API. Just tell ChatGPT what you want to do.

After

Oct 28, 2026 · 12:12 UTC

Email marketing, transactional email, and email automation for SaaS. Build waitlist, onboarding, trial, and dunning emails, draft campaigns, and manage contacts with Loops.

Long description

Before

Oct 27, 2026 · 00:10 UTC

Work with Loops without leaving ChatGPT. Manage contacts and mailing lists, send transactional emails, work with events, and access everything else available through the Loops API. Just tell ChatGPT what you want to do.

After

Oct 28, 2026 · 12:12 UTC

Loops MCP connects ChatGPT to Loops, the email software for SaaS teams and startups. Run email marketing, transactional email, and email automation from ChatGPT through the Loops email API. Build SaaS lifecycle emails like waitlist, welc...

Short description

Before

Oct 27, 2026 · 00:10 UTC

Run Loops with ChatGPT

After

Oct 28, 2026 · 12:12 UTC

Email marketing for SaaS

Declared skills

Before

Oct 27, 2026 · 00:10 UTC

[{"description":"Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, ...

After

Oct 28, 2026 · 12:12 UTC

[{"description":"Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, ...

Compare saved observations

Download comparison JSON
Full technical diff · 17 changed fields

removed /release/app_manifest/apps/app-6a76060a3cbc81919eaaca7e37e830fe

BEFORE
{
  "id": "asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
  "required": true
}
AFTER
Field is absent

added /release/app_manifest/apps/loops

BEFORE
Field was absent
AFTER
{
  "id": "asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
  "required": true
}

changed /release/description

BEFORE
"Work with Loops without leaving ChatGPT. Manage contacts and mailing lists, send transactional emails, work with events, and access everything else available through the Loops API. Just tell ChatGPT what you want to do."
AFTER
"Email marketing, transactional email, and email automation for SaaS. Build waitlist, onboarding, trial, and dunning emails, draft campaigns, and manage contacts with Loops."

changed /release/id

BEFORE
"pluginrel_e053f2a244448191a394b2576918b1ba"
AFTER
"pluginrel_f0de67cb5424819184f0952f1693b93a"

changed /release/interface/brand_color

BEFORE
null
AFTER
"#FC5200"

changed /release/interface/category

BEFORE
"Productivity"
AFTER
"Business & Operations"

changed /release/interface/composer_icon_dark_url

BEFORE
"https://files.openai.com/content?id=file_000000007f80820c9e3b1fbee1a6a4e4"
AFTER
null

changed /release/interface/composer_icon_url

BEFORE
"https://files.openai.com/content?id=file_000000007f80820c9e3b1fbee1a6a4e4"
AFTER
"https://files.openai.com/content?id=file_000000003e1881f7ad24c940effff84a"

changed /release/interface/logo_url

BEFORE
"https://files.openai.com/content?id=file_00000000d4cc823091526ff8e538f35a"
AFTER
"https://files.openai.com/content?id=file_0000000064c081f7b8bba918a969c6ad"

changed /release/interface/logo_url_dark

BEFORE
"https://files.openai.com/content?id=file_00000000d4cc823091526ff8e538f35a"
AFTER
null

changed /release/interface/long_description

BEFORE
"Work with Loops without leaving ChatGPT. Manage contacts and mailing lists, send transactional emails, work with events, and access everything else available through the Loops API. Just tell ChatGPT what you want to do."
AFTER
"Loops MCP connects ChatGPT to Loops, the email software for SaaS teams and startups. Run email marketing, transactional email, and email automation from ChatGPT through the Loops email API. Build SaaS lifecycle emails like waitlist, welcome, onboarding, trial ending, failed payment (dunning), and win-back emails. Draft campaigns, newsletters, and product update emails for mailing lists and audience segments. Send product events that trigger matching event-based workflows, send published transactional emails like password resets, magic links, and receipts, manage contacts, and read email metrics. Includes skills for the Loops API and SDKs, the Loops CLI, LMX email markup, and email deliverability."

changed /release/interface/plugin_category_id

BEFORE
"productivity"
AFTER
"business & operations"

changed /release/interface/short_description

BEFORE
"Run Loops with ChatGPT"
AFTER
"Email marketing for SaaS"

changed /release/keywords

BEFORE
[]
AFTER
[
  "loops",
  "loops-email",
  "email",
  "email-software",
  "software-email",
  "saas",
  "saas-email",
  "email-marketing",
  "transactional-email",
  "email-automation",
  "lifecycle-email",
  "onboarding-emails",
  "welcome-emails",
  "waitlist-emails",
  "trial-emails",
  "dunning-emails",
  "failed-payment-emails",
  "win-back-emails",
  "newsletters",
  "product-update-emails",
  "campaigns",
  "drip-campaigns",
  "workflows",
  "transactional-email-service",
  "automated-emails",
  "email-marketing-for-startups",
  "saas-email-marketing",
  "newsletter-software",
  "email-campaign-software",
  "product-email",
  "email-metrics",
  "email-api",
  "email-mcp",
  "mcp",
  "react",
  "nextjs",
  "contacts",
  "mailing-lists",
  "events",
  "lmx",
  "deliverability"
]

changed /release/mcp_servers

BEFORE
[]
AFTER
[
  {
    "key": "loops",
    "metadata": {
      "type": "http",
      "url": "https://mcp.loops.so"
    }
  }
]

changed /release/skills

BEFORE
[
  {
    "description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-api",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n"
    },
    "name": "loops-api",
    "plugin_release_skill_id": "pluginrsk_6aaca38b565881918518af753509ca54"
  },
  {
    "description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-cli",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n"
    },
    "name": "loops-cli",
    "plugin_release_skill_id": "pluginrsk_6aaca38b755081918ee9c4d292a69fd5"
  },
  {
    "description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-email-sending-best-practices",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "chart",
      "short_description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n"
    },
    "name": "loops-email-sending-best-practices",
    "plugin_release_skill_id": "pluginrsk_6aaca38b947881918a5d41e1b3094717"
  },
  {
    "description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-lmx",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n"
    },
    "name": "loops-lmx",
    "plugin_release_skill_id": "pluginrsk_6aaca38bb15881919e6d7ddad59a3280"
  }
]
AFTER
[
  {
    "description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-api",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n"
    },
    "name": "loops-api",
    "plugin_release_skill_id": "pluginrsk_6ad25f354830819193e673e3b0ee6800"
  },
  {
    "description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-cli",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n"
    },
    "name": "loops-cli",
    "plugin_release_skill_id": "pluginrsk_6ad25f35557c8191bd3ff5c7674568e1"
  },
  {
    "description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-email-sending-best-practices",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "chat",
      "short_description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n"
    },
    "name": "loops-email-sending-best-practices",
    "plugin_release_skill_id": "pluginrsk_6ad25f3554348191b372f1b2163f86e9"
  },
  {
    "description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "loops-lmx",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "pen",
      "short_description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n"
    },
    "name": "loops-lmx",
    "plugin_release_skill_id": "pluginrsk_6ad25f35a3f88191bd5d015cc393a67b"
  }
]

changed /release/version

BEFORE
"0.2.0"
AFTER
"0.2.2"
Full snapshot data
{
  "canonical_app_id": "asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
  "connector_id": "asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
  "created_at": "2026-08-07T16:21:30.380548Z",
  "discoverability": "LISTED",
  "id": "plugin_asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
  "is_template": false,
  "is_template_instance": false,
  "is_v2_template": false,
  "name": "app-6a76060a3cbc81919eaaca7e37e830fe",
  "release": {
    "app_ids": [
      "asdk_app_6a76060a3cbc81919eaaca7e37e830fe"
    ],
    "app_manifest": {
      "apps": {
        "loops": {
          "id": "asdk_app_6a76060a3cbc81919eaaca7e37e830fe",
          "required": true
        }
      }
    },
    "app_templates": [],
    "description": "Email marketing, transactional email, and email automation for SaaS. Build waitlist, onboarding, trial, and dunning emails, draft campaigns, and manage contacts with Loops.",
    "display_name": "Loops",
    "id": "pluginrel_f0de67cb5424819184f0952f1693b93a",
    "interface": {
      "brand_color": "#FC5200",
      "capabilities": [],
      "category": "Business & Operations",
      "composer_icon_dark_url": null,
      "composer_icon_url": "https://files.openai.com/content?id=file_000000003e1881f7ad24c940effff84a",
      "default_prompt": "Based on our business, users, and go-to-market, fully design three flows to grow revenue and activation and reduce churn.",
      "default_prompts": [
        "Based on our business, users, and go-to-market, fully design three flows to grow revenue and activation and reduce churn.",
        "Audit my existing email setup, where am I making a mistake in filtering or content?",
        "What small changes could I make with Loops that would have a big impact on the revenue of my company?"
      ],
      "developer_name": "Loops",
      "logo_url": "https://files.openai.com/content?id=file_0000000064c081f7b8bba918a969c6ad",
      "logo_url_dark": null,
      "long_description": "Loops MCP connects ChatGPT to Loops, the email software for SaaS teams and startups. Run email marketing, transactional email, and email automation from ChatGPT through the Loops email API. Build SaaS lifecycle emails like waitlist, welcome, onboarding, trial ending, failed payment (dunning), and win-back emails. Draft campaigns, newsletters, and product update emails for mailing lists and audience segments. Send product events that trigger matching event-based workflows, send published transactional emails like password resets, magic links, and receipts, manage contacts, and read email metrics. Includes skills for the Loops API and SDKs, the Loops CLI, LMX email markup, and email deliverability.",
      "plugin_category_id": "business & operations",
      "privacy_policy_url": "https://loops.so/privacy",
      "screenshot_urls": [],
      "short_description": "Email marketing for SaaS",
      "terms_of_service_url": "https://loops.so/terms",
      "website_url": "https://loops.so"
    },
    "keywords": [
      "loops",
      "loops-email",
      "email",
      "email-software",
      "software-email",
      "saas",
      "saas-email",
      "email-marketing",
      "transactional-email",
      "email-automation",
      "lifecycle-email",
      "onboarding-emails",
      "welcome-emails",
      "waitlist-emails",
      "trial-emails",
      "dunning-emails",
      "failed-payment-emails",
      "win-back-emails",
      "newsletters",
      "product-update-emails",
      "campaigns",
      "drip-campaigns",
      "workflows",
      "transactional-email-service",
      "automated-emails",
      "email-marketing-for-startups",
      "saas-email-marketing",
      "newsletter-software",
      "email-campaign-software",
      "product-email",
      "email-metrics",
      "email-api",
      "email-mcp",
      "mcp",
      "react",
      "nextjs",
      "contacts",
      "mailing-lists",
      "events",
      "lmx",
      "deliverability"
    ],
    "mcp_servers": [
      {
        "key": "loops",
        "metadata": {
          "type": "http",
          "url": "https://mcp.loops.so"
        }
      }
    ],
    "onboarding_skill_name": null,
    "requires_local_executor": false,
    "skills": [
      {
        "description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "loops-api",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Use this skill whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation. This includes the Loops HTTP API and official SDKs for server-side contact, contact-property, mailing-list, event, API-key-validation, transactional-email, content editing (campaigns, campaign groups, transactional groups, audience segments, email messages, themes, and components), and workflow graph/node inspection and mutation. Trigger on phrases like \"Loops API\", \"Loops SDK\", \"create a campaign via API\", \"update email message LMX\", \"create a workflow via API\", \"add a workflow node\", \"send a Loops event from my app\", \"add a contact to Loops in a webhook\", \"send a transactional email from backend code\", or any time the user wants to integrate Loops into their app, backend, webhook, or automation. Do not trigger for CLI or shell-only requests.\n"
        },
        "name": "loops-api",
        "plugin_release_skill_id": "pluginrsk_6ad25f354830819193e673e3b0ee6800"
      },
      {
        "description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "loops-cli",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Use this skill whenever the user wants to work with the Loops CLI from the terminal. This includes installing or updating the CLI, authenticating, storing and selecting API keys, validating credentials, and running commands for contacts, contact properties, lists, events, transactional email, campaigns, email messages, themes, components, and uploads. Trigger on phrases like \"Loops CLI\", \"loops auth login\", \"loops campaigns create\", \"loops uploads create\", \"loops email-messages update\", \"loops themes list\", \"loops components get\", \"loops contacts create\", \"loops events send\", \"loops transactional send\", \"loops api-key\", \"loops agent-context\", \"brew install loops-so/tap/loops\", or any time the user wants to use Loops from the shell instead of application code.\n"
        },
        "name": "loops-cli",
        "plugin_release_skill_id": "pluginrsk_6ad25f35557c8191bd3ff5c7674568e1"
      },
      {
        "description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "loops-email-sending-best-practices",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chat",
          "short_description": "Use this skill when the user wants to review, audit, improve, or plan email sending best practices. This includes deliverability, inbox placement, sender reputation, consent, list hygiene, subject lines, preview text, preference centers, onboarding emails, lifecycle emails, product updates, or deciding between marketing and transactional email. It works for any email stack, but when Loops is involved, use Loops behavior and docs as the source of truth. Trigger on phrases like \"email deliverability\", \"inbox placement\", \"sender reputation\", \"double opt-in\", \"unsubscribe\", \"subject line review\", \"preview text\", \"lifecycle emails\", \"onboarding emails\", \"product update email\", \"transactional vs marketing\", or \"email sending best practices\". Do not prefer this skill for pure API implementation; use the Loops API skill for integration details.\n"
        },
        "name": "loops-email-sending-best-practices",
        "plugin_release_skill_id": "pluginrsk_6ad25f3554348191b372f1b2163f86e9"
      },
      {
        "description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "loops-lmx",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pen",
          "short_description": "Use this skill whenever LMX is used, produced, reviewed, migrated, or modified. This includes composing campaigns, loops, lifecycle emails, or email-message bodies for the Loops editor or Content API. LMX (Loops Markup Language) is the format used for Loops email content. Trigger on phrases like \"create a campaign\", \"generate an email\", \"write a welcome email\", \"draft a lifecycle email\", \"build an email template\", \"create an onboarding email\", \"copy this into LMX\", \"migrate this email\", \"convert this email to LMX\", \"design a new Loops email\", \"use imagegen for a Loops email\", \"use gpt-image for an LMX reference\", \"visual reference for a Loops email\", \"LMX\", \"Loops email\", or any request to produce, copy, migrate, convert, review, or modify email body content intended for Loops. For net-new emails or major visual redesigns, follow this skill's Net-New Email Design Flow before generating or sourcing new visual assets. Source copy, existing HTML, MJML, Markdown, screenshots, and migration instructions do not bypass this skill's rules unless the user explicitly overrides a specific rule. Do not trigger for questions about the Loops HTTP API, SDK integration, or CLI unless email body content is also involved.\n"
        },
        "name": "loops-lmx",
        "plugin_release_skill_id": "pluginrsk_6ad25f35a3f88191bd5d015cc393a67b"
      }
    ],
    "version": "0.2.2"
  },
  "scope": "GLOBAL",
  "share_url": "https://chatgpt.com/plugins/plugin_asdk_app_6a76060a3cbc81919eaaca7e37e830fe?open_in_app",
  "status": "ENABLED"
}

SHA-256 of public snapshot: e87cb9df2f972327a209c555dd989296724ba3ce1eb155a5a5f0cce850d20199