SOLEN

Your app should never know what an email looks like.

Solen is the internal email platform: one SDK for every application, templates managed centrally, providers abstracted away, and every send logged where you can actually see it.

FREE TO START · NO CARD · ACTIVATE PRO WITH A COUPON

SEND-WELCOME.TSSOLEN SDK
// the entire email integration
import { EmailClient } from "solen-sdk";

const mail = new EmailClient({ apiKey: process.env.SOLEN_API_KEY });

await mail.send({
  template: "welcome-email",
  to: "student@example.com",
  variables: { name: "Priya", school: "Northside High" },
});
EVERY TRANSACTIONAL EMAIL RUNS THROUGH SOLEN
SCHOOLOSWALLETCRMERP

Five apps, five SMTP configs, five copies of the same welcome email.

Every application used to carry its own email stack: provider credentials in another env file, Nodemailer wired up one more time, HTML templates pasted between repos and drifting apart, and - when something failed - log files on a server someone else owns.

Solen replaces all of it with a single platform. Applications send a template identifier, a recipient, and variables. Everything else - rendering, provider communication, error handling, history - happens centrally, where it can be managed, audited, and fixed once.

The platform owns the whole lifecycle.

Templates
Written once in the dashboard, previewed and test-sent per project, rendered with your variables. No HTML ever ships inside application code.
Sender identities
Each project sends as itself - SchoolOS <schoolos@…>, Wallet <wallet@…> - from one verified domain.
Providers
Resend today; SES, SendGrid, or raw SMTP tomorrow. Switching providers changes nothing in any client application.
Access control
Projects, members, and roles. Applications authenticate with scoped API keys you can rotate or revoke in one click.
Logging
Every request is logged - success or failure - with recipient, template, provider, and the exact error message.
Analytics
Volume, success rate, per-template and per-project usage. Know what your apps are sending without asking them.

The log is the product.

Every send is recorded whether it succeeds or fails - with the recipient, the template, the provider, and the exact error. When a customer says “I never got the email,” you answer from the dashboard, not from an SSH session into the application server.

Search it, filter it, paginate it. Per project, in real time.

SCHOOLOS · LOGSLIVE
14:02:11welcome-emailpriya@northside.eduSUCCESS
14:01:56otp-codej.osei@wallet.appSUCCESS
14:01:40transaction-alertm.tanaka@example.comSUCCESS
14:00:19password-resetwho@nowhereFAILED
13:59:03grade-reporta.novak@northside.eduSUCCESS

Three lines of code. Three steps to send.

  1. 01Install the SDKAdd solen-sdk to your app. Zero dependencies, fully typed.
  2. 02Generate a keyActivate Pro, mint a scoped API key, drop it in your environment.
  3. 03Send a templateCall send() with a template id, a recipient, and variables. Done.

PRICING

Start free. Ship on Pro.

Build, template, and test for free. Activate Pro to unlock API keys and send from your applications — with a coupon, no card required.

TWO MONTHS FREE ON ANNUAL

Free

For building and testing.

$0/forever
Start free
  • Full dashboard access
  • Unlimited projects & members
  • Unlimited templates & previews
  • Complete logs & analytics
  • Test sends from the dashboard
PRODUCTION

Pro

For sending in production.

$290/year

Billed as $290 once a year

Get Pro

ACTIVATE WITH A COUPON · NO CARD REQUIRED

  • Everything in Free
  • Generate & rotate API keys
  • Send via the SDK and HTTP API
  • Per-project sender identities
  • Provider abstraction (Resend, SES…)

INSTALL · GENERATE A KEY · SEND

Ship your last email integration.