For Supabase projects
Email your Supabase users. Skip the webhooks.
Rowsend reads auth.users through a view and a login that can only read it. No other company gets a copy of your users. You send through SES, Postmark, Mailgun or any SMTP server.
7 days free.
Two ways to get your users into email.
Supabase has no built-in marketing email, so most tools ask you to push users to them. A roundup of 21 email tools found every one connects through SMTP, API calls or Edge Functions fed by webhooks. Loops' guide is typical.
The usual way, with webhooks
- 1Add database webhooks on auth.users for inserts, updates and deletes.
- 2Write and deploy an Edge Function that calls the email tool's API, with its API key stored as a secret.
- 3Backfill everyone who signed up before the webhook existed.
- 4Keep that function working whenever their API or your tables change.
Your users end up in two databases, and the email tool charges you for each one.
With Rowsend
- 1Paste your Supabase connection string. Rowsend uses the password once to list your tables and doesn't save it.
- 2Choose the columns to read from auth.users. Join a table like public.profiles to add names or plans.
- 3Run the SQL Rowsend writes in Supabase's SQL editor.
Rowsend syncs every 15 minutes. New sign-ups appear, and deleted users drop out.
The SQL Rowsend writes.
This copy is trimmed a little. Add a join to any table, and its extra columns become fields you can filter segments on and put in the email.
create schema if not exists rowsend;
create view rowsend.contacts as
select u.id, u.email, u.created_at, u.last_sign_in_at,
date_trunc('milliseconds', coalesce(u.updated_at, u.created_at)) as updated_at
from auth.users u
where u.email is not null and u.deleted_at is null;
create role rowsend_reader with login password 'SCRAM-SHA-256$4096:…';
alter role rowsend_reader set default_transaction_read_only = on;
grant usage on schema rowsend to rowsend_reader;
grant select on rowsend.contacts to rowsend_reader;10,000 users, first year.
The other tools are at list price, billed monthly. Rowsend's total is the license, Cloud billed yearly, and Amazon SES for 4 emails per user a month. More list sizes
| LoopsPaid plan | $1,188 |
| ResendPro Marketing | $960 |
| MailchimpStandard, after the first-year discount | $1,031 |
| Rowsend | $158 |
Before you connect.
- Can Rowsend change anything in my database?
- No. The login it creates is read-only and can only see the rowsend.contacts view. You can read every line of the SQL before you run it.
- Is the setup SQL safe to share?
- Yes. It holds a hash of the login's password, never the password itself, so you can paste it into a pull request or hand it to an AI agent.
- What happens when a user deletes their account?
- They drop out of your contacts at the next sync. Rowsend checks every id the view returns, so nothing has to send it a delete event.
- Does it replace Supabase's sign-up and password reset emails?
- No. Rowsend is for newsletters, launches and product updates. Keep sending those through Supabase's custom SMTP setting, pointed at your email provider.
- Can an AI agent set it up?
- Yes. Rowsend's MCP server gives the agent the setup SQL, and an agent with Supabase's own MCP server can run it and finish the connection.
Supabase is a trademark of Supabase, Inc. Rowsend isn't affiliated with Supabase.