AWS SES Marketing Automation with EventBridge and Step Functions (2026)
Quick summary: When to keep Customer.io/Loops vs build journeys with EventBridge + Step Functions + SES: stream isolation, RFC 8058, Pro for DIPs, and a first-party journey architecture checklist.
Key Takeaways
- io/Loops vs build journeys with EventBridge + Step Functions + SES: stream isolation, RFC 8058, Pro for DIPs, and a first-party journey architecture checklist
- Migrating off Elastic Email, Resend Audiences, or a mid-market ESP often stalls on one question: who builds the journeys after the send API moves to Amazon SES
- SES does not ship a drag-and-drop automation builder
- As of July 21, 2026, SES pricing plans (Essentials / Pro / Enterprise) change how you buy dedicated IPs and Virtual Deliverability Manager
- This guide is for platform engineers choosing among build (EventBridge + Step Functions + SES), buy (Customer

Table of Contents
Migrating off Elastic Email, Resend Audiences, or a mid-market ESP often stalls on one question: who builds the journeys after the send API moves to Amazon SES? SES does not ship a drag-and-drop automation builder. As of July 21, 2026, SES pricing plans (Essentials / Pro / Enterprise) change how you buy dedicated IPs and Virtual Deliverability Manager. They do not add a marketer UI.
This guide is for platform engineers choosing among build (EventBridge + Step Functions + SES), buy (Customer.io / Loops / Klaviyo / Braze), and hybrid. Companion reading: SES for eCommerce, Elastic Email → SES, Resend → SES.
SES marketing automation on AWS means product events on EventBridge, journey orchestration in Step Functions, contact state in DynamoDB/RDS, and sends through SES configuration sets. RFC 8058 unsubscribe and mailbox-provider bulk-sender rules are production requirements, not backlog polish.
Build vs buy vs hybrid
We recommend hybrid for most product-led companies: marketer journeys on a purpose-built automation tool, SES for transactional and any promo volume where ESP unit economics break. Pure build wins when engineering already owns the contact model and marketers accept YAML/JSON journey changes (or you invest in an internal admin). Pure buy wins when weekly journey edits matter more than per-1k send cost.
| Path | Choose when | Avoid when |
|---|---|---|
| Build | Few stable journeys; eng owns contacts; AWS-native already | Marketers need weekly visual edits with no eng queue |
| Buy | Marketing velocity is the bottleneck | You already pay ESP rates that dwarf eng cost at your volume |
| Hybrid | Txn on SES; lifecycle on Customer.io/Loops | Split From domains without DMARC alignment plan |
Reference architecture
Product app / warehouse
│ events (UserSignedUp, CartAbandoned, OrderPlaced)
▼
EventBridge bus ──► rules ──► Step Functions (per journey family)
│
├─ Wait / Choice / Parallel
├─ DynamoDB get/put (suppression, step state)
▼
SES SendEmail (config set: lifecycle|promo)
│
bounce/complaint/open/click events
▼
SNS / EventBridge ──► suppression + journey flagsQuantified design constraint we use on checklists: treat one state machine per journey family (welcome, abandoned cart, win-back), not one machine with 40 branches. Operational blast radius stays reviewable; a failed welcome definition does not block cart recovery deploys.
Why EventBridge + Step Functions rather than cron + Lambda
- EventBridge gives durable, filterable ingestion and partner integrations without custom queue glue for every producer.
- Step Functions makes waits, retries, and human-readable execution history first-class, which matters when a cart wait is 1 to 72 hours and “sleep in Lambda” is not an option.
- SES stays a dumb, cheap, observable send primitive with configuration-set isolation.
Deliverability requirements the builder must own
Mailbox providers do not care that your journey is “serverless.”
- SPF + DKIM + DMARC with alignment (Google/Yahoo Feb 2024; Microsoft May 5, 2025 for Outlook consumer bulk).
- RFC 8058
List-Unsubscribe+List-Unsubscribe-Poston marketing/lifecycle mail. - Stream isolation: transactional vs lifecycle vs promo configuration sets; dedicated/managed DIPs when promo volume can poison txn reputation.
- Suppression before send inside the state machine, never “send then clean.”
- Plan-aware IP economics: a-la-carte DIPs ~$24.95/IP or managed DIP fees; Pro may undercut a packed a-la-carte stack (pricing plans).
Label complaint ceilings correctly: SES ~0.1% complaint risk vs Gmail Postmaster spam <0.10% vs published bulk-sender <0.3% guidance.
First-party artifact: journey checklist
The checklist encodes decision, identity/streams, event ingestion, orchestration, send path, feedback loop, and go-live, including a shadow-run gate that blocks SES until QA signs off. The reproducible outcome is a binary readiness gate you can attach to a PR.
Monday morning path
- Complete the journey architecture checklist.
- If build: scaffold one abandoned-cart state machine with Wait + suppression + SES; shadow-run without send.
- If hybrid: move only transactional to SES this sprint; leave marketer journeys on the ESP until auth domains are aligned.
- If promo volume needs DIPs/VDM: run the plan vs a-la-carte worksheet.
- For retail promo vs txn isolation patterns, see SES for eCommerce.
What this post doesn’t cover
- Pixel-perfect parity with Klaviyo/Braze visual builders
- Full CDK/Terraform modules for every journey (checklist first; IaC follows your account standards)
- Consent / GDPR legal determinations
- Cold outbound compliance (see SES B2B cold outreach)
Services: Amazon SES · SES migration.
Discuss your SES automation architecture →
Frequently asked questions
Can AWS SES replace Mailchimp or Customer.io for marketing automation?
When should I NOT build marketing automation on Step Functions?
How do EventBridge and Step Functions work with SES?
Do I need the SES Pro plan for marketing automation?
What could go wrong in a DIY SES journey?
Is hybrid ESP + SES a valid architecture?

Co-Founder, FactualMinds
Co-founder of FactualMinds. Builds tools for ecommerce brands and writes about how ecommerce really works, including the FactualMinds guides on Amazon SES: sending setup, authentication, IP warm-up, deliverability, and migrating from other email providers.




