If you are looking to sync Supabase user data to Loops, you can use our Supabase integration.
1
More control over design
You can use Loops’ design editor to create (and then easily edit) beautiful transactional emails instead of having to code them with HTML.
2
Better visibility of sent emails
You get full visibility on which emails are being sent, when, and to whom in your Loops account. Supabase doesn’t offer this view.
Set up Loops SMTP in Supabase
You can set up Loops SMTP in Supabase with just a few clicks. Go to Settings -> Supabase and click Connect Supabase in the SMTP section.
Field | Value |
---|---|
Host | smtp.loops.so |
Port number | 587 |
Username | loops |
Password | An API key from your API settings in Loops |
Create Transactional emails in Loops
Next, create new transactional emails for the emails listed in Supabase (Authentication -> Emails). You need to create both Confirm signup and Magic Link emails to be able to properly set up the integration.- Confirm signup (required)
- Invite user
- Magic Link (required)
- Change Email Address
- Reset Password


confirmationUrl
data variable that you can map to the {{ .ConfirmationURL }}
value from Supabase.
You can also build URLs by including values like {{ .SiteUrl }}
or add in a confirmation code using {{ .Token }}
.


Configure email templates in Supabase
The final step is to make sure your emails in Supabase are configured to send the correct data to Loops. Loops SMTP integrations work a bit differently than most. Instead of sending a text or HTML email body, you set them up to send API-like data. In Supabase, go to Authentication -> Emails, then edit each template to contain the payload as shown in the previous step (you can click the clipboard icon in Loops to copy the full payload). Once pasted into the Message body, you need to add the Supabase message variables into the payload.Make sure you set up at least the Confirm signup and Magic Link templates in Supabase, otherwise emails will not be sent.
Also, any variables added in the Confirm signup template need to also be available in Magic link email, because Supabase will send a Confirm signup email instead of a Magic Link email if a user hasn’t confirmed their email address.
Also, any variables added in the Confirm signup template need to also be available in Magic link email, because Supabase will send a Confirm signup email instead of a Magic Link email if a user hasn’t confirmed their email address.
{{ .Email }}
and {{ .ConfirmationURL }}
Supabase variables were added.
addToAudience
flag to your template as below. This will create a contact in Loops using the {{ .Email }}
value.

To view all sends of your transactional emails, click through to the email from the Transactional page in Loops, where you’ll find the Metrics page containing a table showing all sends and some statistics.
Testing the integration
You can test your Loops integration by creating new users from Authentication -> Users page in Supabase. Click Add user and select Create new user. Use an email address you have access to. Then click on the new user in the list and click the Send magic link button. This will send the magic link email you set up in Supabase via Loops SMTP.Debugging
Supabase offers a detailed view of authentication logs where you can look for issues with your Loops integration. Go to Logs -> Auth. To narrow down your search you can look for logs like “magiclink” or “invite”.
Important notes
- You need to add a template in Loops and set up the email in Supabase for at least the Confirm signup and Magic Link templates.
- The subject in Supabase templates is always overwritten by the subject added to the corresponding template in Loops.
- The sender name and sender email configured in your Supabase SMTP settings are always overwritten by the sender details added to your templates in Loops.
- Any Supabase email not set up with the correct API-like payload will fail to send.