Skip to main content
Notifying your users at the right time with the right message can make all the difference for the user experience. Dreamlit makes this easy—just describe what you want in plain English.

Get personalized suggestions

Dreamlit understands what you’ve built. It looks at your database structure—your tables, columns, and relationships—and suggests workflows that actually make sense for your app. Not generic templates, but ideas tailored to how your app is designed.
Prompt suggestions in Dreamlit
See a suggestion you like? Click it. Want more ideas? Refresh to generate new ones. Or start from scratch—just describe what you want in plain English. Dreamlit builds the entire workflow for you: the database trigger, email template, and copy. Then it handles the sending, delivery, and analytics. You describe it, Dreamlit does the rest.

Workflow examples

User auth emails

Password resets, email verification, magic links, and welcome messages.Try prompting:
  • “Send a password reset email when requested”
  • “Send a magic link when a user tries to log in”
  • “Send an email verification when someone signs up”
Using Supabase Auth? Supabase’s default auth email service is not built for production. With just a few clicks you can productionize your Supabase auth emails. Set up Supabase Auth emails →

General app notifications

Bring your users back to your app with updates about their account activity and important alerts.Try prompting:
  • “Notify authors when someone comments on their post”
  • “Send an email when a user gets a new follower”
  • “Email customers when their order ships”
  • “Send a receipt when a payment is received”
  • “Notify users when their task is completed”

Recurring emails and reminders

Set up recurring emails, reminders, and digests.Try prompting:
  • “Send a weekly digest every Monday”
  • “Remind users 3 days before their trial ends”
  • “Send a subscription renewal reminder 7 days before expiration”
  • “Send a monthly usage report on the first of each month”
  • “Remind users about incomplete actions after 24 hours”

Onboarding sequences

Guide users through their entire journey with targeted messaging at each stage.Try prompting:
  • “Send a welcome email when someone signs up”
  • “Send a getting started guide 1 day after signup”
  • “Congratulate users when they complete onboarding”
  • “Send a re-engagement email to users who haven’t logged in for 7 days”

Transactional emails

Order confirmations, receipts, and status updates.Try prompting:
  • “Send an order confirmation when a purchase is made”
  • “Email customers when their order ships”
  • “Send a receipt when a payment is processed”
  • “Notify users when their refund is complete”

Internal notifications

Keep you and your team informed about critical events. Get instant alerts via email or Slack when important activities occur in your app.Try prompting:
  • “Notify our team on Slack when a new user signs up”
  • “Send a Slack alert when a payment fails”
  • “Email me when someone submits the contact form”
  • “Alert the team when a high-value order comes in”

One-off broadcasts

Send targeted emails to specific user segments—launch announcements, promotional offers, or important updates.Try prompting:
  • “Announce our new feature to all users”
  • “Send a special offer to users who signed up last month”
  • “Notify affected users about scheduled maintenance”
Learn more about broadcasts.

Pro tip: Rethink recurring notifications as transactional

Skip cron jobs that wake up, query, and send on a schedule. Model them as transactional workflows with a wait step—easier to reason about and test, with reliable timing handled by Dreamlit. Here are two common patterns:

Invitation follow-up notifications

Suppose you want to send a follow-up to users who haven’t responded to an invitation:
  1. Trigger — on save of an invitation row
  2. Wait — 24 hours
  3. Query — filter out the row if the invitation has been accepted
  4. Notify — send follow-up email

Subscription reminders

Let’s say you want to send a reminder to users a day before their subscription expires. You have a table subscription with an expires_at column:
  1. Trigger — on save of a subscription row. On the trigger, .
  2. Query — filter out the row if there is no expiration date (i.e., the subscription is active)
  3. Wait — 1 day before expiration specified in that row
  4. Notify — send reminder email
Note that since “Invalidate in-flight” is set to true, if there’s some change to the subscription, like if the user goes in and renews the subscription, it’ll rerun the workflow for that row and not send a reminder.
Why this works: Simple, testable workflows—Dreamlit handles scheduling and delivery.