> ## Documentation Index
> Fetch the complete documentation index at: https://docs.migma.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Use Migma with ChatGPT

> Connect Migma to ChatGPT, then design emails, import audiences, launch campaigns, and read stats.

<Frame caption="Migma works inside ChatGPT through the Migma plugin">
  <img src="https://mintcdn.com/migmaai/HcamzB4AG6Uhkf97/images/tutorials/chatgpt/hero.webp?fit=max&auto=format&n=HcamzB4AG6Uhkf97&q=85&s=8ba7d9aedc1e2221f3deb720d5d2c4db" alt="Illustration showing Migma connected to ChatGPT with a safe read-only prompt" width="1672" height="941" data-path="images/tutorials/chatgpt/hero.webp" />
</Frame>

Connect Migma once, then ask ChatGPT to prepare on-brand emails, inspect campaigns, manage opted-in contacts, and open work in Migma. Browser OAuth handles access, so you do not paste an API key into ChatGPT.

<Info>
  OpenAI moved app discovery into the Plugin Directory. Use the public Migma plugin for the normal setup path. Custom MCP remains available as a fallback for workspaces that manage their own connector.
</Info>

## Before you start

You need:

* A Migma account.
* ChatGPT web or desktop access to the Plugin Directory.
* Permission to install and use plugins in your workspace.
* A browser for Migma approval.

Plugin availability depends on your ChatGPT plan, workspace settings, role, supported surface, and region. A workspace admin may need to enable Migma first.

## Connect Migma

<Steps>
  <Step title="Open the Plugin Directory">
    In ChatGPT web or desktop, open **Plugins** from the sidebar. You can also open **Settings → Plugins**.

    Search for **Migma** and select the black Migma envelope logo.

    <Frame caption="Illustration of Migma in the ChatGPT Plugin Directory">
      <img src="https://mintcdn.com/migmaai/HcamzB4AG6Uhkf97/images/tutorials/chatgpt/open-plugin-directory.webp?fit=max&auto=format&n=HcamzB4AG6Uhkf97&q=85&s=ed05ed9095a8f28bf0be2ff83594c656" alt="Illustration showing the ChatGPT Plugin Directory with the correct black Migma envelope logo" width="1672" height="941" data-path="images/tutorials/chatgpt/open-plugin-directory.webp" />
    </Frame>
  </Step>

  <Step title="Open Migma">
    Review the Migma listing. Select **Connect** when ChatGPT shows it. If Migma is already installed, select **Try now** to start a conversation.

    <Frame caption="Illustration of the Migma plugin listing">
      <img src="https://mintcdn.com/migmaai/HcamzB4AG6Uhkf97/images/tutorials/chatgpt/open-migma.webp?fit=max&auto=format&n=HcamzB4AG6Uhkf97&q=85&s=98b220b974d660ed39594a6ec4686752" alt="Illustration showing the Migma plugin listing and Try now button in ChatGPT" width="1672" height="941" data-path="images/tutorials/chatgpt/open-migma.webp" />
    </Frame>
  </Step>

  <Step title="Approve Migma access">
    When ChatGPT first needs Migma, follow the browser sign-in flow. Sign in to Migma if needed, then review the app name, return host, and every requested permission.

    `email:send` allows test and live sends. `campaign:write` can create, schedule, or send campaigns. Approve only when you trust this ChatGPT session to act for you.

    <Frame caption="Illustration of the Migma connection review step">
      <img src="https://mintcdn.com/migmaai/HcamzB4AG6Uhkf97/images/tutorials/chatgpt/approve-connection.webp?fit=max&auto=format&n=HcamzB4AG6Uhkf97&q=85&s=df56bec57eb1c6e8e489c53271e4f483" alt="Illustration showing ChatGPT requesting Migma access and the Approve connection button" width="1672" height="941" data-path="images/tutorials/chatgpt/approve-connection.webp" />
    </Frame>

    Migma creates the scoped connection key automatically. No key needs to be copied into ChatGPT.
  </Step>

  <Step title="Verify with a read-only request">
    Invoke Migma with an `@Migma` mention. You can also click **+**, choose **More**, then select Migma.

    Start with:

    ```text theme={null}
    @Migma List my Migma brands. Do not create, export, or send anything.
    ```

    ChatGPT should use Migma and return the brands you can access without changing account data.

    <Frame caption="Illustration of a safe first Migma request in ChatGPT">
      <img src="https://mintcdn.com/migmaai/HcamzB4AG6Uhkf97/images/tutorials/chatgpt/verify-connection.webp?fit=max&auto=format&n=HcamzB4AG6Uhkf97&q=85&s=b2244d5c7510d9984977e57b5d31a894" alt="Illustration showing Migma selected in ChatGPT and a read-only request to list brands" width="1672" height="941" data-path="images/tutorials/chatgpt/verify-connection.webp" />
    </Frame>
  </Step>
</Steps>

## Why ChatGPT alone is not enough

A ChatGPT draft is not a campaign:

* Brand fonts, colors, logos, and knowledge need to persist across sends.
* Browser HTML is not email-safe HTML. Outlook, Gmail, and Apple Mail render differently.
* Marketing sends need opted-in contacts, a verified sender, unsubscribes, and your approval.
* Results live in campaign stats, not in a chat thread.

Migma owns those steps. ChatGPT stays the place where you plan and ask.

## Run the marketing workflow

<Steps>
  <Step title="Pick a brand">
    Ask ChatGPT to list brands and choose one. Every later action needs that brand. If ChatGPT asks for a project ID, use the selected brand's project ID.
  </Step>

  <Step title="Save lasting brand facts">
    When you share tone, products, offers, policies, or FAQ that should stick, ask Migma to save them to the knowledge base. Those facts improve later emails.
  </Step>

  <Step title="Design emails and show drafts first">
    Ask for one email or a short series. ChatGPT should wait until the drafts are ready, then show preview images and each canvas link. Review the drafts before requesting compatibility, deliverability, or spam checks.
  </Step>

  <Step title="Import or build the audience">
    Upload or paste an opted-in contact CSV and name the list. Ask Migma to import the full CSV in one step. You can also create a segment from existing contacts.
  </Step>

  <Step title="Confirm the sender">
    Campaigns need a sending domain and From address. Ask Migma to list available domains. If none are ready, set up a domain you own or start with a managed Migma address.
  </Step>

  <Step title="Check, then prepare the campaign">
    After you approve the draft, ask for a test send, inbox checks, or a small edit. Then create a campaign draft with the subject, sender, and recipient list or segment. Ask ChatGPT to wait for your approval before any live send or schedule.
  </Step>

  <Step title="Read results">
    After sending, ask for campaign stats and delivery logs. Use clicks, bounces, and complaints to improve the next brief.
  </Step>
</Steps>

## Prompts worth saving

### Design one email

```text theme={null}
@Migma Use brand [name].
Create one editable marketing email.
Audience: [who]
Goal: [what they should do]
Facts only: [approved claims and URLs]
One primary CTA. Do not invent metrics.
Show the preview image and canvas link when ready.
Do not validate or send yet.
```

### Design a series

```text theme={null}
@Migma Use brand [name].
Prepare a three-email onboarding series.
Email 1: first value
Email 2: remove setup friction
Email 3: invite the next action
Show each preview when ready. Do not create a campaign or send.
```

### Import a CSV list

```text theme={null}
@Migma Use brand [name].
Import this CSV into a list named "[list name]".
These contacts opted in on our site.
Use one contact import with the full CSV text.
Report created, updated, skipped, and failed counts.
Do not convert the CSV to JSON contacts.
```

### Prepare a campaign for approval

```text theme={null}
@Migma Use brand [name].
Create a campaign draft from email [email id or canvas link].
Recipients: list or segment [name]
Subject: [subject]
Sender: [from name / domain if known]
Do not send yet. Summarize recipient count, subject, and sender, then wait for my approval.
```

After you approve:

```text theme={null}
Send the campaign now.
Or: schedule it for [date] [time] [timezone].
Confirm when it starts, then show stats when available.
```

### Read performance

```text theme={null}
@Migma Show stats and recent delivery logs for campaign [name or id].
Highlight opens, clicks, bounces, and complaints in plain language.
```

## What ChatGPT should and should not do

| Do                                       | Do not                                     |
| ---------------------------------------- | ------------------------------------------ |
| Start by listing brands or designing     | Paste API keys into chat                   |
| Show previews before checks or edits     | Run preflight before the first reveal      |
| Import an opted-in CSV in one step       | Convert CSV rows to JSON bulk import       |
| Ask before live send or schedule         | Send marketing email without your approval |
| Save lasting facts to the knowledge base | Invent product claims or metrics           |

## Sending rules

* Send only to contacts with marketing consent. See [What you can send](/get-started/what-you-can-send).
* Use a verified sending domain before live campaigns. See [Sending domains](/sending-domains/overview).
* Run [Email Preflight](/email-editor/email-preflight) and send a test to yourself before a large campaign.
* Keep ChatGPT confirmation controls enabled. Claims, audience, sender, and timing remain your decisions.

## Custom MCP fallback

If your workspace does not use the public plugin but allows custom MCP connections, add this Remote MCP URL:

```text theme={null}
https://migma.ai/mcp
```

Complete the same browser approval flow. Do not paste a Migma API key into ChatGPT. See [Migma MCP server](/mcp-server) for managed connector details.

## Disconnect or revoke access

1. In ChatGPT, open **Settings → Apps**, find Migma, and disconnect it.
2. In Migma, open **Settings → Developers → API Keys**.
3. Find the ChatGPT connection key, then revoke it.

Disconnecting ChatGPT and revoking the Migma key are separate controls. Revoke the Migma key when you want to invalidate its access immediately.

## Troubleshooting

| Problem                                 | Fix                                                                                                       |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Migma does not appear in Plugins        | Check plan, region, role, and workspace plugin settings. Ask a workspace admin to enable Migma if needed. |
| Migma listing shows no Connect action   | Select **Try now**, start a chat, then invoke `@Migma`. ChatGPT may request connection on first use.      |
| Browser approval does not open          | Disconnect Migma under **Settings → Apps**, then reconnect from the plugin listing.                       |
| ChatGPT says authentication is required | Invoke `@Migma` again and finish browser approval.                                                        |
| Migma is connected but not selected     | Mention `@Migma`, or click **+ → More** and select Migma.                                                 |
| Tools look stale after approval         | Start a new chat, then invoke `@Migma` again.                                                             |
| ChatGPT asks for `projectId`            | Ask Migma to list your brands, then use the selected brand's project ID.                                  |

For current ChatGPT product behavior, see [OpenAI's plugin guide](https://help.openai.com/en/articles/20001256) and [Apps in ChatGPT](https://help.openai.com/en/articles/11487775-connectors-in-chatgpt).

## When to use what

* **ChatGPT + Migma**: plan, design, import lists, and launch from one conversation.
* **Migma web app**: visual canvas control without plugin setup.
* **[Claude + Migma](/tutorials/create-emails-with-claude)**: use the same workflow in Claude, with optional Claude design import.
* **[API](/api-reference/introduction), [SDK](/sdk), or [CLI](/cli)**: use Migma from application code or CI.

## Next

<CardGroup cols={2}>
  <Card title="ChatGPT setup reference" icon="message-circle" href="/agents/mcp-chatgpt">
    Compare the public plugin and custom MCP fallback.
  </Card>

  <Card title="MCP permissions" icon="shield-check" href="/security/mcp">
    Review access, approval, and revocation before connecting.
  </Card>

  <Card title="Migma MCP server" icon="server" href="/mcp-server">
    See hosted MCP behavior and troubleshooting.
  </Card>
</CardGroup>
