Build useful email automations with explicit triggers, eligibility checks, delays, and tests that reflect how customer state changes.
An email automation is a repeatable decision about when to send a message. The editor is only one part of it. The event, current customer state, and rules for stopping matter just as much as the copy.
Before drawing a sequence, write down why each message should exist and what would make it inappropriate by the time it sends.
A signup, completed purchase, failed payment, or product milestone can start an automation. Give the event a clear meaning. "User active" is ambiguous; "first report exported" is something the application can record and test.
Include only the data the message needs, with stable identifiers and a timestamp where relevant. Decide which system owns each value. Event delivery can retry, so use the idempotency behavior supported by your integration and test duplicate delivery.
The Stripe integration provides documented subscription and payment events. Custom application events can cover milestones specific to your product.
A wait changes when the next step runs. It does not, by itself, update the facts the automation knows.
In a Brew event-triggered flow, Filter and condition Split nodes distinguish event data from contact data. activated or payload.activated reads the original event. A signup payload saying activated: false may be stale by tomorrow. contact.activated reads the recipient's current Brew contact field when that condition node runs, including after a Wait.
For a setup reminder, declare an activated boolean contact field, keep it synchronized from your application, and place a contact.activated equals false filter after the wait. Missing is not the same as false, so test both. Put a condition before each later reminder that depends on this state; a contact update or new event does not automatically cancel an existing run.
The contact read does not query your product database or billing provider. If eligibility depends on unsynced activity, a particular invoice, or current cart contents, schedule that check in your application. At the due time, read the authoritative record and fire a fresh eligible event only if the reminder still makes sense.
The trial conversion walkthrough covers both approaches. The automation reference explains condition field paths.
A welcome automation can deliver the resource or next step promised at signup. A payment notification can explain a real billing event. A product milestone email can help someone use the result of what they just completed.
Keep the first version small enough to inspect. For each message, record the audience, trigger, required fields, intended action, and conditions that should prevent a send. Include subscription status and suppression behavior in that review.
In Brew, published automations control execution. Creating or editing a draft is not the same as publishing it. Integration settings and automation state have different jobs; for example, Stripe's name-sync option controls name updates, not whether event automations execute.
Test a normal run, missing optional fields, a duplicate event, an unsubscribed marketing contact, and a customer whose state changes before a reminder is due. For contact conditions, update the Brew field during the wait and confirm the later condition skips the reminder. For application-scheduled reminders, confirm the application withholds a fresh eligible event when the customer no longer qualifies.
Inspect the real email as well as the run record. Check links, merge fields, sending domain, and the exact published version. A successful trigger request alone does not prove the right message reached the right inbox.
An evergreen sequence can quietly become obsolete when setup steps, pricing, or product access change. Give each sequence an owner and review it after relevant releases.
Measure the intended outcome and the unwanted effects. If the goal is completing setup, track that action alongside complaints and unsubscribes. Use the metrics guide to avoid treating opens as proof that the automation helped.
