Supabase + Transactional
Use Transactional as the email provider for Supabase Auth. Deliver beautiful, reliable authentication emails, including magic links, password resets, email confirmations, and invite emails, with full delivery tracking and custom branding.
OVERVIEW
Use Transactional as the email provider for Supabase Auth. Deliver beautiful, reliable authentication emails, including magic links, password resets, email confirmations, and invite emails, with full delivery tracking and custom branding.
Integration Workflow
A step-by-step look at how data flows between your tools and Transactional.
Auth Event
A user signs up, requests a password reset, or receives an invite.
Supabase Triggers
Supabase Auth generates the email and routes it through Transactional.
Custom Template
Transactional renders the email with your branded template.
Reliable Delivery
The auth email is delivered quickly and reliably to the user inbox.
What You Get
Everything you need to integrate Supabase with Transactional.
Auth Email Provider
Configure Transactional as a custom SMTP provider in Supabase. All auth emails route through your account.
Custom Templates
Replace default Supabase auth email templates with beautifully branded designs using Transactional templates.
Delivery Tracking
Track delivery, opens, and bounces for every auth email. Know if users are receiving their magic links.
High Deliverability
Ensure critical auth emails reach the inbox. Proper SPF, DKIM, and DMARC configuration out of the box.
Get Started in Minutes
Here is a code example showing how to connect Supabase with Transactional.
// Supabase Dashboard Configuration
// Settings > Auth > SMTP Settings
// SMTP Host: smtp.transactional.dev
// SMTP Port: 587
// SMTP User: txl_your_api_key
// SMTP Pass: txl_your_api_key
// Sender Email: auth@yourapp.com
// Sender Name: Your App
// Or configure via Supabase CLI (config.toml)
// [auth.email]
// enable_signup = true
// double_confirm_changes = true
// enable_confirmations = true
//
// [auth.email.smtp]
// host = "smtp.transactional.dev"
// port = 587
// user = "txl_your_api_key"
// pass = "txl_your_api_key"
// admin_email = "auth@yourapp.com"
// sender_name = "Your App"
// Alternative: Use Edge Functions for full API control
import { serve } from "https://deno.land/std/http/server.ts";
serve(async (req) => {
const { email, token } = await req.json();
const res = await fetch("https://api.transactional.dev/email", {
method: "POST",
headers: {
Authorization: "Bearer txl_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
from: "auth@yourapp.com",
to: email,
subject: "Confirm your email",
tag: "supabase-auth",
templateId: "tmpl_email_confirm",
templateData: { token },
}),
});
return new Response(JSON.stringify({ success: true }));
});YOUR AGENTS DESERVE
REAL INFRASTRUCTURE.
START BUILDING AGENTS THAT DO REAL WORK.