Guide users from sign-up to long-term value.
Turn product events into timely onboarding, account, billing, and retention messages, without building a separate delivery stack for every channel.

14,000+ developers and product teams rely on Sent for messaging
Commerce moves fast. Customer messaging often does not.
A missed setup step, an unseen billing alert, or an unclear security message can interrupt the product journey before the user reaches value.
Onboarding momentum disappears
New users often leave before setup is complete or before they reach the first meaningful outcome in the product.
Critical account messages blend into noise
Password resets, login alerts, and billing issues cannot compete with newsletters and product announcements in the same undifferentiated stream.
Churn signals go unanswered
Falling usage, failed payments, and approaching renewals are visible in product data but rarely become useful customer communication quickly enough.
Meet Sent: product events become the next useful message.
Your application decides what happened and what the user should do next. Sent handles the reusable template, contact reachability, channel delivery, and status event.

Keep the product journey moving at every stage.
The large cards address activation and account-critical communication. The compact cards cover adoption, revenue protection, and retention.

Move new users to first value
Trigger welcome, setup, and milestone messages from real product events. Each message should return the user to the next incomplete action, not a generic dashboard.

Keep account-critical moments unmistakable
Deliver verification codes, password resets, security alerts, and service notices through a path designed for urgency and visibility.
Nudge feature adoption
Use role, plan, and product behavior from your own systems to introduce the next relevant feature.
Make billing and renewals visible
Send payment failures, trial expiry, renewal reminders, and plan-change confirmations with a clear next step.
Re-engage before users disappear
Trigger a focused win-back message from inactivity or declining usage instead of adding the user to another broad campaign.
Make lifecycle messaging part of the product, not a parallel system.

Turn product events into messageable moments
Call Sent from your backend when a meaningful lifecycle event occurs. Reusable templates keep the message structure stable while your application supplies the user, account, plan, and action data.
Keep delivery state inside your product operations
Use message IDs and signed webhooks to update the user record, trigger a support task, or stop a sequence when delivery fails or the user replies.

Protect the account experience as the product scales.
Give security, billing, lifecycle, and promotional messages distinct templates, consent logic, and sending rules.
Verify webhook signatures and use idempotency keys so retries do not create duplicate downstream actions.
Keep credentials, templates, and sending rules separate per environment so a change in development can never reach a real customer.

Frequently asked questions
Anything your backend knows about: sign-up, setup milestones, verification, password reset, failed payment, trial expiry, renewal, inactivity. You call Sent when the event happens.
No. Your systems decide what happened and what the user should do next. Sent carries the message and returns what happened to it.
Yes. Templates take variables from your application, so a message can return the user to the exact incomplete action rather than a generic dashboard.
Yes. Transactional and marketing intent are kept apart, each with its own templates, consent logic, and sending rules.
Idempotency keys on mutation requests mean a retried call is recognised rather than replayed, so a repeated event does not send twice.
Yes. Inbound replies come back as events, so a reply can stop a sequence, open a support task, or update the user record.
Every message returns queued, sent, delivered, failed, and read states where the channel supports them, each against a message ID you can store on the user.
Yes. Credentials, templates, and sending rules are separate per environment, so a development send can never reach a customer.
Keep it separate from required account communication. Sent checks consent before a marketing send and honours an opt-out across every channel.
Yes. One integration can carry several products, each with its own sender profile and template set, so the message still looks like the product it came from.
One API. Every channel.
Contact Sales
