
Who this guide is for
- Supabase users who need production-ready auth emails
- Vibe coders using Lovable, Bolt, or Cursor who want professional emails without the complexity
- Anyone frustrated with Supabase’s default email templates
What you’ll set up
- 6 auth email workflows: password reset, magic link, email confirmation, invite, email change, and reauthentication
- Branded templates with your logo, colors, and tone of voice
- Production-ready email delivery that works at scale
You can customize colors, logos, and tone of voice with Brand Kits.
Prerequisites
- A Supabase project using Supabase Auth
- 5 minutes
New to Dreamlit?
Create a Dreamlit account
Go to app.dreamlit.ai and sign up.
Connect your Supabase project
During onboarding, click Connect Supabase and authorize the connection.

Enable Supabase Auth emails
After connecting, you’ll be prompted to set up auth emails. Click Setup Supabase Auth.This creates 6 workflows (password reset, magic link, confirm email, etc.) with branded templates. What this does →

You're all set!
Your auth emails are now live. See Testing your setup below to verify everything works.
Existing Dreamlit users
Open your connection settings
Go to Settings → Database Connections and click on your Supabase connection.
Enable Supabase Auth emails
Click Setup Supabase Auth.This creates 6 workflows (password reset, magic link, confirm email, etc.) with branded templates. What this does →
You're all set!
Your auth emails are now live. See Testing your setup below to verify everything works.
Testing your setup
Once your auth emails are configured, verify they’re working:- Trigger a password reset from your app—call
supabase.auth.resetPasswordForEmail()or use your app’s “Forgot Password” flow - Check your inbox within a few seconds for a branded email
- Verify the link works by clicking through to reset your password
FAQ
Why aren't my emails arriving?
Why aren't my emails arriving?
- Check spam/junk folders: New sender domains sometimes get filtered initially
- Verify the connection is active in Settings → Database Connections
- Make sure you’re calling the right Supabase method—auth emails only trigger from Supabase Auth API calls, not database changes
Why am I still receiving old Supabase templates?
Why am I still receiving old Supabase templates?
First, check that Supabase Auth is connected: go to Settings → Database Connections and look for the “Supabase Auth” badge on your connection. If it’s missing, click the connection and run Setup Supabase Auth again.If the badge is there but you’re still getting old templates, the Auth Hook may not be configured correctly in Supabase. Go to your Supabase dashboard → Authentication → Hooks and verify Dreamlit’s hook is enabled.
Why aren't my auth links working?
Why aren't my auth links working?
If password reset or magic link emails arrive but the links don’t work as expected—especially if clicking the link on a different device than where you requested it—this is likely related to Supabase’s PKCE vs implicit auth flow.Quick fix: Make sure you’re clicking the auth link on the same device/browser where you initiated the request.For a permanent fix, you can either configure PKCE properly or switch to the implicit flow (which doesn’t have the same-device requirement). See Supabase’s guide on email auth with PKCE for details on both options.
Can I customize individual email templates?
Can I customize individual email templates?
Yes. Each auth email has its own workflow in Dreamlit. Open the workflow, click on the email step, and edit the template directly or ask the AI to make changes for you.
Sending from your own domain
By default, auth emails send from Dreamlit’s domain. Want to send from your own domain (like[email protected])? Set up your email domain.