Send now and Schedule work the way you’d expect. The two newer options have settings worth knowing about.
Before you send, the audience panel shows the audience size and who will receive the email. For example: “3 contacts, 1 will receive it (2 unsubscribed)”.
Unsubscribed, suppressed, and undeliverable contacts are always skipped. If nobody in the audience can receive the email, Send now is blocked and tells you why. A scheduled send is still allowed, in case the audience fills before it goes out.
From an agent, the
send_email MCP tool takes the same four modes. The request fields are in From an Agent or Code.
A send can also go to a list of up to 50 addresses instead of an audience. An address listed twice is mailed once. Over MCP, each must already be a subscribed contact.
A scheduled send works out who gets it when it runs, not when you schedule it. Contacts who unsubscribe or leave the audience in between are skipped. New matching contacts are included, so the counts at scheduling are an estimate.
The design version is fixed when you schedule. Without a pinned version, the send uses the version that was latest then, and later edits don’t change it.
Intelligent Send
Intelligent send picks a send time for each contact. Choose Intelligent send, then a start: now or later. The button reads Start Intelligent Send or Schedule Intelligent Send. From the start, Brew looks at the next 24 hours for each contact. It picks the hour that contact is likeliest to open, based on their own opens and clicks with your brand:- Clicks count more than opens. A click means someone read far enough to act.
- Recent activity counts more than old. Habits change.
- The same weekday counts more. Tuesday 8:00 and Saturday 8:00 are different habits.
What It Doesn’t Do
- No time zones. It uses only when each contact has opened and clicked before, not a stored time zone or location.
- No Gradual send. A send has one delivery mode.
- Not in automations yet. It works for sends to an audience or a list of addresses.
Read the Results
The send’s analytics page sums up the timing in three lines:- Optimization. The send used each contact’s best hour.
- Assignments. How many contacts were timed from their history, how many went right away, and how many had history but couldn’t be timed.
- Last delivery by. When the final email goes out.
Gradual Send
Gradual send delivers in batches that grow each time, instead of sending to the whole audience at once. Use it to warm up a domain that’s newly verified or has been sending at low volume. It works for your regular marketing and customer sends, so you don’t need a dedicated warmup campaign to build reputation. You control the ramp with four settings:- Start: Start now, or pick a date and time.
- Starting volume: the percentage of your audience in the first batch.
- Increase: how much each batch grows, as a percentage.
- Every: the time between batches, in days or hours. Day intervals follow your local time zone.
Pause, Resume, or Cancel a Send
- Pause stops a running gradual send before its next batch. Over MCP,
pause_email_send. - Resume restarts a paused gradual send. Brew spreads the unsent tail out again, so missed batches don’t arrive in a burst. Over MCP,
resume_email_send. - Cancel pulls back a scheduled send, or stops one in flight, like Stop in the app. Recipients already sent stay sent, and a small tail may still deliver. Over MCP,
cancel_email_send.
- Plan limit. The send waits until your monthly allowance has room.
- Domain stopped working. If the sending domain’s DNS stops passing, the send waits for it to pass again. After 7 days it fails.
When You Launch an Automation
Launching a manual-audience automation run goes through a similar picker with three options: Run now, Schedule, and Gradual send. Intelligent send isn’t offered for automation runs; timing inside a flow comes from its Wait steps. A scheduled run can start up to a year ahead. A gradual run can reach up to 50,000 recipients, over at most 30 batches and 30 days. A plan outside those limits is refused. If your organization requires send approval, the run waits for an admin to approve it. Nothing goes out until then, and a rejection cancels the run.
Triggered Sends Skip the Picker
An automation fired by a trigger sends when the event arrives. There is no timing option, because the timing is the event. That covers transactional mail. A password reset or a receipt goes out on the fire, from a transactional-purpose domain, with no unsubscribe link. Delay inside a triggered flow comes from its Wait steps.From an Agent or Code
POST /v1/sends from code and send_email over MCP take the same four modes:
- Schedule.
scheduledAtwith the start time. - Intelligent send.
smartSend: true, withscheduledAtfor a later start. Reading the send back returns the timing counts undersmartSend. - Gradual send.
gradualSendwithstartingPercentage(the share of recipients in the first batch),incrementPercentage(how much each batch grows),interval(hours 1 to 24, or days 1 to 30), andtimeZone(keeps day intervals on local wall-clock time).
audienceId picks an audience, and audienceId: "all" is every contact in the brand. to takes a list of up to 50 addresses instead.
Consent for new addresses. Over the API, consent creates a missing address as a subscribed contact with that consent record. Without it, a new address is refused with 422 CONSENT_REQUIRED. Neither path ever re-subscribes someone who opted out.
Control a send. POST /v1/sends/{sendId}/pause, /resume, and /cancel match the app’s Pause, Resume, and Stop.
Automation runs. A run plan outside the schedule or gradual-send limits is refused with 400. While a run waits for send approval, the 202 response carries approvalState: "pending".
Need Help?
Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:- Self-Service Tools
- Talk to Our Team
Search Documentation
Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.
Ask ChatGPT or Claude
Click here to open the Copy page menu at the top of this page, then send the page to ChatGPT, Claude, or your editor.