
What are Transactional Emails?
Transactional emails are automated messages sent to individual users based on specific actions they take - like password resets, order confirmations, or account notifications. Unlike marketing emails, they contain essential information users need regardless of their subscription preferences. Key characteristics:- Triggered by user actions (not promotional campaigns)
- Always delivered, even to unsubscribed contacts
- Don’t require unsubscribe links (CAN-SPAM compliant)
- Focus on functionality, not marketing
When contacts unsubscribe from your marketing emails, Brew automatically skips them for campaigns and automations but still delivers transactional emails since they contain essential information needed for using your service. This approach complies with CAN-SPAM regulations, which distinguish between marketing and transactional content.
When Should I Use Transactional Emails?
- Authentication & Security
- Order & Billing
- System Notifications
- Marketing Examples
Essential for user account management:
- Password reset emails
- Email verification
- Login notifications
- Two-factor authentication codes
- Security alerts
Quick Decision Guide
Ask yourself: “Can the user complete essential tasks without this email?”- No → Transactional (password reset, order receipt)
- Yes → Marketing email (newsletter, product updates)
How to Create and Send Transactional Emails
Create your email with AI
In the Create page, select the Transactional tab above the prompt box, then describe what you need. Brew generates an on-brand transactional email with proper variables and responsive design.
Edit your email
Refine your email using the chat or by clicking directly on any text, link, or image to edit it manually. After each manual edit, click Save - this saves a new version and ensures the AI takes your changes into consideration for future edits.
Add variables
Insert dynamic content like names, URLs, or order details using triple curly brace syntax:
{{{variableName}}}.Add Variables
Variables insert personalized content into each email. The syntax uses triple curly braces: Common variables:{{{firstName}}}- Recipient’s name{{{resetUrl}}}- Password reset link{{{orderNumber}}}- Order confirmation{{{verificationLink}}}- Account verification URL
{{{firstName | there}}}- Renders “there” iffirstNameis not provided
- Type them directly in the editor:
{{{variableName}}} - Add to text, links, buttons, or subject lines
- Brew’s AI will often insert variables automatically based on your prompt
Variable Rules
Variable Rules
Important requirements:
- Variable names are case-sensitive (
firstName≠FirstName) - Use only letters, numbers, underscores, and dashes
- All required variables must be included in API calls
- Values can be strings, numbers, or booleans
Publish and Send
- Review your email - Check variables and content
- Click “Publish” - Gets your unique
chatIdfor API calls - Copy the API payload - Use this for your integration
Common Issues
Missing Required Variables
Missing Required Variables
Error:
Missing required fields: resetUrlFix: Include all required variables in your API call:Email Not Found
Email Not Found
Error:
Transactional email not foundCheck:- Is your
chatIdcorrect? - Is the email published (not draft)?
- Hasn’t been deleted?
Domain Issues
Domain Issues
Error:
Domain not verifiedFix: Verify your sending domain in Brew settings before sending emailsBest Practices
Content Guidelines
- Be clear and direct - Users expect immediate, actionable information
- Include your branding - Build trust with consistent design
- Explain the trigger - “You’re receiving this because you requested a password reset”
- Provide support contact - Never use “no-reply” addresses
Technical Best Practices
Domain Setup
Domain Setup
Use a dedicated subdomain for transactional emails:
notifications.yourdomain.comorauth.yourdomain.com- Isolates reputation from marketing emails
- Signals purpose to email providers
- Protects critical transactional emails if marketing campaigns face deliverability issues
- Creates a “safety zone” for essential communications like password resets and account verifications
- Allows faster recovery if problems occur with either transactional or marketing emails
- Enables separate monitoring of deliverability metrics for each type of communication
- Verify domain in Brew settings
- Set up DMARC for security
- Match email URLs to your sending domain when possible
Deliverability Tips
Deliverability Tips
For sensitive emails (password resets, verification):
- Keep content focused and minimal
- Ensure immediate delivery expectations
- Consider disabling click tracking for security
- Limit email size (Gmail clips at 102KB)
- Include plain text versions
- Avoid excessive images
- Use professional language
Monitoring
Track key metrics in your Transactional dashboard:- Sends - Total emails sent
- Delivered - Successfully delivered emails
- Bounces - Failed deliveries
- Spam complaints - Recipients marking as spam
API Reference
Authentication
The API accepts either of these authentication headers:API Payload
| Parameter | Type | Required | Description |
|---|---|---|---|
chatId | string | Yes | The ID of your published transactional email |
to | string or array | Yes | Recipient email address(es) |
variables | object | No | Key-value pairs for your email variables |
subject | string | No | Override the default subject line |
from | string | No | Override the default sender address |
replyTo | string | No | Set a reply-to address |
Transactional sends count toward your monthly email limit.
When you send a transactional email to a new email address, Brew automatically creates a contact record for the recipient. If the contact already exists, no changes are made.
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.
ChatGPT/Claude Integration
Click “Open in ChatGPT” at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.