The modern messaging layer for developers building AI-native products and next-generation apps. Manage transactional email, SMS, and push workflows without shipping code.
1 import { SenderKit } from "@senderkit/sdk"; 2 3 const senderkit = new SenderKit({ apiKey: process.env.SENDERKIT_API_KEY! }); 4 5 export async function POST(req: Request) { 6 const user = await createUser(req); 7 8 // Marketing edits this template. You don't redeploy. 9 await senderkit.send({ 10 template: "welcome_email", 11 to: user.email, 12 vars: { first_name: user.first_name, trial_days: 14 }, 13 }); 14 15 return Response.json({ ok: true }); 16 }
Edit content, validate variables, publish versions, and keep live sends moving through the providers you already use.
Product updates subject, body, and CTA copy in the same place your sends already reference.
Engineering owns the trigger and variable contract, so every send still has the right fields.
Promote the approved version, track who changed what, and roll back without a deploy.
Your app calls the same slug while SenderKit resolves the channel, locale, and latest version.
Hi {{first_name}},
Your workspace is ready. You have {{trial_days}} days to test templates, previews, and delivery logs.
Your trial workspace is ready. Start with one template, then add locales and push variants.
Rich editor for product. Code editor for engineering. Same template, two views.
Every save is a version. Diff. Branch. Roll back to any point.
Email, SMS, push, web push. One API. One template store.
Type-safe SDKs for TypeScript, Python & PHP, a CLI for CI, a hosted MCP server, and a REST API for everything else.
Variants per locale. Auto-detection. Fallbacks. Live preview in any language.
Templates served from the edge. Cold-start sends in under 50ms.
Start free. No credit card. A built-in email sender works on day one — connect your own providers when you're ready.
By creating an account, you agree to our Terms.