Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Gmail till MySQL, leads sparas och avdupliceras

Rickard Andersson Partner, Nodenordic.se

En ny lead kommer in. Du svarar snabbt. Sedan dyker den “enkla” delen upp: att hitta avsändaren igen senare, logga dem någonstans och inse att din lista har tre versioner av samma person.

Den här Gmail-MySQL-automationen slår hårt mot marketing ops-team, men även byråägare som spårar inkommande förfrågningar och säljare som lever i inkorgen märker av den. Du får en korrekt formaterad kontakt-databas som uppdaterar sig själv, även när namn saknas eller är röriga.

Det här flödet lyssnar efter nya Gmail-mejl, extraherar avsändardetaljer och upsertar dem i MySQL så att du bygger en användbar leadlista medan du jobbar. Du får se hur det körs, vad du behöver och var team oftast snubblar.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutlig output:

n8n Workflow Template: Gmail till MySQL, leads sparas och avdupliceras

Problemet: din “leadlista” bor i en inkorg

Om inkommande leads kommer via Gmail är din databas förmodligen en slump. Någon kopierar namn till ett kalkylark. Någon annan exporterar kontakter “senare”. Under tiden mejlar samma person två gånger med olika visningsnamn, eller så får du ett svar från ett delat domänalias, och din lista blir som en skräplåda. Det handlar inte bara om tid. Det är det ständiga tvivlet: “Har vi redan den här kontakten?” och “Vem äger den här leaden?” Den osäkerheten bromsar uppföljningar och gör rapportering nästan omöjlig.

Friktionen byggs på. Här är var det fallerar i verkligheten.

  • Du slösar runt 10 minuter per lead på att hoppa mellan Gmail, ett ark och ett CRM bara för att fånga grunderna.
  • Dubblettkontakter smyger sig in, så segment och outreach-listor blir snabbt opålitliga.
  • Namn är inkonsekventa (“John S.” vs “John Smith”), vilket leder till pinsamma personaliseringsmissar.
  • När någon tappar åtkomst till en inkorg tappar du historiken och listan över “vem som kontaktade oss” samtidigt.

Lösningen: fånga nya Gmail-avsändare och deduplicera i MySQL

Det här flödet gör din Gmail-inkorg till en leadkanal som alltid är uppdaterad. Varje gång ett nytt mejl landar i inkorgen hämtar n8n automatiskt avsändarens uppgifter och strukturerar dem i ett förutsägbart format. Den extraherar avsändarens e-postadress och försöker få fram ett användbart namn (och om namnet inte finns hittar den inte på ett). Sedan sparar den kontakten i din MySQL-databas med ett upsert-upplägg: om e-postadressen redan finns uppdateras posten i stället för att dupliceras. Du får en rad per unik e-postadress, vilket är vad de flesta rapport- och outreach-system faktiskt behöver.

Flödet startar med en Gmail-trigger som kontrollerar ny post varje minut. Därefter tar ett litet processsteg fram avsändarnamn och e-post på ett strukturerat sätt. Till sist lägger MySQL in kontakten eller uppdaterar befintlig post, och håller e-postkolumnen unik så att dubbletter inte kan byggas på i det tysta.

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att din byrå får 15 nya inkommande mejl per dag från webbformulär, rekommendationer och partnerintroduktioner. Att spara varje avsändare manuellt i ett ark eller CRM tar cirka 10 minuter styck, vilket blir ungefär 2,5 timmar per dag, och då är deduplicering inte ens inräknad. Med det här flödet är “fångsttiden” i princip noll: Gmail triggar körningen, n8n extraherar avsändaren och MySQL lagrar eller uppdaterar posten i bakgrunden. Du kollar databasen när du faktiskt behöver den, och då är den redan korrekt formaterad.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger funkar bra)
  • Gmail för att trigga på nya inkommande mejl.
  • MySQL för att lagra och deduplicera kontakter centralt.
  • MySQL-tabell (skapa kolumner: name (kan vara null), email (unik))

Svårighetsgrad: Nybörjare. Du kopplar Gmail- och MySQL-inloggning, väljer sedan rätt tabell och kolumner.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Ett nytt mejl kommer in i Gmail. Flödet bevakar din inkorg och kontrollerar nya meddelanden ungefär varje minut, så leads behöver inte vänta på att någon kommer ihåg att “uppdatera listan”.

Avsändaruppgifter normaliseras. n8n hämtar avsändarens e-post och försöker härleda ett namn från det Gmail skickar med. Om inget namn finns sparar den ett null-värde i stället för smutsiga platshållare.

MySQL upsertar kontakten. Skrivningen till databasen använder e-postkolumnen som unik identifierare. Om e-postadressen är ny skapar den en rad. Om den redan finns uppdaterar den namnet så att posten blir bättre över tid.

Din databas blir “source of truth”. Nu kan du skapa outreach-listor, göra domänanalys eller tidsbaserad rapportering från MySQL i stället för att skrapa inkorgshistorik.

Du kan enkelt ändra vad du sparar (t.ex. ämnesrad, tråd-ID eller snippet) för att stödja attribution och uppföljningsflöden. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera Gmail-triggern

Ställ in arbetsflödet så att det lyssnar efter nya Gmail-meddelanden och startar bearbetningen så snart e-post kommer in.

  1. Lägg till och öppna Gmail Intake Trigger.
  2. I Poll Times, bekräfta att schemat inkluderar everyMinute.
  3. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter.
  4. Lämna Filters tomt om ni vill fånga all inkommande e-post.

Steg 2: Anslut MySQL för kontaktlagring

Förbered databasanslutningen så att arbetsflödet kan upserta kontakter i er MySQL-tabell.

  1. Öppna Upsert Contact in MySQL och välj er mål-databas.
  2. Inloggningsuppgifter krävs: Anslut era mySql-inloggningsuppgifter.
  3. Ställ in Table till contacts.

Steg 3: Konfigurera logik för tolkning av avsändare

Extrahera avsändarens namn och e-postadress från Gmail-payloaden så att databasen får rena fält.

  1. Öppna Derive Sender Details och ställ in Mode till runOnceForEachItem.
  2. Klistra in den angivna JavaScript-koden i JS Code: let email = $json.From.trim(); let name = null; if (email.includes('<')) { name = email.split('<')[0].trim(); email = email.split('<')[1].replace('>', '').trim(); } return { "name": name, "email": email }

⚠️ Vanlig fallgrop: Om er Gmail-trigger-data inte innehåller ett From-fält kommer koden att misslyckas – verifiera inkommande payload vid testning.

Steg 4: Konfigurera MySQL-upsert-åtgärden

Mappa den tolkade avsändardatan till er databas och säkerställ att upsert använder e-postadressen som unik nyckel.

  1. I Upsert Contact in MySQL, ställ in Operation till upsert.
  2. Under Values to Send, mappa name till {{ $json.name }}.
  3. Ställ in Column to Match On till email.
  4. Ställ in Value to Match On till {{ $json.email }}.

Steg 5: Testa och aktivera ert arbetsflöde

Validera hela flödet från Gmail-inhämtning till databas-upsert och slå sedan på det för kontinuerlig insamling.

  1. Klicka på Execute Workflow och skicka ett testmejl till det anslutna Gmail-kontot.
  2. Bekräfta att Derive Sender Details ger ut fälten name och email.
  3. Verifiera att tabellen contacts uppdateras eller att en ny rad skapas av Upsert Contact in MySQL.
  4. Växla arbetsflödet till Active för att aktivera kontinuerlig bearbetning.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Gmail-inloggningar kan gå ut eller tappa behörigheter efter en Google-säkerhetsändring. Om körningar plötsligt misslyckas, kontrollera först status för Gmail-credentials i n8n och koppla kontot igen.
  • Om du hanterar en burst av mejl (t.ex. efter en kampanj) kan exekveringstiderna börja köa. Ge flödet tillräcklig kapacitet (eller justera batching) så att MySQL inte får överlappande skrivningar som ser ut som “slumpmässiga” fel.
  • Deduplicering i MySQL fungerar bara om din e-postkolumn verkligen är UNIQUE och är korrekt mappad i nodinställningarna. Om fel kolumn väljs skapar du dubbletter i det tysta och märker det först när outreach-listor börjar bete sig konstigt.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Gmail-MySQL-automationen?

Cirka 30 minuter om din MySQL-tabell är klar.

Behöver jag kunna koda för att automatisera Gmail-MySQL?

Nej. Du kopplar Gmail och MySQL, och väljer sedan rätt tabell och kolumner.

Är n8n gratis att använda för det här Gmail-MySQL-automationsflödet?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för MySQL-hosting om du inte redan har en databas.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här Gmail-MySQL-automationen så att även ämnesrader sparas?

Ja, och det är en praktisk uppgradering. Lägg till kolumner i din MySQL-tabell (t.ex. subject, thread ID, message ID eller snippet), och klicka sedan på “Add Value” i noden “Upsert Contact in MySQL” och mappa de extra Gmail-fälten. Många team sparar också mottagningsdatum och mottagaradress för att kunna göra bättre rapportering senare.

Varför misslyckas min Gmail-anslutning i det här flödet?

Oftast beror det på att auktoriseringen har gått ut eller att en Google-säkerhetsändring ogiltigförklarat anslutningen. Koppla om Gmail-credentials i n8n och bekräfta sedan att triggern pekar på rätt inkorg och har behörighet att läsa nya meddelanden. Om det fortfarande misslyckas, kontrollera om inkorgen tar emot mejl på ett sätt som triggern kan se (filter och vidarebefordringsregler kan vara luriga). Till sist: granska n8n:s exekveringslogg för det exakta Google-felmeddelandet, eftersom det ofta är specifikt.

Hur många kontakter klarar den här Gmail-MySQL-automationen?

På n8n Cloud Starter begränsas du främst av månatliga körningar; self-hosting tar bort exekveringsgränser men beror på din server. För en typisk småföretags-inkorg är flödet lättviktigt eftersom det bara behandlar avsändaruppgifter och skriver en MySQL-rad per mejl. Om du fångar tusentals mejl per dag, se till att din MySQL-indexering är robust och överväg batching eller rate-limiting.

Är den här Gmail-MySQL-automationen bättre än att använda Zapier eller Make?

Ofta, ja. n8n gör “upsert med unik e-post”-mönstret rakt på sak, och du kan self-hosta för obegränsade körningar, vilket spelar roll när du kontrollerar nya meddelanden varje minut. Det är också enklare att bygga ut senare (t.ex. lägga till enrichment via HTTP Request eller routa vissa avsändare till olika tabeller) utan att betala per extra steg. Zapier eller Make kan fortfarande funka om du bara behöver ett enkelt tvåstegsflöde “nytt mejl → skapa rad” och du inte bryr dig om deduplicering. Om du är osäker, prata med en automationsexpert och mappa det mot din volym och dina mål.

När detta väl rullar slutar inkorgen vara din databas. Flödet fångar repetitiva moment i bakgrunden, och du får en leadlista du faktiskt kan lita på.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal