← Blog

Blog

Can Claude Send Emails? Automate Newsletters with MCP

Sahand Seifi8 min read
  • Engineering
  • Tutorial
  • Email
  • MCP
  • Broadcasts

Connect Claude, ChatGPT, or Grok Bot to Pingram MCP, draft a product-update newsletter, choose raw emails or a live filter, then review and schedule the send in the dashboard.

Writing a newsletter in Mailchimp means a template, a list, a preview, and a pile of clicks. Here we connect an agent over MCP, ask it to draft the email, choose who receives it, and schedule the send after checking the draft.

This article focuses on using AI agents to draft the newsletter. You can still use the dashboard when you want to write one campaign by hand, and the API when a job should send it every week.

Why not use Gmail or Outlook?

Gmail and Outlook connectors send from your own inbox. A newsletter goes to your users: one draft, an audience, and an unsubscribe link. Create Broadcast does that. Gmail and Outlook do not.

YouTube Walkthrough

Connect Pingram MCP

  1. Create a free Pingram account.
  2. Verify your sending domain under Settings → Domain Verification. Broadcasts from unverified domains, including the shared test sender, are heavily throttled. See Domain Verification.
  3. Ask the agent to install Pingram MCP for the same region as your account. It opens a Pingram page so you can approve access. It acts as you. It never sees your password.
Region URL
US https://mcp.pingram.io
Canada https://mcp.ca.pingram.io
EU https://mcp.eu.pingram.io

Ask the agent:

Install the Pingram MCP

Use https://mcp.pingram.io, or the Canada or EU URL if that is where the account lives. After you approve, the agent should list tools: email, SMS, phone numbers, domains, and broadcasts. The one this tutorial uses is Create Broadcast.

Full setup, including Cursor: MCP docs.

Ask for a draft

Create Broadcast saves a draft. Nothing is emailed to the list until you send or schedule it in the dashboard. Say that in the prompt so the agent does not try to publish.

Create a September product update newsletter for a fake company called Acme.
Mention newsletter automation with MCP.
Audience: dana@acme.io and evan@acme.io.
Include an unsubscribe link.
Do not send it. Leave it as a draft and give me the broadcast id.

Then open Broadcast in the dashboard. You should see the Acme draft, with the HTML the agent wrote. Fix copy there, or ask the agent to Update Broadcast on that id. A second “create” makes a second draft.

A few fields worth naming in the prompt if the agent guesses wrong:

  • name is internal. Recipients never see it.
  • type is the notification type (product_updates, newsletter). People unsubscribe from that type only. Pingram creates it if it does not exist yet.
  • fromAddress must be your verified domain, or the shared test sender (throttled, and capped).

Raw emails or a live filter

The draft has a target. Two ways to set it:

Raw emails. A one-off list of at most 10,000 addresses. Useful when the agent can export a list from HubSpot (or a CSV) and pass those addresses in. Each address creates a user if one does not exist. A raw list only fills user.id and user.email. First name and plan stay blank unless those people were identified earlier.

Live filter. A query over users you already synced into Pingram (plan, last active, and similar). That is how you target “paid users active in September” instead of pasting addresses. Sync happens with pingram.user.identify from your app. See Managing users and the API tutorial. Filters only see properties you have identified. Allowed fields are email and properties.<key>.

Ask for the filter in plain language:

Update this broadcast draft. Target users who have an email, plan pro,
and were active in September. Greet them with their first name from
user.properties.firstname. Keep the unsubscribe link.
Do not send or schedule.

Subject and HTML are Liquid templates, rendered once per recipient. Custom fields live under user.properties. {{ user.firstname }} is empty. Use {{ user.properties.firstname }}. Always include {{ pingram.unsubscribe }}. People who click it are skipped on later broadcasts of the same type.

<p>Hi {{ user.properties.firstname | default: "there" }},</p>
<p>Here is what we shipped this month.</p>
<p><a href="https://example.com/changelog">Read the changelog</a></p>
<p><a href="{{ pingram.unsubscribe }}">Unsubscribe</a></p>

Put a real link in the body besides unsubscribe. Opens are noisy. Clicks are the number worth watching.

Send yourself a test

Look at the draft in the Broadcast tab before anyone else gets it. If you want it in your own inbox, ask for one message with Send Email, not another broadcast:

Send a test email via Pingram to me@acme.io.
Subject: Acme September product update (test).
Use the same HTML as the draft, and notification type product_updates_test.
Do not send the broadcast.

Send Email is one recipient. Create Broadcast is the campaign. Mixing them up is how a test becomes a blast.

Review, test, and schedule

Review the draft in the Broadcast tab, send the test, then schedule the campaign.

Open the draft, go to the Publish tab, pick a time (the video uses next Wednesday at 9:00), and schedule. Status moves from draft to scheduled. Cancel anytime before it sends to return the broadcast to draft.

The same agent can still send SMS or place a call later. Those are separate tools on the same MCP server.

Check the results

After it goes out, ask the agent for Get Broadcast Metrics (sent, delivered, opened, clicked, bounced, unsubscribed). Trust clicks more than opens. Scanners fetch the tracking pixel.

Full reference: Broadcasts.

Sec. 02FAQ

Common questions

01Can Claude send emails?

Claude can send email once it has a tool for it. A Gmail connector sends from your own inbox. Pingram MCP is different: Claude calls Create Broadcast, which saves a newsletter draft to your users. You review that draft in the Pingram dashboard, send yourself a test, then schedule it. Claude does not send the campaign on its own.

02Can ChatGPT send emails?

ChatGPT can, with the same limit. Its Gmail and Outlook apps read and send your personal mail. To email your product users, add Pingram as a custom MCP connector (https://mcp.pingram.io), approve access, and ask it to create a broadcast draft. You still publish from the dashboard.

03What is an email MCP server?

An email MCP server exposes mail actions as tools an agent can call. Most public ones are inboxes (Gmail, Outlook, Thunderbird). Pingram MCP includes Create Broadcast, which drafts one campaign for many recipients, plus Send Email for a single test message.

04How do I send a newsletter from Claude or ChatGPT?

Connect Pingram MCP, then ask for a draft: a name, a notification type, HTML with an unsubscribe link, and either a raw email list or a filter over users you already synced. Open the Broadcast tab, check the audience, send a test to yourself, and schedule from the Publish tab.

05Why not use Gmail or Outlook to do this?

Gmail and Outlook connectors send from your own inbox. A newsletter goes to your users: one draft, an audience, and an unsubscribe link. Create Broadcast does that. Gmail and Outlook do not.

Ready when you are

Launch today.

Free tier with 3,000 emails, plus 100 SMS and calls per month. No credit card required. Paid plans start at $20/month.