You shipped your Bolt.new app in an afternoon. Notifications shouldn’t take longer than the app itself.Dreamlit securely connects to your Supabase database and reacts to changes in real time. Your app writes data; Dreamlit sends the email.
Payment processed → receipt sent
User invited → invite email
Error logged → team alert
No SMTP configs, no HTML templates, no deliverability settings to manage.
Good news: Supabase was the default database for older Bolt.new projects. Your project likely already has Supabase connected. You can verify by clicking the database icon in your project or going to Project Settings.
Newer Bolt.new projects use “Bolt databases” by default. If you chose Supabase during initial setup, you’re good to go. If not, you can claim your Bolt database to get direct Supabase access.
Here’s an example: setting up a welcome email that sends when someone signs up. You can use this pattern for any workflow where you record data in your database.
Here’s the key insight: Dreamlit securely connects to your database and reacts to changes, not your code. When a new row appears in your users or auth.users table, Dreamlit sends the email automatically.
If you’re using Supabase Auth, users are automatically added to the auth.users table when they sign up. No extra table needed.
If your Bolt.new app already creates user records on signup, you’re done. No code changes needed.If you need to add a field or table for Dreamlit to use as a trigger, prompt Bolt:
“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”
Dreamlit triggers emails based on database changes. When prompting Bolt.new, focus on getting data into your database. Dreamlit handles the rest.Good prompts for Bolt.new:
You want…
Prompt Bolt.new 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 Bolt.new about emails at all. Just make sure the data lands in your database, and Dreamlit takes it from there.
Any workflow that triggers on a database change. Check out our use cases for example prompts across welcome emails, order confirmations, reminders, internal alerts, and more.
By default, emails send from Dreamlit’s domain. To send from your own domain (like hello@yourapp.com), 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.
Automatic DNS setup, no manual records needed
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.
Usually no. Dreamlit reacts to database changes, so if your app already writes the data you need, you’re all set. If you need to track something new (like order completions), just prompt Bolt.new to add the database write.
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.
What if I’m already using Resend, SendGrid, or another email provider?
Dreamlit works alongside traditional email providers. Since Dreamlit takes 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Dreamlit AI","colors":{"primary":"#211F26","light":"#FFFFFF","dark":"#211F26"},"logo":{"light":"https://mintcdn.com/notikaai/5oYlSr6CYnDtP1nH/logo/logo.svg?fit=max\u0026auto=format\u0026n=5oYlSr6CYnDtP1nH\u0026q=85\u0026s=6a42bf3e0ba53bffd9f71388b245160d","dark":"https://mintcdn.com/notikaai/5oYlSr6CYnDtP1nH/logo/logowhite.svg?fit=max\u0026auto=format\u0026n=5oYlSr6CYnDtP1nH\u0026q=85\u0026s=4ad6a9428edeca551e0861c8feeb4d5c"},"favicon":"https://mintcdn.com/notikaai/5oYlSr6CYnDtP1nH/favicon.svg?fit=max\u0026auto=format\u0026n=5oYlSr6CYnDtP1nH\u0026q=85\u0026s=900c3dce9e6121983352a882067426f0","navbar":{"links":[{"href":"mailto:support@dreamlit.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.dreamlit.ai"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/dreamlit-ai"}},"seo":{"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-HEMM1933Q9"},"posthog":{"apiKey":"phc_1AsHWVve9XKNlHmx3SMiEwnIy0fxwNbRYnR8lEHoEaz"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity",{"title":"llms.txt","description":"Short LLM-readable index for Dreamlit docs and product pages.","href":"/llms.txt"},{"title":"llms-full.txt","description":"Full LLM-readable canonical URL inventory.","href":"/llms-full.txt"}],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"notikaai","hasAudioNarration":false,"actualSubdomain":"notikaai","customDomains":["dreamlit.ai"],"gitSource":{"type":"github","owner":"dreamlit-ai","repo":"webapp","deployBranch":"prod","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":true},"entitlements":{},"buildId":"6af21f1772ceb183dca289bf","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Dreamlit Engine (Legacy)","count":59},{"language":"default","tag":"MCP","count":15},{"language":"default","tag":"Quick Start","count":14},{"language":"default","tag":"Learning Center","count":11},{"language":"default","tag":"Configuration","count":8},{"language":"default","tag":"Dreamlit","count":8},{"language":"default","tag":"Resources","count":8},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Step types","count":7},{"language":"default","tag":"Get Started","count":5}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/bolt-email","slug":"/guides/bolt-email","pageMetadata":{"title":"Bolt.new Email: Send Notifications Without the Infrastructure","sidebarTitle":"Bolt.new Apps","description":"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.","icon":"bold","href":"/guides/bolt-email"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`how-do-i-add-email-to-my-bolt-new-app`,children:`How do I add email to my Bolt.new app?`}),`\n`,_jsxs(_components.p,{children:[`You shipped your `,_jsx(_components.a,{href:`https://bolt.new`,children:`Bolt.new`}),` app in an afternoon. Notifications shouldn’t take longer than the app itself.`]}),`\n`,_jsx(_components.p,{children:`Dreamlit securely connects to your Supabase database and reacts to changes in real time. Your app writes data; Dreamlit sends the email.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Payment processed → receipt sent`}),`\n`,_jsx(_components.li,{children:`User invited → invite email`}),`\n`,_jsx(_components.li,{children:`Error logged → team alert`}),`\n`]}),`\n`,_jsx(_components.p,{children:`No SMTP configs, no HTML templates, no deliverability settings to manage.`}),`\n`,_jsx(`p`,{align:`center`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=ae508e815ca0f5cd0255f983f875e20f`,alt:`Bolt.new + Dreamlit`,style:{borderRadius:`12px`,maxHeight:`300px`},\"data-og-width\":`762`,width:`762`,\"data-og-height\":`501`,height:`501`,\"data-path\":`images/bolt-dreamlit.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=280\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=ce411103bd057d09cb29b551939fca03 280w, https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=560\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=4b47bb153f25c06f48995778a7e812ee 560w, https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=840\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=d127183bba3c34d8d7e2c9c8251b6c38 840w, https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=1100\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=5daede3c536cc1bb49db68318eadc031 1100w, https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=1650\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=9bd982d07f49a334c3a312808b136a80 1650w, https://mintcdn.com/notikaai/wuvzYb2ciQhPlcnS/images/bolt-dreamlit.png?w=2500\u0026fit=max\u0026auto=format\u0026n=wuvzYb2ciQhPlcnS\u0026q=85\u0026s=959919d4c5d2c2d892e7945304f32a67 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`who-is-this-guide-for`,children:`Who is this guide for?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Bolt.new builders`}),` who need transactional email without slowing down`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Vibe coders`}),` who want to ship notifications as fast as they ship features`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Anyone on Bolt.new + Supabase`}),` looking for professional, on-brand emails`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`why-use-dreamlit-instead-of-building-email-in-bolt-new`,children:`Why use Dreamlit instead of building email in Bolt.new?`}),`\n`,_jsx(_components.p,{children:`You could prompt Bolt.new to wire up Resend or SendGrid. It’ll generate the integration code. But then:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`How do you preview that email with real user data before it goes out?`}),`\n`,_jsx(_components.li,{children:`How do you track who opened it? Who clicked?`}),`\n`,_jsx(_components.li,{children:`What happens when emails bounce?`}),`\n`,_jsx(_components.li,{children:`Are you setting up DKIM and SPF records for deliverability?`}),`\n`,_jsx(_components.li,{children:`What about retry logic when the provider has an outage?`}),`\n`,_jsx(_components.li,{children:`What about scheduled emails? Recurring digests? Drip sequences?`}),`\n`,_jsx(_components.li,{children:`After you’ve built a few workflows, how do you see how they’re all performing in one place?`}),`\n`,_jsx(_components.li,{children:`How do you let non-technical teammates edit email copy without touching code?`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Or just use Dreamlit and skip all of that. We handle it end-to-end.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-do-i-need-before-starting`,children:`What do I need before starting?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A Bolt.new app using `,_jsx(_components.strong,{children:`Supabase`}),` for the database`]}),`\n`,_jsx(_components.li,{children:`5 minutes`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`does-my-bolt-new-project-use-supabase`,children:`Does my Bolt.new project use Supabase?`}),`\n`,_jsx(_components.p,{children:`Dreamlit securely connects to your Supabase database and uses changes as triggers for emails. Here’s how to check if your project is set up correctly.`}),`\n`,_jsx(Heading,{level:`3`,id:`projects-created-before-september-30-2025`,children:`Projects created before September 30, 2025`}),`\n`,_jsxs(_components.p,{children:[`Good news: Supabase was the default database for older Bolt.new projects. Your project likely already has Supabase connected. You can verify by clicking the database icon in your project or going to `,_jsx(_components.strong,{children:`Project Settings`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`projects-created-after-september-30-2025`,children:`Projects created after September 30, 2025`}),`\n`,_jsxs(_components.p,{children:[`Newer Bolt.new projects use “Bolt databases” by default. If you chose Supabase during initial setup, you’re good to go. If not, you can `,_jsx(_components.a,{href:`https://support.bolt.new/integrations/supabase#claim-your-bolt-database-in-supabase`,children:_jsx(_components.strong,{children:`claim your Bolt database`})}),` to get direct Supabase access.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-do-i-connect-dreamlit-to-my-supabase`,children:`How do I connect Dreamlit to my Supabase?`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Create a Dreamlit account`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.a,{href:`https://app.dreamlit.ai`,children:`app.dreamlit.ai`}),` and sign up.`]})}),_jsxs(Step,{title:`Connect your Supabase project`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Connect Supabase`}),` and authorize the connection. This connects to the same Supabase project your Bolt.new app uses.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/notikaai/adckcWobFeOatSLI/images/supabaseconnect.gif?s=fae094684d1c16f9d6ba024157359ea0`,alt:`Connecting Supabase via OAuth`,\"data-og-width\":`1408`,width:`1408`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/supabaseconnect.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`That’s it. 2 clicks and you’re connected.`}),` Dreamlit is now connected to your database and you’re ready to create workflows.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Need auth emails?`}),` (password reset, magic links, email verification) Check out our `,_jsx(_components.a,{href:`/guides/supabase-auth-emails`,children:`Supabase Auth Emails guide`}),` for one-click setup.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-do-i-create-my-first-email-workflow`,children:`How do I create my first email workflow?`}),`\n`,_jsx(_components.p,{children:`Here’s an example: setting up a welcome email that sends when someone signs up. You can use this pattern for any workflow where you record data in your database.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-the-workflow-in-dreamlit`,children:`Step 1: Create the workflow in Dreamlit`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create Workflow`}),` and describe what you want:`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`“Send a welcome email when a new user signs up”`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The AI generates everything: the database trigger, email template, and copy.`}),`\n`,_jsx(Frame,{caption:`The AI generates your workflow automatically`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/notikaai/ND5vtH9yB3HGk0VQ/images/new-workflow.gif?s=cf7aaa6638f6349bb3e9cf79f7512383`,alt:`AI generating a welcome email workflow`,\"data-og-width\":`1784`,width:`1784`,\"data-og-height\":`720`,height:`720`,\"data-path\":`images/new-workflow.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-update-your-bolt-new-app-if-needed`,children:`Step 2: Update your Bolt.new app (if needed)`}),`\n`,_jsxs(_components.p,{children:[`Here’s the key insight: `,_jsx(_components.strong,{children:`Dreamlit securely connects to your database and reacts to changes, not your code.`}),` When a new row appears in your `,_jsx(_components.code,{children:`users`}),` or `,_jsx(_components.code,{children:`auth.users`}),` table, Dreamlit sends the email automatically.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you’re using Supabase Auth, users are automatically added to the `,_jsx(_components.code,{children:`auth.users`}),` table when they sign up. No extra table needed.`]})}),`\n`,_jsx(_components.p,{children:`If your Bolt.new app already creates user records on signup, you’re done. No code changes needed.`}),`\n`,_jsx(_components.p,{children:`If you need to add a field or table for Dreamlit to use as a trigger, prompt Bolt:`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`“When a user signs up, add a row to the `,_jsx(_components.code,{children:`user_signups`}),` table with their email and name”`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Or for something like order confirmations:`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`“When a user completes checkout, insert a row into the `,_jsx(_components.code,{children:`orders`}),` table with the order details”`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-preview-and-publish`,children:`Step 3: Preview and publish`}),`\n`,_jsxs(_components.p,{children:[`Preview your email with real data from your database, then click `,_jsx(_components.strong,{children:`Publish`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-does-bolt-new-work-with-dreamlit`,children:`How does Bolt.new work with Dreamlit?`}),`\n`,_jsx(_components.p,{children:`Dreamlit triggers emails based on database changes. When prompting Bolt.new, focus on getting data into your database. Dreamlit handles the rest.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Good prompts for Bolt.new:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`You want…`}),_jsx(_components.th,{children:`Prompt Bolt.new with…`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Welcome emails`}),_jsxs(_components.td,{children:[`”Store new signups in a `,_jsx(_components.code,{children:`user_signups`}),` table”`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Order confirmations`}),_jsxs(_components.td,{children:[`”Insert order details into `,_jsx(_components.code,{children:`orders`}),` when checkout completes”`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Comment notifications`}),_jsxs(_components.td,{children:[`”Save comments to a `,_jsx(_components.code,{children:`comments`}),` table with the post_id and author”`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Activity alerts`}),_jsxs(_components.td,{children:[`”Log user actions to an `,_jsx(_components.code,{children:`activity`}),` table”`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You don’t need to prompt Bolt.new about emails at all.`}),` Just make sure the data lands in your database, and Dreamlit takes it from there.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`what-other-workflows-can-i-build`,children:`What other workflows can I build?`}),`\n`,_jsxs(_components.p,{children:[`Any workflow that triggers on a database change. Check out our `,_jsx(_components.a,{href:`/getting-started/use-cases`,children:`use cases`}),` for example prompts across welcome emails, order confirmations, reminders, internal alerts, and more.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-do-i-send-from-my-own-domain`,children:`How do I send from my own domain?`}),`\n`,_jsxs(_components.p,{children:[`By default, emails send from Dreamlit’s domain. To send from your own domain (like `,_jsx(_components.code,{children:`hello@yourapp.com`}),`), set up a custom email domain in minutes.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add your domain`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings → Email Domains`}),` and click `,_jsx(_components.strong,{children:`Add domain`}),`. Enter your domain (we recommend a subdomain like `,_jsx(_components.code,{children:`mail.yourapp.com`}),`).`]})}),_jsxs(Step,{title:`Verify automatically`,children:[_jsxs(_components.p,{children:[`Dreamlit can automatically configure your DNS records for you. Just click `,_jsx(_components.strong,{children:`Verify with your DNS provider`}),`, sign in to your provider, and authorize the changes.`]}),_jsx(Frame,{caption:`Automatic DNS setup, no manual records needed`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/notikaai/ND5vtH9yB3HGk0VQ/images/auto-dns.gif?s=ce1cca7fadcd17e41cb37a8fdce2753d`,alt:`Automated DNS verification flow`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`720`,height:`720`,\"data-path\":`images/auto-dns.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})}),_jsx(Tip,{children:_jsx(_components.p,{children:`If your DNS provider isn’t supported for automatic setup, you can add the records manually. Dreamlit shows you exactly what to add.`})})]}),_jsx(Step,{title:`Start sending`,children:_jsx(_components.p,{children:`Once verified, select your domain when creating email workflows. Your emails will now come from your own brand.`})})]}),`\n`,_jsxs(_components.p,{children:[`This improves deliverability and looks more professional to your users. `,_jsx(_components.a,{href:`/configuration/email/custom-domain`,children:`Full domain setup guide →`})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`what-if-my-project-uses-a-bolt-database-instead-of-supabase`,children:`What if my project uses a Bolt database instead of Supabase?`}),`\n`,_jsxs(_components.p,{children:[`You can `,_jsx(_components.a,{href:`https://support.bolt.new/integrations/supabase#claim-your-bolt-database-in-supabase`,children:_jsx(_components.strong,{children:`claim your Bolt database`})}),` to get direct Supabase access, then connect that to Dreamlit.`]}),`\n`,_jsx(Heading,{level:`3`,id:`why-aren’t-my-emails-sending`,children:`Why aren’t my emails sending?`}),`\n`,_jsx(_components.p,{children:`A few things to check:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Is your workflow published?`}),` Saved workflows don’t run until you click Publish.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Is the trigger table correct?`}),` Bolt.new might name tables differently than you expect. Check your `,_jsx(_components.a,{href:`https://supabase.com/dashboard`,children:`Supabase dashboard`}),` to see the actual table names.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Is data being written?`}),` Check your Supabase dashboard to confirm rows are being created when users take actions.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Try the preview.`}),` Use the preview to test with sample data and verify the workflow runs.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`do-i-need-to-change-my-bolt-new-app-code`,children:`Do I need to change my Bolt.new app code?`}),`\n`,_jsx(_components.p,{children:`Usually no. Dreamlit reacts to database changes, so if your app already writes the data you need, you’re all set. If you need to track something new (like order completions), just prompt Bolt.new to add the database write.`}),`\n`,_jsx(Heading,{level:`3`,id:`will-my-emails-keep-working-if-i-redeploy-my-bolt-new-app`,children:`Will my emails keep working if I redeploy my Bolt.new app?`}),`\n`,_jsx(_components.p,{children:`Yes. Dreamlit connects to your Supabase database, not your Bolt.new deployment. Redeploy as often as you like. Your email workflows keep running.`}),`\n`,_jsx(Heading,{level:`3`,id:`can-i-send-slack-notifications-too`,children:`Can I send Slack notifications too?`}),`\n`,_jsxs(_components.p,{children:[`Yes. Dreamlit supports Slack alongside email. Just describe what you want: “Notify our team on Slack when a new order comes in.” `,_jsx(_components.a,{href:`/configuration/slack`,children:`Learn more about Slack →`})]}),`\n`,_jsx(Heading,{level:`3`,id:`how-do-i-test-without-emailing-real-users`,children:`How do I test without emailing real users?`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`what-if-i’m-already-using-resend-sendgrid-or-another-email-provider`,children:`What if I’m already using Resend, SendGrid, or another email provider?`}),`\n`,_jsx(_components.p,{children:`Dreamlit works alongside traditional email providers. Since Dreamlit takes 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.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Supabase Auth emails`,icon:`shield-keyhole`,href:`/guides/supabase-auth-emails`,children:_jsx(_components.p,{children:`Set up password reset, magic links, and more`})}),_jsx(Card,{title:`Email domain setup`,icon:`at`,href:`/configuration/email/custom-domain`,children:_jsx(_components.p,{children:`Send from your own domain`})}),_jsx(Card,{title:`Use cases`,icon:`lightbulb`,href:`/getting-started/use-cases`,children:_jsx(_components.p,{children:`More workflow examples`})}),_jsx(Card,{title:`Get support`,icon:`headset`,href:`/resources/getting-support`,children:_jsx(_components.p,{children:`We’re here to help`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`references`,children:`References`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://support.bolt.new/integrations/supabase`,children:`Bolt.new Supabase integration`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://support.bolt.new/integrations/supabase#claim-your-bolt-database-in-supabase`,children:`Claiming your Bolt database in Supabase`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://supabase.com/docs/guides/auth/auth-smtp`,children:`Supabase Auth SMTP docs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/getting-started/use-cases`,children:`Dreamlit use cases`})}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.p,{children:`Last validated: 2026-04-12`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Bolt.new Email: Send Notifications Without the Infrastructure","sidebarTitle":"Bolt.new Apps","description":"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.","icon":"bold","href":"/guides/bolt-email"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How do I add email to my Bolt.new app?","slug":"how-do-i-add-email-to-my-bolt-new-app","depth":2,"children":[]},{"title":"Who is this guide for?","slug":"who-is-this-guide-for","depth":2,"children":[]},{"title":"Why use Dreamlit instead of building email in Bolt.new?","slug":"why-use-dreamlit-instead-of-building-email-in-bolt-new","depth":2,"children":[]},{"title":"What do I need before starting?","slug":"what-do-i-need-before-starting","depth":2,"children":[]},{"title":"Does my Bolt.new project use Supabase?","slug":"does-my-bolt-new-project-use-supabase","depth":2,"children":[{"title":"Projects created before September 30, 2025","slug":"projects-created-before-september-30-2025","depth":3,"children":[]},{"title":"Projects created after September 30, 2025","slug":"projects-created-after-september-30-2025","depth":3,"children":[]}]},{"title":"How do I connect Dreamlit to my Supabase?","slug":"how-do-i-connect-dreamlit-to-my-supabase","depth":2,"children":[]},{"title":"How do I create my first email workflow?","slug":"how-do-i-create-my-first-email-workflow","depth":2,"children":[{"title":"Step 1: Create the workflow in Dreamlit","slug":"step-1-create-the-workflow-in-dreamlit","depth":3,"children":[]},{"title":"Step 2: Update your Bolt.new app (if needed)","slug":"step-2-update-your-bolt-new-app-if-needed","depth":3,"children":[]},{"title":"Step 3: Preview and publish","slug":"step-3-preview-and-publish","depth":3,"children":[]}]},{"title":"How does Bolt.new work with Dreamlit?","slug":"how-does-bolt-new-work-with-dreamlit","depth":2,"children":[]},{"title":"What other workflows can I build?","slug":"what-other-workflows-can-i-build","depth":2,"children":[]},{"title":"How do I send from my own domain?","slug":"how-do-i-send-from-my-own-domain","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"What if my project uses a Bolt database instead of Supabase?","slug":"what-if-my-project-uses-a-bolt-database-instead-of-supabase","depth":3,"children":[]},{"title":"Why aren’t my emails sending?","slug":"why-aren’t-my-emails-sending","depth":3,"children":[]},{"title":"Do I need to change my Bolt.new app code?","slug":"do-i-need-to-change-my-bolt-new-app-code","depth":3,"children":[]},{"title":"Will my emails keep working if I redeploy my Bolt.new app?","slug":"will-my-emails-keep-working-if-i-redeploy-my-bolt-new-app","depth":3,"children":[]},{"title":"Can I send Slack notifications too?","slug":"can-i-send-slack-notifications-too","depth":3,"children":[]},{"title":"How do I test without emailing real users?","slug":"how-do-i-test-without-emailing-real-users","depth":3,"children":[]},{"title":"What if I’m already using Resend, SendGrid, or another email provider?","slug":"what-if-i’m-already-using-resend-sendgrid-or-another-email-provider","depth":3,"children":[]}]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]},{"title":"References","slug":"references","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"notikaai","siteName":"Dreamlit AI","title":"Bolt.new Email: Send Notifications Without the Infrastructure - Dreamlit AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-17T07:06:54.569Z","originalFileLocation":"guides/bolt-email.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dreamlit AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bolt.new Email: Send Notifications Without the Infrastructure - Dreamlit AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dreamlit AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://dreamlit.ai/docs/guides/bolt-email\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://notikaai.mintlify.site/docs/_mintlify/api/og/v2?division=Guides\u0026amp;title=Bolt.new+Email%3A+Send+Notifications+Without+the+Infrastructure\u0026amp;description=Add+email+to+your+Bolt.new+app+in+minutes.+Describe+what+you+want+in+plain+English%2C+and+Dreamlit+builds+the+workflow.\u0026amp;theme=cd9765a2269f5674b365d03b\u0026amp;signature=1e562a21b5367f506e27870b589d62096bfbb66c54881e2d055c6e0ab46844e0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Bolt.new Email: Send Notifications Without the Infrastructure - Dreamlit AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://notikaai.mintlify.site/docs/_mintlify/api/og/v2?division=Guides\u0026amp;title=Bolt.new+Email%3A+Send+Notifications+Without+the+Infrastructure\u0026amp;description=Add+email+to+your+Bolt.new+app+in+minutes.+Describe+what+you+want+in+plain+English%2C+and+Dreamlit+builds+the+workflow.\u0026amp;theme=cd9765a2269f5674b365d03b\u0026amp;signature=1e562a21b5367f506e27870b589d62096bfbb66c54881e2d055c6e0ab46844e0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/notikaai/HoOX77VHSfRwGtal/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dreamlit AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#211F26\">\u003clink data-mint-head rel=\"canonical\" href=\"https://dreamlit.ai/docs/guides/bolt-email\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/bolt-email.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://dreamlit.ai/#organization\",\"name\":\"Dreamlit AI\",\"url\":\"https://dreamlit.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/notikaai/5oYlSr6CYnDtP1nH/logo/logo.svg?fit=max\u0026auto=format\u0026n=5oYlSr6CYnDtP1nH\u0026q=85\u0026s=6a42bf3e0ba53bffd9f71388b245160d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://dreamlit.ai/docs#website\",\"name\":\"Dreamlit AI\",\"url\":\"https://dreamlit.ai/docs\",\"publisher\":{\"@id\":\"https://dreamlit.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://dreamlit.ai/docs/guides/bolt-email#webpage\",\"url\":\"https://dreamlit.ai/docs/guides/bolt-email\",\"name\":\"Bolt.new Email: Send Notifications Without the Infrastructure\",\"description\":\"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\",\"dateModified\":\"2026-08-17T07:06:54.569Z\",\"isPartOf\":{\"@id\":\"https://dreamlit.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://dreamlit.ai/docs/guides/bolt-email#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://dreamlit.ai/docs/guides/bolt-email#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://dreamlit.ai/docs/guides/supabase-auth-emails\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bolt.new Email: Send Notifications Without the Infrastructure\",\"item\":\"https://dreamlit.ai/docs/guides/bolt-email\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://dreamlit.ai/docs/guides/bolt-email#article\",\"headline\":\"Bolt.new Email: Send Notifications Without the Infrastructure\",\"name\":\"Bolt.new Email: Send Notifications Without the Infrastructure\",\"description\":\"Add email to your Bolt.new app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.\",\"url\":\"https://dreamlit.ai/docs/guides/bolt-email\",\"mainEntityOfPage\":{\"@id\":\"https://dreamlit.ai/docs/guides/bolt-email#webpage\"},\"dateModified\":\"2026-08-17T07:06:54.569Z\",\"publisher\":{\"@id\":\"https://dreamlit.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://dreamlit.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dreamlit AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Dreamlit AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/guides/bolt-email.md","siteName":"Dreamlit AI","nav":{"global":null,"tabs":[{"tab":"Dreamlit","icon":"rocket","pages":[{"title":"Dreamlit","href":"/introduction"}]},{"tab":"Dreamlit Engine (Legacy)","icon":"gears","groups":[{"group":"Get Started","pages":[{"title":"Dreamlit Engine","icon":"book-open","href":"/getting-started/introduction"},{"title":"Use cases","icon":"lightbulb","href":"/getting-started/use-cases"},{"title":"How it works","icon":"gears","href":"/getting-started/how-it-works"},{"title":"FAQ","icon":"circle-question","href":"/getting-started/faq"},{"title":"Quickstart","icon":"rocket","href":"/getting-started/quickstart"}]},{"group":"Dreamlit for...","pages":[{"title":"For vibe coders","href":"/getting-started/for-vibe-coders"},{"title":"For developers","href":"/getting-started/for-developers"},{"title":"For product teams","href":"/getting-started/for-product-teams"}]},{"group":"Guides","pages":[{"title":"How to Set Up Supabase Auth Emails with Dreamlit","sidebarTitle":"Supabase Auth Emails","icon":"bolt","href":"/guides/supabase-auth-emails"},{"title":"How to Add Emails to Your Lovable App (The Easy Way)","sidebarTitle":"Lovable Apps","description":"Add welcome emails, notifications, and email blasts to your Lovable app. No code changes, no Edge Functions. Just connect your Supabase database.","icon":"heart","href":"/guides/lovable-email"},{"title":"Bolt.new Email: Send Notifications Without the Infrastructure","sidebarTitle":"Bolt.new Apps","icon":"bold","href":"/guides/bolt-email"},{"title":"Cursor Email: Send Notifications Without Breaking Your Flow","sidebarTitle":"Cursor Apps","description":"Add email to your Cursor app in minutes. Describe what you want in plain English, and Dreamlit builds the workflow.","icon":"code","href":"/guides/cursor-email"},{"title":"How to Add Emails to Your Replit App (The Easy Way)","sidebarTitle":"Replit Apps","icon":"laptop-code","href":"/guides/replit-email"},{"title":"v0 Email: Send Notifications by Describing What You Want","sidebarTitle":"v0 Apps","icon":"sparkles","href":"/guides/v0-email"},{"title":"Figma Make Email: Design-to-App Meets AI-Powered Notifications","sidebarTitle":"Figma Make Apps","icon":"figma","href":"/guides/figma-make-email"}]},{"group":"Configuration","pages":[{"group":"Data Sources","pages":[{"title":"Supabase","href":"/configuration/data-sources/supabase"},{"title":"PostgreSQL","href":"/configuration/data-sources/postgres"},{"title":"Shopify","href":"/configuration/data-sources/shopify"}]},{"group":"Email","pages":[{"title":"Overview","href":"/configuration/email/index"},{"title":"Custom domain","sidebarTitle":"Custom domain","href":"/configuration/email/custom-domain"},{"title":"Brand styles","sidebarTitle":"Brand styles","href":"/configuration/email/brand-styles"},{"title":"Managing unsubscribed contacts","href":"/configuration/email/managing-unsubscribed-contacts"}]},{"title":"Slack","href":"/configuration/slack"}]},{"group":"Workflow","pages":[{"title":"Basics","href":"/workflow/basics"},{"title":"Preview","href":"/workflow/test-interface"},{"title":"Publishing workflows","href":"/workflow/publishing-workflows"},{"title":"Inspecting inflight workflows","href":"/workflow/inspecting-inflight-workflows"},{"title":"Broadcast","href":"/workflow/broadcast"}]},{"group":"Step types","pages":[{"title":"Database trigger","href":"/steps/database-trigger"},{"title":"Repeating trigger","href":"/steps/repeating-trigger"},{"title":"Supabase Auth trigger","href":"/steps/supabase-auth-trigger"},{"title":"Wait","href":"/steps/wait"},{"title":"Query","href":"/steps/query"},{"title":"Send email","href":"/steps/send-email"},{"title":"Send Slack","href":"/steps/send-slack"}]},{"group":"Troubleshooting","pages":[{"title":"Fix Supabase RLS Access for Dreamlit","sidebarTitle":"Supabase RLS","href":"/troubleshooting/fix-supabase-rls-access"}]},{"group":"MCP","pages":[{"title":"MCP server for AI agents","sidebarTitle":"Overview","href":"/resources/mcp-server"},{"group":"Quick Start","expanded":false,"pages":[{"title":"Dreamlit MCP for Claude Code","sidebarTitle":"Claude Code","href":"/resources/mcp-server/claude-code"},{"title":"Dreamlit MCP for Claude Desktop","sidebarTitle":"Claude Desktop","href":"/resources/mcp-server/claude-desktop"},{"title":"Dreamlit MCP for Codex","sidebarTitle":"Codex","href":"/resources/mcp-server/codex"},{"title":"Dreamlit MCP for Cursor","sidebarTitle":"Cursor","href":"/resources/mcp-server/cursor"},{"title":"Dreamlit MCP for OpenClaw","sidebarTitle":"OpenClaw","href":"/resources/mcp-server/openclaw"},{"title":"Dreamlit MCP for Hermes Agent","sidebarTitle":"Hermes","href":"/resources/mcp-server/hermes"},{"title":"Dreamlit MCP for Gemini CLI","sidebarTitle":"Gemini CLI","href":"/resources/mcp-server/gemini-cli"},{"title":"Dreamlit MCP for VS Code","sidebarTitle":"VS Code","href":"/resources/mcp-server/vs-code"},{"title":"Dreamlit MCP for Windsurf","sidebarTitle":"Windsurf","href":"/resources/mcp-server/windsurf"},{"title":"Dreamlit MCP for Zed","sidebarTitle":"Zed","href":"/resources/mcp-server/zed"},{"title":"Dreamlit MCP for Lovable","sidebarTitle":"Lovable","href":"/resources/mcp-server/lovable"},{"title":"Dreamlit MCP for Bolt","sidebarTitle":"Bolt","href":"/resources/mcp-server/bolt"},{"title":"Dreamlit MCP for Replit","sidebarTitle":"Replit","href":"/resources/mcp-server/replit"},{"title":"Dreamlit MCP for v0","sidebarTitle":"v0","href":"/resources/mcp-server/v0"}]}]},{"group":"Resources","pages":[{"title":"Deliverability","href":"/resources/deliverability"},{"title":"Security","href":"/resources/security"},{"title":"Contact us","href":"/resources/getting-support"},{"title":"Media resources","href":"/resources/media"},{"title":"Pricing","href":"/resources/pricing"},{"title":"System status","url":"https://status.dreamlit.ai","href":"/resources/system-status"},{"title":"Privacy policy","url":"https://dreamlit.ai/privacy-policy","href":"/resources/privacy-policy"},{"title":"Terms of service","url":"https://www.dreamlit.ai/terms-of-service","href":"/resources/terms-of-service"}]}]},{"tab":"Learning Center","icon":"graduation-cap","pages":[{"title":"Learning Center","href":"/learn/overview"}]}]},"basePath":"","title":"Bolt.new Email: Send Notifications Without the Infrastructure - Dreamlit AI","buildId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","deploymentId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","dynamics":["a74be98ba7","07c022d89b"],"chunks":["zoom-image-lightbox-T84NdC3b.js","lightbox-handle-r17bVUz3.js","Frame-Buk2KjK6.js","DynamicMarkdown-DYYZTGpa.js"]}