AI-WRITTEN, DEVELOPER-SENT
One line, and your app knows how to talk to its users.
You describe what happened. Sendable writes the message and sends it — no templates to design, no dashboard step to babysit, no copy to update every time the product changes.
500 messages a month, free. No card required.
HOW IT WORKS
Three steps replace the entire template pipeline.
No visual editor, no reviewing merge requests for copy changes, no template variables getting out of sync with your product. Just an event and the data behind it.
Call send() with an event name
Pass a recipient, an event like password_reset or invoice_overdue, and whatever data belongs to it. That's the entire integration.
Sendable writes the words around your data
A model trained on clear, on-brand transactional copy drafts the subject and body for that specific event — matching your tone, not a generic template's.
The message sends — your values untouched
Every number, date, name, and ID you passed in is inserted verbatim. Sendable never edits, rounds, or rephrases the data itself — only the sentences around it.
Change your product, not your copy
Ship a new event type in the time it takes to name it. There's no template to open, no design review, no redeploy — the next call to send() just works.
DATA SAFETY
Sendable writes the sentence. Never the value inside it.
Letting a model write your customer messages only works if it can't touch the parts that matter. Every field you pass in is treated as a locked value — quoted exactly, every time.
Values are inserted, not generated. Order IDs, prices, dates, and names pass through byte-for-byte — the model drafts the prose around them, never the digits themselves.
Every send is logged. Full request, generated copy, and delivery status are retained so you can audit exactly what went out and why.
Your payloads aren't used to train anyone's model. The data behind a message stays scoped to sending that message.
Encrypted in transit and at rest. API access is scoped per key, and every key can be rotated or revoked instantly.
USE CASES
Every transactional moment your product already has data for.
If you can name the event and pass the data, Sendable can write it — no new template for each one.
Onboarding & welcome
Password & security
Billing & payments
Reminders & scheduling
Reports & digests
Status changes
SENDABLE VS. TEMPLATE PLATFORMS
Skip the part of email infrastructure nobody enjoys.
Most providers give you excellent delivery and a blank template editor. Sendable gives you the delivery — and writes what goes inside.
Swipe to see the full comparison →
| Sendable | Template platforms | |
|---|---|---|
| Time to first message | Minutes — one function call | Hours — design a template first |
| New event type | Just name it and send | Build a new template, then wire it up |
| Copy updates over time | Handled automatically | Manual edits across every template |
| Dashboard step required | No | Usually, for template setup |
| Data handling | Values locked, never rewritten | Static variables you maintain by hand |
| Free tier | 500 messages / month | Varies by provider |
BUILT FOR PRODUCTION
Everything you'd expect from sending infrastructure — plus the part that writes.
Sendable isn't just a copywriting layer bolted onto someone else's email API. Delivery, logging, and observability are part of the same one-line call.
Real delivery, not a mock
Every send() call reaches a real inbox through authenticated sending infrastructure — not a sandboxed test endpoint.
Sub-second generation
Copy generation is optimized to add negligible latency to your send path — most calls resolve in under half a second.
Per-key access control
Scope, rotate, or revoke API keys independently. Every request is authenticated before a message is even drafted.
Full delivery logs
Every event, the copy it generated, and its delivery status are retained and searchable — so support tickets stop being guessing games.
Every message, searchable
Every message Sendable composed is stored verbatim with its delivery status, so support tickets stop being guessing games.
Any stack, one client
A single npm i sendableme covers Node and edge runtimes today, with more language clients on the way.
PRICING
Start free. Pay only when you outgrow it.
No seat licenses, no template-count limits, no contract to get your first message out today.
For side projects, prototypes, and getting your first send out today.
$0 / month
- 500 messages every month
- Unlimited event types
- Delivery logs & open tracking
- No credit card required
For products sending to real users. No sales calls — just add a card.
$19 / month
- 10,000 messages every month
- Everything in Free
- Priority delivery routing
- Cancel anytime, no contracts
For products at scale sending high message volumes every month.
$99 / month
- 100,000 messages every month
- Everything in Starter
- Highest-priority delivery routing
- Cancel anytime, no contracts
FAQ
Questions worth answering upfront.
send() — order IDs, prices, dates, names — is treated as a locked value. The model is only ever asked to write the language around those values, and the values themselves are inserted verbatim into the final message, never regenerated or paraphrased.Your app already knows what happened. Let it say so.
Install the client, call send(), and watch a real message go out — no templates, no dashboard, no waiting on a design review.