Every message, on the right channel
Design campaigns and send transactional email from your own domain, with a documented API, and run WhatsApp campaigns to contacts who opted in. SMS will arrive in the same panel as soon as it ships.
No credit card · 100 free emails a month

Three channels, one audience
Every contact keeps an email, a phone number and a WhatsApp number. Email and WhatsApp send today; SMS arrives in the same panel as soon as it ships.
Bulk campaigns and transactional email from your own domain.
- Domain verification with SPF and DKIM
- Send limits that adjust to your standing
- Documented REST API
SMS
Alerts, reminders and verification codes.
Not yet available. No date set.
Campaigns with Meta-approved templates to contacts who opted in, with delivery and read tracking.
For the people who design campaigns and the people who integrate the API
One panel and one verified domain, from the template editor to a transactional endpoint.
Campaigns that look right in any inbox
Drag blocks or edit MJML directly. eComms generates the responsive HTML and lets you test it before you send.
One endpoint for your transactional email
Send confirmations, alerts and codes with a single API call.
- POST /v1/email with mandatory idempotency on every send
- HMAC-signed webhooks for your transactional sends
- cURL, JavaScript and Python examples on every page
curl -X POST https://api.e-comms.dev/v1/email \
-H "Authorization: Bearer ek_live_<your-key>" \
-H "Content-Type: application/json" \
-d '{
"idempotencyKey": "welcome-ana-2026-09-19",
"to": ["ana@example.com"],
"from": "hello@yourcompany.com",
"content": {
"type": "raw",
"subject": "Welcome",
"html": "<p>Hi, Ana!</p>",
"text": "Hi, Ana!"
}
}'const response = await fetch("https://api.e-comms.dev/v1/email", {
method: "POST",
headers: {
Authorization: "Bearer ek_live_<your-key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
idempotencyKey: "welcome-ana-2026-09-19",
to: ["ana@example.com"],
from: "hello@yourcompany.com",
content: {
type: "raw",
subject: "Welcome",
html: "<p>Hi, Ana!</p>",
text: "Hi, Ana!",
},
}),
})
const body = await response.json()import requests
response = requests.post(
"https://api.e-comms.dev/v1/email",
headers={"Authorization": "Bearer ek_live_<your-key>"},
json={
"idempotencyKey": "welcome-ana-2026-09-19",
"to": ["ana@example.com"],
"from": "hello@yourcompany.com",
"content": {
"type": "raw",
"subject": "Welcome",
"html": "<p>Hi, Ana!</p>",
"text": "Hi, Ana!",
},
},
)
body = response.json()Plugs into your stack
Send through the API, receive your transactional sends' events at your own backend and bring your contacts in a file.
- REST API
- Signed webhooks
- CSV import
Start free and grow with your volume
Create an account with no card. Pro, Max and Enterprise are agreed by contract, with limits fitted to your organization's sending volume.
| Seats | 3 | 20 | 50 | Custom |
|---|---|---|---|---|
| Contacts | 100 | 100,000 | 250,000 | Custom |
| Emails per month | 100 | 50,000 | 200,000 | From 500,000 / month |
| WhatsApp messages delivered per month | 0 | 5,000 | 20,000 | From 60,000 / month |
| Campaigns per month | 3 | 100 | 300 | Custom |
| Domain discovery | Included | Included | Included | Included |
| No e-comms branding in your emails | Includes watermark | Included | Included | Included |
| API and webhooks | Included | Included | Included | Included |
| Visual and MJML editor | Included | Included | Included | Included |
| SMS and WhatsApp | Coming soon | Coming soon | Coming soon | Coming soon |
- Seats
- 3
- Contacts
- 100
- Emails per month
- 100
- WhatsApp messages delivered per month
- 0
- Campaigns per month
- 3
- Domain discovery
- Included
- No e-comms branding in your emails
- Includes watermark
- API and webhooks
- Included
- Visual and MJML editor
- Included
- SMS and WhatsApp
- Coming soon
- Seats
- 20
- Contacts
- 100,000
- Emails per month
- 50,000
- WhatsApp messages delivered per month
- 5,000
- Campaigns per month
- 100
- Domain discovery
- Included
- No e-comms branding in your emails
- Included
- API and webhooks
- Included
- Visual and MJML editor
- Included
- SMS and WhatsApp
- Coming soon
- Seats
- 50
- Contacts
- 250,000
- Emails per month
- 200,000
- WhatsApp messages delivered per month
- 20,000
- Campaigns per month
- 300
- Domain discovery
- Included
- No e-comms branding in your emails
- Included
- API and webhooks
- Included
- Visual and MJML editor
- Included
- SMS and WhatsApp
- Coming soon
- Seats
- Custom
- Contacts
- Custom
- Emails per month
- From 500,000 / month
- WhatsApp messages delivered per month
- From 60,000 / month
- Campaigns per month
- Custom
- Domain discovery
- Included
- No e-comms branding in your emails
- Included
- API and webhooks
- Included
- Visual and MJML editor
- Included
- SMS and WhatsApp
- Coming soon
Frequently asked questions
Can't find your answer? Read the documentation.
- Is SMS available yet?
- Not yet, and there is no confirmed date. Today you send by email and WhatsApp; SMS will arrive in the same panel as soon as the channel is ready.
- How is data isolated between organizations?
- Every table enforces the organization filter at the database level, not only in the application code, and that policy is tested automatically on every change.
- What happens if a message isn't delivered?
- Each message's status (delivered, bounced, complained) updates on your panel from the provider's events. Transactional sends also produce a signed webhook.
- Do I need to verify my domain to send?
- Yes. We verify SPF and DKIM before activating a sender, so your email leaves authenticated from the first send.
- Is there a free plan?
- Yes. You can create an account on the Free plan with no credit card. Pro, Max and Enterprise are agreed by contract: talk to sales.
- How do I bring in my contacts?
- Upload a CSV file, map its columns and review the report row by row. You can also create contacts by hand from the panel.
Start sending today
Create your free account, verify your domain and send your first email from your own organization.
No credit card. We'll email you a code to confirm the address.