Resend a campaign to people who did not open it
Builds a Brew audience of everyone who did not open a send, writes a new subject line with you, and resends the same email to them.
Outcome
The same email resent with a new subject line, only to contacts who never opened the first send.
The number of contacts it went to.
How it works
BSegment, by Create an audience from email events by Brew
If
send_idwent out less thanwait_daysago, stop and tell the user when to run this again. Otherwise build an audience of its recipients who did not open it, leaving out bounces and unsubscribes, and wait until it has built. Keep its audience ID and size.Rewrite the subject, by Your agent
Write two alternatives to
original_subjectthat make a different promise. Show them to the user and keep the one they choose.
BResend, by Send an email by Brew
After the user approves, send
email_idwith the chosen subject to the audience from step 1.
You'll be asked for
The Brew send to follow up
The email design that send delivered
The subject line it went out with
How long to wait after the first send
e.g. 3
resend-to-unopened.mdView markdown
Resend a campaign to people who did not open it
Builds a Brew audience of everyone who did not open a send, writes a new subject line with you, and resends the same email to them.
Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.
Outcome
- The same email resent with a new subject line, only to contacts who never opened the first send.
- The number of contacts it went to.
Inputs
Ask the user for these before you start.
send_id: the Brew send to follow upemail_id: the email design that send deliveredoriginal_subject: the subject line it went out withwait_days: how long to wait after the first send, e.g. 3
Set up
Brew (tool:brew/create-audience-from-events, tool:brew/send-email)
Use the first option your agent supports.
Notes:
- Create an audience from email events: Builds in the background: poll the audience with
include=builduntil it is ready before sending to it. - Send an email: Supply subject and existing subscribed recipients. Use idempotency_key (MCP) or Idempotency-Key (HTTP), reusing it for retries. On confirmation_required, obtain approval and repeat with confirmed:true and the returned confirmation_id. Queued is not delivered.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "brew": { "url": "https://brew.new/api/mcp" } } }
- Create an audience from email events: call the MCP tool
create_audience_from_events - Send an email: call the MCP tool
send_email
CLI (official)
Install the command, then confirm it runs.
brew install getbrew/tap/brew-cli
brew-cli --version
- Create an audience from email events: run
brew-cli audiences from-events - Send an email: run
brew-cli emails send
Set $BREW_API_KEY in your environment first (get a key: https://brew.new/settings/api).
Before step 1, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.
Steps
- Segment with Create an audience from email events (Brew). If
send_idwent out less thanwait_daysago, stop and tell the user when to run this again. Otherwise build an audience of its recipients who did not open it, leaving out bounces and unsubscribes, and wait until it has built. Keep its audience ID and size. - Rewrite the subject yourself. Write two alternatives to
original_subjectthat make a different promise. Show them to the user and keep the one they choose. - Resend with Send an email (Brew). After the user approves, send
email_idwith the chosen subject to the audience from step 1.
Rules
- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
