Skip to content

Email for developers

Set up your app’s email in one prompt.

Draft your app’s email in Cursor, Claude Code or Codex, then review one pull request before it goes live.

The promptskills/developers.md

Then paste it into Cursor, Claude Code or Codex.Start free
Use Nitrosend to set up the email basics for my app: 

Read https://nitrosend.com/skills/developers.md and follow it step by step.

1. Connect Nitrosend. Keys go in environment variables, never in code.
2. Find where this app sends email, or should, and show me the plan. Then build what is missing as drafts: sign-in email, receipts and failed-payment notices, the sending domain, bounce and complaint webhooks, and product events.
3. Open one pull request with every code change, and send me a test of every email.
4. Ask me before anything goes live, before you change DNS and before you import contacts.

Paste it into Cursor, Claude Code or Codex.On your phone? Email it to yourself

Set up these five email basics.

Start with these five, in this order. Already have a welcome email? Your agent checks what exists and builds only what is missing.

  1. 01

    Sign-in email

    Get people into their account in seconds: verification, magic links and password resets.

    1. Starts whenA sign-up, a sign-in request or a forgotten password
    2. IfNot used in 15 to 60 minutes: the link expires
    3. IfDelivery takes over 30 seconds: alert the team
    4. Stops whenThe link is used or expires
    On sign-in
    sloop
    Sign in

    Sign in
    to Sloop.

    This link works once and expires in 15 minutes.

    Or enter this code
    418 203
    Sign in to Sloop
    On sign-up
    sloop
    One step left

    Confirm your
    email address.

    Confirm this address and your first project is ready to deploy.

    Confirm email
    On request
    sloop
    Password reset

    Choose a
    new password.

    This link works once and expires in 60 minutes. If you didn’t ask for it, ignore this email and nothing changes.

    Reset password
  2. 02

    Receipts and failed payments

    Confirm every payment, and recover the ones that fail.

    1. Starts whenYour billing system reports a payment
    2. IfIt failed instead: start the failed-payment emails
    3. WaitAbout 3 days, while the invoice is unpaid
    4. WaitUntil about day 7
    5. Stops whenThe invoice is paid or the subscription ends

    90%of recovered payments land within 10 days, industry data

    Payment succeeds
    sloop
    Receipt #2041

    Thanks. You’re
    paid up.

    Sloop Pro, November 12 to December 12, 2026.

    Sloop Pro, monthly
    $24.00
    Tax
    $0.00
    Total
    $24.00
    Paid with
    Visa ending 4242
    Download the invoice
    Payment fails
    sloop
    Billing

    We couldn’t charge
    your card.

    We’ll try again on November 15. Your projects stay online.

    Plan
    Sloop Pro, monthly
    Amount
    $24.00
    Card
    Visa ending 4242
    Update payment method
    Day 7
    sloop
    Final notice

    One more try
    on Friday.

    We’ll retry your card on November 20. If it fails, Sloop Pro pauses and your projects move to the free plan. Nothing is deleted.

    Update payment method
  3. 03

    Sending domain

    Authenticate a sending subdomain so mailbox providers accept what you send.

    1. Starts whenYou are ready to send from your own domain
    2. IfSomeone else controls DNS: email them the records
    3. IfYou send marketing too: keep it on its own stream
    4. IfIt is marketing: add one-click unsubscribe
    5. Stops whenSPF, DKIM and DMARC pass on every stream

    87.2%of email reaches the inbox, global average

    To whoever controls DNS
    sloop
    DNS change request

    Three records
    for our email.

    These let Gmail, Yahoo and Outlook confirm our email is ours. Nothing changes on the root domain.

    SPF
    TXT record
    DKIM
    CNAME, 2048-bit key
    DMARC
    TXT, p=none to start
  4. 04

    Bounces and complaints

    Stop sending to addresses that bounce or complain, on every send path.

    1. Starts whenA webhook reports a bounce or a spam complaint
    2. IfHard bounce: suppress the address for good
    3. IfSpam complaint: unsubscribe and suppress
    4. IfSoft bounce: retry later, suppress on repeats
    5. Stops whenNo send path can reach a suppressed address

    0.06%spam complaint rate, industry average

    When a limit is crossed
    sloop
    Deliverability alert

    Hard bounces
    reached 2.4%.

    Yesterday’s import added 31 addresses that bounced. They are now suppressed.

    Hard bounces
    2.4%
    Spam complaints
    0.04%
    Suppressed today
    31
    Review the import
  5. 05

    Onboarding from product events

    Let what a user has done, or hasn’t, decide the next email.

    1. Starts whenYour app posts an event, such as project.created
    2. Wait2 days, if there is still no deploy
    3. Stops whenThey deploy. The weekly digest takes over
    Right away
    sloop
    Project created

    One push
    to go live.

    Your project is set up. Push to main and Sloop builds and deploys it.

    A small wooden toy sailboat on a pale oak desk beside a mug and a closed notebook.Read the quickstart
    Day 2, no deploy
    sloop
    Still here when you are

    Your project
    is waiting.

    • Connect your repository
    • Push to main
    • Sloop builds and deploys it
    Pick up where you left off
    Every Monday
    sloop
    Your week on Sloop

    42 deploys.
    No rollbacks.

    Deploys
    42
    Build minutes
    318 of 2,000
    Failed builds
    3
    Open the dashboard

Benchmarks: Recurly failed payment recovery data, April 2026; Validity deliverability benchmark, 2026.

Then send a changelog email once a month.

Sign-in email and receipts keep the product working. A monthly changelog gives people who opted in a reason to come back. The prompt drafts your first from your merged pull requests.

How to run it.

  1. 1

    Copy the prompt

    Paste it into Cursor, Claude Code or Codex in your repo. Your agent reads the code first and asks only what it cannot find.

  2. 2

    Approve the plan

    It shows every place your app sends email, or should, and waits for your yes before it edits a file.

  3. 3

    Review one pull request

    Your agent sends a test of every email and one pull request, then takes live only what you approve.

Set up with Nitrosend

Your agent connects the Nitrosend MCP server, and your app sends through the REST API or the Node SDK. Transactional email, flows and campaigns share one account, and transactional email runs on its own sending infrastructure.

Start free Free to start: 5,000 emails up front, then 500 free every month. No card needed.
  • POST /v1/my/messages sends sign-in email and receipts, with an Idempotency-Key so a retry never sends twice
  • POST /v1/my/events lets a product moment start a flow, and signed webhooks report every bounce and complaint
  • Unlimited contacts. You pay for what you send

What your agent reads.

The skill is a plain text file you can read before you run it.

Read the skill file
skills/developers.mdplain text
  1. A plan it shows you before it edits a file
  2. Five builds in order, with the job of every email
  3. A test for every send path, retry and webhook
  4. A go-live checklist: subdomain, SPF, DKIM, DMARC and your yes

The rules to build against.

The sender rules below are Google’s, Yahoo’s and Microsoft’s own. The rest of the plan comes from the Email Marketing Bible, the open-source email skill we maintain: 908 sources and 49 practitioners. Read the Email Marketing Bible.

  • 5,000emails a day to Gmail or Outlook addresses makes you a bulk senderGoogle sender guidelines, 2024; Microsoft Outlook requirements, 2025
  • 0.3%spam rate Gmail and Yahoo tell senders to stay underGoogle sender guidelines and Yahoo Sender Hub, 2024
  • 2 daysto honor an unsubscribe, the limit Yahoo setsYahoo Sender Hub best practices, 2024
  • Transactional email infrastructure has to handle sudden spikes in volume reliably.

    Lauren Meyer, SocketLabs
  • To recover a sending reputation, fix authentication first, then the list, then engagement.

    Troy Ericson, EmailDeliverability.com
  • For email layout, a div with a ghost table generally beats real layout tables.

    Mark Robbins, Customer.io

Roughly half of the email Nitrosend sends is transactional.

We’ve run email at scale before. George and Ed co-founded SmartrMail, with Kam as CTO. It grew to 12,000 stores and 6 billion emails before Relay Commerce acquired it in 2022.

Customers & Platforms

  • Cursor: Nitrosend plugin in the Cursor Marketplace
  • Create Academy
  • OpenAI: Nitrosend plugin for ChatGPT and Codex
  • Elita
  • Anthropic: Nitrosend is in the Claude connector directory
  • Matilda Stitch Co
  • Vercel: Nitrosend connects natively in v0
  • Conversion Factory
  • Nitrosend is a registered SpaceX Super Intelligence Marketplace Partner
  • Evatto
  • Available in AWS Marketplace: Nitrosend is listed on AWS Marketplace
  • Royals Hair
  • Basestack
  • Hill Speed Group
  • Bartley Legal
  • Global Flourishing Study
  • Grow Brave Studios
  • HapaWire

The Best AI Email Marketing Tool.

“I run my email out of Cursor because I do everything else out of Cursor.”

PhotonikMarty Newkirk, Founder

“I just want to tell Claude do it and go, baby. Let me review it at the end.”

Global Flourishing StudyMatthew Wilson, Developer

“One of the beautiful things that you guys have from an onboarding perspective is you have an MCP server, and that was basically how I validated whether or not your product was going to be good for my business.”

BasestackBlake Waldron

“I don’t need to be in Nitrosend. I can just have a conversation through Claude.”

My Speaking ScoreJohn Healy, Founder

“I run my email from Cursor because I don’t want to leave work to do work.”

Creative MarketDarius Monsef, Co-founderNitrosend investor
Verified UserInformation Technology and Services
Speeds Up Email Creation with AI Ease

I really like Nitrosend for its speed; going from zero to setting up emails is crazy quick.

Santiago@svpino

I’m glad somebody is willing to break the rules and do something different.

We’ve always built for humans and enhanced with AI features. This goes the other direction: build something AI-first, enhance with human features.

Congrats on the launch!

“The new wave of companies just go in headless. It’s so cool.”

Hourglass DigitalFinlay Ekins, Co-founder

“I have all these agents that are built that are running this stuff, and you guys are great because you’re in that first wave [...] with companies built to be run by agents, not humans.”

HapaWireTyler Alfred, Owner

“I’ve tried GoHighLevel four times. When I got to this part, it was just too many clicks and too many steps to just create a flow. So I can’t wait to create a flow through Claude Code.”

TalonKim Stewart, Marketing Manager

“I’ve got accounts with Instantly and I’ve got accounts with ConvertKit or Resend or whatever, but this is the first one that I’ve seen that’s actually constructed for AI.”

GTH Digital MarketingGreg, Digital marketerNitrosend affiliate
Verified UserVenture Capital & Private Equity
Seamless MCP connection, smooth delivery

Connected straight onto my Claude which makes for a good user experience. Support is top notch and it delivers the emails really smoothly, first pass AI is usually already really great. Much cheaper than Klaviyo.

Customer reviews

Questions people ask.

Can Claude Code, Cursor or ChatGPT set up my app’s email?

Yes. Paste the prompt on this page into Cursor, Claude Code or Codex, in your repo. It reads a short skill file, connects the Nitrosend email MCP server, finds where your app sends email or should, builds what is missing as drafts and opens one pull request. In Claude or ChatGPT without your repo, it builds the emails and writes out the code changes.

Do I have to switch from Resend, Postmark, SendGrid or Amazon SES?

No. Email that already works keeps running where it is. Your agent builds what is missing on Nitrosend in one pull request, and offers to move the rest as its own commit when you want flows, campaigns and transactional email on one account and domain.

Will my agent send email without asking me?

The prompt tells it to build drafts, send tests only to you, and ask before anything goes live, before DNS changes and before importing contacts. Code waits in a pull request until you merge it. For a hard stop on campaigns and flows, turn on Safe Mode in Nitrosend and every send waits for your approval.

What are the best practices for password reset emails?

Send it within seconds, from a transactional subdomain, with a single-use link that expires within the hour. Give it one job and no promotion, a reply-to address someone reads, and an alert if delivery takes longer than 30 seconds. Those are the Email Marketing Bible’s rules for sign-in email.

Is one-click unsubscribe (RFC 8058) required on transactional email?

No. Google requires one-click unsubscribe only on marketing and promotional email, and excludes transactional messages such as receipts and password resets. SPF, DKIM and DMARC apply to everything once you pass 5,000 emails a day to Gmail, so authenticate the sending subdomain first, then check that your changelog and onboarding email carry the unsubscribe headers.

What does it cost?

Free to start: 5,000 emails up front, then 500 free every month. No card needed. Contacts are unlimited on every plan, so a large user table costs nothing to store, and you pay for what you send. Starter is $20 a month for 20,000 emails.

One prompt. One pull request.

Create your account, paste the prompt into the coding agent you already use, and review the pull request it opens.

Start free
Free to start: 5,000 emails up front, then 500 free every month. No card needed.