251
All workflows

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

  1. B

    Segment, by Create an audience from email events by Brew

    If send_id went out less than wait_days ago, 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.

  2. Rewrite the subject, by Your agent

    Write two alternatives to original_subject that make a different promise. Show them to the user and keep the one they choose.

  3. B

    Resend, by Send an email by Brew

    After the user approves, send email_id with 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 up
  • email_id: the email design that send delivered
  • original_subject: the subject line it went out with
  • wait_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=build until 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

  1. Segment with Create an audience from email events (Brew). If send_id went out less than wait_days ago, 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.
  2. Rewrite the subject yourself. Write two alternatives to original_subject that make a different promise. Show them to the user and keep the one they choose.
  3. Resend with Send an email (Brew). After the user approves, send email_id with 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.