# Supabase + Brew

Starta automatiseringar i Brew med databas-webhooks för auth.users i Supabase, inklusive härledda händelser för bekräftad e-postadress, byte av lösenord, uppgradering från anonym till riktig användare och avstängning eller återaktivering.

Kanonisk URL: https://brew.new/sv/browse/integrations/supabase

- Riktning: Inkommande data
- Anslutning: Webhook-hemlighet
- Utlösare för autentisering

## Tillgängliga funktioner

- **Händelseutlösare**: Starta automatiseringar i Brew med databas-webhooks för auth.users i Supabase, inklusive härledda händelser för bekräftad e-postadress, byte av lösenord och inloggning.

## Gör autentiseringshändelser till användbara mejl

Anslut Supabase för att trigga varumärkesenliga mejl när någon registrerar sig, bekräftar sin e-postadress, byter lösenord eller stängs av. Ett konfigurationsskript lägger till en databastrigger på din tabell auth.users, och Brew gör varje ändring till en av 12 utlösare för automatiseringar.

Supabase Auth ansvarar fortfarande för inloggning, bekräftelselänkar, magiska länkar och återställning av lösenord. Brew skapar och skickar mejlen som följer på de ändringarna.


## Det här kan du bygga

- Välkomstmejl: utgå från händelsen auth.user.email_confirmed, så att det första mejlet bara når verifierade adresser. Brew härleder den händelsen bara från en uppdatering som sätter email_confirmed_at, så en användare vars rad redan är bekräftad när den skapas ger bara auth.user.created. Kontrollera vilket fall som gäller för ditt projekt och välj sedan en enda utlösare, så att ingen får dubbla välkomstmejl.
- Välkomstmejl när en gäst skaffar konto: händelsen auth.user.upgraded_from_anonymous utlöses när is_anonymous ändras från true till false, det vill säga när en anonym användare blir ett permanent konto.
- Aviseringar om lösenordsbyten: händelsen auth.user.password_changed utlöses vid varje ändring av encrypted_password. Nyttolasten innehåller inga lösenordsuppgifter. Länka till din egen sida för kontoåterställning ifall det inte var användaren som gjorde ändringen.
- Aviseringar om ändrad e-postadress: händelsen auth.user.email_changed innehåller den gamla adressen i previousValue och den nya i newValue. Brew skickar till den nya adressen.
- Uppföljningar av inbjudningar: händelsen auth.user.invited utlöses när en uppdatering sätter invited_at. Supabase Auth skickar själv inbjudningslänken, och ett mejl från Brew kan ge mer sammanhang kring onboardingen. Skicka en riktig testinbjudan från ditt projekt innan du förlitar dig på den här utlösaren.
- Aviseringar om avstängning: händelsen auth.user.banned utlöses när banned_until sätts. Den innehåller värdet i newValue. Händelsen auth.user.unbanned utlöses när banned_until rensas.
- Bekräftelser av radering: händelsen auth.user.deleted utlöses när raden raderas. Den innehåller fortfarande e-postadressen från raden.

## Inloggningshändelser är inga återbesök

Händelsen auth.user.signed_in utlöses när last_sign_in_at ändras. Kolumnen ändras också när Supabase förnyar en token, så händelsen kan utlösas gång på gång medan en användare är inloggad. Den visar inte att någon har kommit tillbaka efter en lång frånvaro.

Det är också den härledda händelsen med lägst prioritet. När samma uppdatering bekräftar en e-postadress eller uppgraderar en anonym användare genererar Brew den händelsen i stället för auth.user.signed_in.

Vill du höra av dig till inaktiva användare avgör du i din applikation vilka som är inaktiva, utifrån applikationens egen aktivitetsdata. Skicka en separat anpassad händelse till Brew bara för användare som uppfyller villkoren, och låt en aktiv automatisering skicka mejlet utifrån den händelsen.

Testa båda vägarna: en inaktiv användare får mejlet, medan en användare som var aktiv före kontrollen inte får det.


## Konfigurera Supabase i Brew

- Öppna Integrationer, välj Supabase och klicka på Generera webhook-URL. Brew har redan fyllt i URL:en i SQL-koden för konfigurationen.
- Skapa en signeringshemlighet med openssl rand -hex 32. Varken Brew eller Supabase utfärdar den, och Brew kräver minst 16 tecken.
- Öppna SQL Editor i Supabase och klistra in SQL-koden för konfigurationen. Ersätt platshållaren för hemligheten med din hemlighet och kör sedan koden. SQL-koden aktiverar pgcrypto och pg_net, sparar hemligheten i Supabase Vault och lägger till en databastrigger på auth.users för infogningar, uppdateringar och raderingar.
- Klistra in samma hemlighet i Brew och klicka på Anslut. Då skapas utlösare för alla 12 händelser. Det finns inget reglage för att aktivera eller inaktivera händelser.
- När du har anslutit skapar du en testanvändare i Supabase under Authentication > Users. Statusen i Brew ändras från ”Väntar på testhändelse” till ”Ansluten”, och under Senaste händelser visas leveransen med ”giltig signatur”.
- Skapa en automatisering, välj dess Supabase-händelse och skicka ett testutskick medan den fortfarande är ett utkast. Bara aktiva automatiseringar körs när en matchande händelse kommer in.
- Du behöver behörighet att köra SQL mot schemat auth, installera tillägg och skriva till Supabase Vault. Det är säkert att köra SQL-koden igen efter att du har roterat hemligheten.

## Supabase-händelser som stöds

Händelserna auth.user.created, auth.user.updated och auth.user.deleted kommer från infogningar, uppdateringar och raderingar i auth.users. Brew härleder de övriga händelserna från en uppdatering genom att jämföra den gamla och den nya raden.

En uppdatering ger en enda händelse. När flera kolumner ändras samtidigt gäller den första matchningen i den här ordningen: email_confirmed, phone_confirmed, upgraded_from_anonymous, email_changed, password_changed, banned, unbanned, invited, signed_in. En uppdatering som inte matchar någon av dem kommer in som auth.user.updated.

Brew stöder följande 12 händelsetyper:

- auth.user.created
- auth.user.updated
- auth.user.deleted
- auth.user.email_confirmed
- auth.user.phone_confirmed
- auth.user.email_changed
- auth.user.password_changed
- auth.user.signed_in
- auth.user.banned
- auth.user.unbanned
- auth.user.invited
- auth.user.upgraded_from_anonymous

## Kontaktsynk och personalisering

Varje verifierad händelse med en riktig e-postadress skapar eller uppdaterar en kontakt i Brew, som matchas på e-postadressen, oavsett om någon automatisering använder händelsen. När uppgifterna finns sätter Brew för- och efternamn, supabase_user_id, supabase_phone, supabase_role, supabase_full_name, supabase_avatar_url och supabase_provider.

Vissa händelser sätter också livscykelfält. Fältet supabase_account_status blir active, invited, banned eller deleted. Fälten supabase_email_verified_at, supabase_phone_verified_at och supabase_last_sign_in_at kommer från motsvarande bekräftelse- och inloggningshändelser.

Använd den valda händelsens deklarerade nyttolastschema för personaliseringstaggar. Varje händelse innehåller email och, när de finns, firstName, lastName, fullName, displayName, avatarUrl, phone, role, provider, createdAt, lastSignInAt och emailConfirmedAt. Namn och profilbilder hämtas från raw_user_meta_data, med reservvärden för registreringar via OAuth. De tre tidsstämplarna anges i Unix-sekunder.

Härledda händelser lägger till previousValue, newValue eller båda, med kolumnens gamla och nya värde som text. Händelsen auth.user.password_changed har inget av dem. Fältet provider anger registreringsmetoden, till exempel email, google eller github, så att du kan styra välkomstflöden efter hur någon har registrerat sig.

Användar-ID:t från Supabase är ingen personaliseringstagg. Brew sparar det på kontakten som supabase_user_id för filtrering och segmentering.

Ett konto i Supabase innebär inte samtycke till marknadsföringsmejl. Spara samtycket när användaren registrerar sig och kontrollera det innan du skickar marknadsföring.


## Ersätter Brew autentiseringsmejlen från Supabase?

Nej. Supabase Auth skickar fortfarande bekräftelselänkar, magiska länkar, inbjudningar och länkar för återställning av lösenord via sin egen mejlkonfiguration, till exempel en egen SMTP-server. Brew startar automatiseringar när ändringarna har nått auth.users. Supabase rekommenderar separata avsändardomäner för autentiseringsmejl och marknadsföringsmejl.


## Varför syns en händelse utan att något mejl skickas?

Att ta emot en händelse och att skicka ett mejl är separata steg. Kontrollera att en matchande automatisering är aktiv, granska dess filter och körningshistorik och se över mottagarens nåbarhet och avsändardomänen. En händelse för en användare utan e-postadress, till exempel en anonym användare som inte har lagt till någon, skapar ingen kontakt och startar ingen automatisering.


## Begränsningar och felsökning

- Brew läser bara auth.users. För händelser från andra tabeller skapar du en anpassad utlösare i Brew och utlöser den via API:t i Brew från din applikation eller en Supabase Edge Function.
- Brew kan inte skapa, stänga av eller radera användare i Supabase och skickar inte mejlen från Supabase Auth.
- Om leveranser underkänns i signaturkontrollen matchar hemligheten i Supabase Vault inte den i Brew. Generera en ny hemlighet, kör SQL-koden för konfigurationen igen med den och anslut Supabase i Brew igen med samma värde.
- Om inga leveranser kommer fram kör du SQL-koden för konfigurationen igen och kontrollerar sedan att pgcrypto är installerat och att hemligheten i Vault matchar den i Brew.
- Efter auth.user.email_changed skapar eller uppdaterar Brew kontakten med den nya adressen. Kontakten med den gamla adressen lämnas oförändrad.
- Händelsen auth.user.deleted sätter supabase_account_status till deleted. Den tar inte bort kontakten från Brew.
- Se över samtycket och syftet med varje mejl. Att synka användare från Supabase ger inte rätt att skicka marknadsföring.

## Källor och konfigurationsguider

- [Jämför mejlverktyg för Supabase](/sv/blog/best-email-tools-for-supabase-auth-emails-product-events-and-lifecycle-campaigns)
- [Konfigurationsguide för Supabase](https://docs.brew.new/integrations/import/supabase)
- [Bygg en automatisering](https://docs.brew.new/create-emails/build-an-automation)
- [Personaliseringstaggar](https://docs.brew.new/create-emails/merge-tags)
- [Vad du kan skicka med Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Databas-webhooks i Supabase](https://supabase.com/docs/guides/database/webhooks)
- [Användarfält i Supabase](https://supabase.com/docs/guides/auth/users)
- [Egen SMTP-server i Supabase](https://supabase.com/docs/guides/auth/auth-smtp)

## Relaterat

- [Alla integrationer](https://brew.new/sv/browse/integrations.md)
- [Skapa konto](https://brew.new/sv/sign-up.md)
- Webbplats: https://brew.new
