How to Connect Supabase as a Destination in Kondado

What you will learn

This tutorial shows how to set up Supabase as a data destination in Kondado. Supabase is a managed PostgreSQL service that requires specific connectivity configurations.

💡 Recommendation: For external integrations, we recommend using Supabase's Session Pooler (port 5432). It is free on every Supabase plan, supports prepared statements, and is Supabase's official recommendation for persistent external application connections (see the official documentation).

Prerequisites

  • Supabase account with a created project
  • Administrator access to the Supabase project
  • Active Kondado account

Step 1 — Choose the connection mode

Supabase offers two connection modes for external integrations. We recommend Option A (Session Pooler): it is free, stable, and natively supported by Supabase.

Option A: Session Pooler (Recommended — Free)

This is the simplest and free way to enable IPv4 connectivity (included in every Supabase plan):

  1. Open the Supabase dashboard
  2. Select your project
  3. Click Connect at the top of the page (or go to Project Settings → Database)
  4. In the Connection string section, select Session pooler
  5. Note down host, port, and user values shown
💡 Tip: The Session Pooler uses host aws-0-<region>.pooler.supabase.com (example: aws-1-sa-east-1.pooler.supabase.com) with port 5432.

Option B: IPv4 Add-on (Paid)

If you prefer to use the direct Supabase host, you can purchase the dedicated IPv4 add-on:

  1. In Supabase, go to Project Settings → Add-ons
  2. Enable the IPv4 Address add-on (paid)
  3. Use host db.<project-ref>.supabase.co with port 5432
ℹ️ Note: We do not recommend the Transaction Pooler (port 6543) with Kondado. That mode is optimized for serverless functions and does not support prepared statements — continuous ETL operations may behave unexpectedly.

Step 2 — Get Connection Credentials

In the Supabase dashboard, go to Project Settings → Database and locate the Connection string section:

Kondado Field Supabase Value Example
Host (Address) Session Pooler host (recommended) or IPv4 host aws-1-sa-east-1.pooler.supabase.com
Port 5432 (Session Pooler or Direct) 5432
User postgres.<project-ref> (with the dot) ⚠️ NOT your email! postgres.abcdefghijklmnop
Password Database password (set in Database Settings → Database password) ••••••••
Database Database name postgres
❌ Common mistake: Do not use your Supabase login email in the User field. The PostgreSQL username always follows the format postgres.<project-ref>. The <project-ref> is your project's unique reference (visible in the dashboard URL or in Project Settings → General).
🔑 About the password: The database password is different from the Supabase dashboard login password, and also different from the anon and service_role keys. If you forgot it or never set it, you can reset it in Project Settings → Database → Database password.

Step 3 — Configure in Kondado

  1. Go to app.kondado.com.br
  2. Click CREATE +DESTINATIONS
  3. Select PostgreSQL
  4. Fill the fields with the values obtained in Step 2
  5. Click TEST CONNECTION
  6. If successful, click SAVE

Step 4 (Optional) — Whitelist Kondado IPs

If your Supabase project has Network Restrictions enabled, you need to whitelist Kondado IPs:

  1. In Supabase, go to Project Settings → Database → Network Restrictions
  2. Add the public Kondado IPs listed at Kondado IPs
✓ Note: If you didn't manually enable Network Restrictions, this step is not needed. By default, Supabase allows connections from any IP (as long as authentication succeeds).

Troubleshooting — Common Errors

Error Cause Solution
Connection refused / timeout Supabase's direct connection mode requires the IPv4 add-on in IPv4-only environments Use the Session Pooler or purchase the IPv4 add-on
password authentication failed for user "<email>" Email used in User field Use postgres.<project-ref> (see Database Settings)
password authentication failed (correct user) Wrong password Reset the password at Database Settings → Database password (not the dashboard password)
Test connection works but pipelines fail Active Network Restrictions blocking some IPs Whitelist all Kondado IPs (see Step 4)

Alternative: Via Kondado

If you cannot or prefer not to configure Supabase, Kondado offers the Via Kondado destination — direct connection to dashboards and AI, with one free unit included on every account.

To use it, simply select Via Kondado when creating a destination. Learn more at: Via Kondado.

Next steps

Connect Supabase as a Destination in Kondado

Configure a Supabase PostgreSQL database as a Kondado data destination using the Session Pooler.

1
Select Session Pooler in Supabase

In the Supabase dashboard, go to Project Settings → Database and select "Session pooler" in the Connection string section. Note down host, port, user, and password.

2
Identify the correct host and user

Use host aws-0-<region>.pooler.supabase.com with port 5432, user postgres.<project-ref> (with a dot, NOT your email), and database postgres.

3
Get the database password

The password is at Project Settings → Database → Database password. Do not confuse it with the dashboard login password or the anon/service_role keys. Reset it if needed.

4
Register the destination in Kondado

Go to app.kondado.com.br, click CREATE + → DESTINATIONS, select PostgreSQL, and fill the fields with the values you noted.

5
Test and save the connection

Click TEST CONNECTION. If it passes, click SAVE. If it fails, check the troubleshooting table in this article.

6
Whitelist IPs (if applicable)

If Supabase Network Restrictions are enabled, whitelist Kondado IPs at Project Settings → Database → Network Restrictions. List at kondado.io/wiki/en/kondado-ips.

Frequently asked questions

Do I need to pay for the Supabase IPv4 add-on to use Kondado?
No. The recommended path is the Supabase Session Pooler (port 5432), which is free and included in every Supabase plan. The IPv4 add-on is a paid alternative only for users who specifically need a direct connection.
Why do I get "password authentication failed" even with the correct password?
Check the user format. With the Session Pooler, the user is NOT your email — it is postgres.<project-ref> (with the dot). The <project-ref> is your Supabase project's unique reference, visible in the dashboard URL or in Project Settings → General.
What is the difference between Session Pooler (port 5432) and Transaction Pooler (port 6543)?
Session Pooler keeps a dedicated connection per session and is the recommended mode for Kondado. Transaction Pooler releases the connection at every transaction and does not support prepared statements — it can produce unexpected behavior in continuous ETL operations.
Where do I find the Supabase database password?
The database password is different from the Supabase dashboard login password and also different from the anon and service_role keys. Go to Project Settings → Database → Database password. If you forgot it, you can reset it on the same page.
Does Kondado offer an alternative if I don't want to configure Supabase?
Yes — Via Kondado is a managed PostgreSQL destination from Kondado, with one free unit included on every account. See kondado.io/wiki/en/via-kondado.
Do I need to whitelist Kondado IPs in Supabase?
Only if you've enabled Network Restrictions on your Supabase project. By default, Supabase accepts connections from any IP. If you're restricting them, whitelist all Kondado public IPs listed at kondado.io/wiki/en/kondado-ips.

Written by·Published 2026-04-29