October 2026 · For current behavior, see Unsubscribe Events.
What Shipped
An unsubscribe used to be the end of the conversation. The link did its job, the contact came off the list, and the reasons they gave sat in a report. There was no way to confirm it or answer them. Now an unsubscribe can start an automation. Pick When a contact unsubscribes as the trigger and choose which list it watches. Brew starts the flow the moment someone leaves. It’s the first trigger Brew fires on its own, so there is nothing to wire up and no event to send.How It Works
1
Choose the trigger
In a new automation, pick When a contact unsubscribes. Then choose
All emails or one of your marketing domains. Transactional domains
keep no list, so they aren’t offered. The link in an
email or the one-click button in a mail app starts it. Bounces,
complaints, imports, and API edits never do.
2
Write what they need
The person just opted out of marketing, so send only what they need,
such as a confirmation, from a
transactional domain. Merge tags
carry the detail: the domain they left, the reasons they chose, and the
email that held the link.
3
Test, then publish
Test runs the flow on a sample unsubscribe, so you see the email
before anyone leaves. Publish refuses a flow none of whose emails could
reach the contact.
What to Send
- A confirmation. “You’re off the list” from your transactional domain, so they know it worked.
- A reply to their reason.
{{ unsubscribe.reasonText }}carries what they wrote on the unsubscribe page, so the confirmation can acknowledge it.
From an Agent or Code
Ask your agent to “email a confirmation whenever someone unsubscribes from mail.acme.com.” It callsensure_brew_event_trigger for that domain, then
saves the automation.
Code uses POST /v1/automations/triggers/brew-events,
brew.automations.triggers.ensureBrewEvent() in SDK 12.4.0, or brew-cli automations triggers ensure-brew-event in CLI 0.16.0. Details are in the
API Changelog.