The email platform that sends through your AWS.
Automate on user behavior. Design templates. Schedule broadcasts. Transparent pricing. Sending infrastructure you own.
No account required. Free and open source.
Code You Can Review
Templates and workflows live in your repo. Review in PRs. Roll back bad deploys. No more 'don't edit while I'm editing.'
Type-Safe Everything
TypeScript SDK. Typed template variables. Typed workflow definitions. Catch errors before they reach an inbox.
No More Tickets
Engineers own the code. Marketers own the content. Both deploy through the same pipeline. Nobody waits on a Jira ticket to change a button color.
Sends Through Your AWS
Your SES. Your DynamoDB. Your domain reputation. Pay AWS directly. Leave anytime, keep everything.
Everything you need to send. Nothing you don't.
Templates, workflows, analytics, and event tracking — all running on your AWS, all visible in one dashboard.
AI Template Editor
Describe your email, AI generates React Email code. Live preview as you iterate.
AI Workflow Builder
Describe your automation, AI builds it. Drag to refine.
Broadcasts & Delivery Funnel
Send to thousands, Sankey chart fills in — delivered, opened, clicked.
Event Timeline
Full email lifecycle with timestamps and metadata.
Live Email Logs
Status, recipient, subject — searchable and filterable.
Contact Segments
Filter audiences, watch matching contacts narrow.
Delivery Metrics
Open rate, click rate, bounces — from your SES events.
Write it in TypeScript. Or drag it onto a canvas. Nobody files a ticket.
Automations and templates that your whole team can own. Engineers get TypeScript, everyone else gets a visual editor. Same result either way.
import { defineWorkflow, sendEmail, delay, condition } from '@wraps.dev/client';export default defineWorkflow({ name: 'Welcome Series', trigger: { type: 'contact_created' }, steps: [ sendEmail('welcome', { template: 'welcome-email' }), delay('wait-1-day', { days: 1 }), condition('setup-complete', { field: 'contact.hasCompletedSetup', operator: 'equals', value: true, branches: { yes: [sendEmail('success', { template: 'success-story' })], no: [sendEmail('nudge', { template: 'setup-nudge' })], }, }), ],});Define your welcome series next to the code that triggers it. Delays, conditions, branching, all type-safe.


Drag nodes onto a canvas. Triggers, delays, conditions — change the workflow without opening a PR.
import { Html, Body, Container, Text, Button } from '@react-email/components';export const subject = 'Welcome, {{name}}!';export const previewText = 'Your account is ready';export default function Welcome({ name, url }: Props) { return ( <Html> <Body> <Container> <Text>Hi {name}, your account is ready.</Text> <Button href={url}>Open Dashboard</Button> </Container> </Body> </Html> );}Your template is a React component. It lives in your repo and ships in the same PR as the feature.


Chat with the AI, edit the result visually, or eject to code. No ticket required.
Same execution engine, same git history, same deploy pipeline. Switch whenever you want.
You pay for the platform. AWS handles the sending.
Free to start, no credit card. Sending costs go straight to AWS at $0.10/1K emails.
Save with annual billing
Free
Free ForeverGet started — no credit card required
- Dashboard + AI template editor
- 5K /mo
- 1 workflow
- Unlimited contacts
- CLI + TypeScript SDK
- 10 AI template generations/mo
Starter
For developers shipping their first integration
- 50K /mo
- Unlimited workflows
- React templates + AI editor
- Topics, segments & broadcasts
- Unlimited team members
- Email support
Growth
For teams where developers and marketers ship together
- 250K /mo
- Then $0.50/1K
- Everything in Starter, plus:
- AI workflow generation
- 3 AWS accounts
- Priority support (24hr)
Need custom limits or on-prem deployment? Contact us for Enterprise
What are tracked events?
You emit an event, and Wraps does the rest: triggers workflows, builds segments, runs automations on your AWS.
await wraps.track('order.completed', { contactEmail: '[email protected]', properties: { orderId: '123', plan: 'growth' },})Sending emails and storing contacts is always free. Opens, clicks, and deliveries don't count either.
AWS costs are separate
You pay AWS directly for sending at $0.10 per 1,000 emails plus infrastructure (~$2-5/mo). The infrastructure lives in your account, so you can leave anytime and keep everything.
Calculate Your CostsYour infrastructure. Your data. Your AWS bill.
Deploy in one command. Cancel anytime.

