Skip to main content

Replit + Dreamlit

Your Replit app is live. Users are signing up. Now you need to reach them: welcome emails, notifications, reminders. You could ask Replit’s AI to add email sending… but should you? Dreamlit takes a different approach. Tell it what you want in plain English, and it builds the email workflow for you. No SMTP configuration, no template wrangling, no webhook debugging. How it works: Dreamlit connects to your database and watches for changes.
  • Member joins → welcome email
  • Form submitted → confirmation sent
  • Milestone reached → celebration email
You write your app logic. Dreamlit handles the notifications.

Who this guide is for

  • Replit developers shipping apps that need transactional email
  • Vibe coders who want to ship notifications as fast as they ship features
  • Anyone on Replit who wants polished, branded emails without the infrastructure

Why can’t I just ask Replit to build email?

You could. Ask Replit’s AI to send a welcome email when someone signs up. It’ll wire up an email provider and write the integration code. But then:
  1. How do you preview that email with real user data before it goes out?
  2. How do you track who opened it? Who clicked?
  3. What happens when emails bounce?
  4. Are you setting up DKIM and SPF records for deliverability?
  5. What about retry logic when the provider has an outage?
  6. What about scheduled emails? Recurring digests? Drip sequences?
  7. After you’ve built a few workflows, how do you see how they’re all performing in one place?
  8. How do you iterate on email copy without redeploying?
Or just use Dreamlit and skip all of that. We handle it end-to-end.

Prerequisites

  • A Replit app with one of the following:
    • An external database like Supabase or Neon that you’ve explicitly connected (Replit doesn’t set these up by default; you would have prompted Replit to use one)
    • A legacy Replit database created before December 4, 2025 (see below for details)
  • 5 minutes

Does your Replit project have a compatible database?

Dreamlit needs direct database access to watch for changes and trigger emails. Here’s how to check if your project is set up correctly.

Using Supabase or another external database

If you’ve explicitly prompted Replit to connect your app to Supabase, Neon, Railway, or another external PostgreSQL database, you’re good to go. Skip ahead to Connect Dreamlit to your database.
Replit doesn’t use external databases by default. If you didn’t specifically ask for Supabase or another provider when building your app, you’re likely using Replit’s built-in database.

Using Replit’s built-in database

Replit offers a built-in PostgreSQL database, but its accessibility depends on when you created it.
You can use Dreamlit.Projects created before December 4, 2025 use a legacy Neon-hosted database with an accessible connection string.To check, look at your DATABASE_URL environment variable:
  • If it contains neon.tech/neondb, you have the legacy database and can connect to Dreamlit
  • If it contains helium/heliumdb, you have the newer restricted database (see next tab)
Keep your connection string private. The legacy DATABASE_URL grants full database access. Never share it publicly or commit it to version control.

Connect Dreamlit to your database

If your Replit project uses the legacy Neon-hosted database (created before December 4, 2025):
1

Create a Dreamlit account

Go to app.dreamlit.ai and sign up.
2

Get your connection string

In your Replit project, go to Secrets and copy your DATABASE_URL. It should contain neon.tech/neondb.
3

Connect in Dreamlit

Click Connect Postgres and paste your connection string. Follow the guided setup to grant Dreamlit the minimal permissions it needs.
For detailed setup instructions, see commands to set up your database user.

Example: Welcome email workflow

Let’s walk through creating a welcome email that sends when someone signs up.

Step 1: Create the workflow in Dreamlit

Click Create Workflow and describe what you want:
“Send a welcome email when a new user signs up”
The AI generates everything: the database trigger, email template, and copy.
AI generating a welcome email workflow

Step 2: Update your Replit app (if needed)

Here’s the key insight: Dreamlit watches your database, not your code. When a new row appears in your users table, Dreamlit sends the email automatically. If your Replit app already creates user records on signup, you’re done. No code changes needed. If you need to add a table for Dreamlit to watch, prompt your AI assistant:
“When a user signs up, add a row to the user_signups table with their email and name”
Or for something like order confirmations:
“When a user completes checkout, insert a row into the orders table with the order details”

Step 3: Preview and publish

Preview your email with real data from your database, then click Publish.

Prompting your AI to work with Dreamlit

Dreamlit triggers emails based on database changes. When building in Replit, focus on getting data into your database. Dreamlit handles the rest. Good prompts:
You want…Prompt with…
Welcome emails”Store new signups in a user_signups table”
Order confirmations”Insert order details into orders when checkout completes”
Comment notifications”Save comments to a comments table with the post_id and author”
Activity alerts”Log user actions to an activity table”
You don’t need to prompt about emails at all. Just make sure the data lands in your database, and Dreamlit takes it from there.

More workflow ideas

Looking for inspiration? Check out our use cases for example prompts across welcome emails, order confirmations, reminders, internal alerts, and more.

Send from your own domain

By default, emails send from Dreamlit’s domain. To send from your own domain (like [email protected]), you can set up a custom email domain in minutes.
1

Add your domain

Go to Settings → Email Domains and click Add domain. Enter your domain (we recommend a subdomain like mail.yourapp.com).
2

Verify automatically

Dreamlit can automatically configure your DNS records for you. Just click Verify with your DNS provider, sign in to your provider, and authorize the changes.
Automated DNS verification flow
If your DNS provider isn’t supported for automatic setup, you can add the records manually. Dreamlit shows you exactly what to add.
3

Start sending

Once verified, select your domain when creating email workflows. Your emails will now come from your own brand.
This improves deliverability and looks more professional to your users. Full domain setup guide →

FAQ

Replit’s newer database (created after December 4, 2025) is only accessible from within your app and isn’t exposed externally. Dreamlit needs direct database access to set up triggers and watch for changes. You’ll need to add an external database like Supabase.
Check your DATABASE_URL environment variable in Replit Secrets:
  • Contains neon.tech/neondb → Legacy database (works with Dreamlit)
  • Contains helium/heliumdb → New database (needs external database)
We hope so. Replit’s current approach prioritizes security by keeping the database internal. We’re hopeful they’ll add an option for external access in the future, but they haven’t announced any plans.
A few things to check:
  1. Is your workflow published? Saved workflows don’t run until you click Publish.
  2. Is the trigger table correct? Make sure it matches where your Replit app actually writes data.
  3. Is data being written? Check your database to confirm rows are being created.
  4. Try the preview. Use the preview to test with sample data and verify the workflow runs.
If you’re adding Supabase, yes, you’ll need to update your database calls. If you’re already using Supabase or have a legacy Replit database, usually no changes are needed. Dreamlit watches your database for changes, so if your app already writes the data you need, you’re all set.
Yes. Dreamlit connects to your database, not your Replit deployment. Deploy as often as you like. Your email workflows keep running.
Yes. Dreamlit supports Slack alongside email. Just describe what you want: “Notify our team on Slack when a new order comes in.” Learn more about Slack →
Use the preview feature to send test emails to yourself with real data from your database. Your workflow won’t email actual users until you publish it.
Dreamlit works alongside traditional email providers. Since we take a fundamentally different approach (database-driven, AI-generated workflows), you don’t need to migrate off your existing setup. Try Dreamlit for your next workflow and keep using your current provider for everything else.

You’re all set

Describe what you want. Dreamlit builds it. Now go ship your next workflow.

Appendix: Adding Supabase to your Replit app

If you need to add an external database, Supabase is the easiest option. Here’s how:
1

Create a Supabase project

Go to supabase.com and create a free project. Note your project URL and API keys.
2

Add environment variables to Replit

In your Replit project, go to Secrets (the lock icon) and add:
  • SUPABASE_URL: Your Supabase project URL
  • SUPABASE_ANON_KEY: Your Supabase anon/public key
  • DATABASE_URL: Your Supabase connection string (found in Project Settings → Database)
3

Update your app to use Supabase

Replace your database calls with Supabase. If you’re using AI to build your app, prompt it:
“Replace the Replit database with Supabase. Use the SUPABASE_URL and SUPABASE_ANON_KEY environment variables.”
Or if you prefer direct Postgres:
“Connect to Postgres using the DATABASE_URL environment variable instead of the Replit database.”
Once your app uses Supabase, return to Connect Dreamlit to your database to finish setup.