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

MySQL + Gmail: felfria godkännanden utan jagande

Rickard Andersson Partner, Nodenordic.se

Utrustningsförfrågningar ska inte bli en vecka av fram och tillbaka. Men när någon pingar dig i Slack utan detaljer, någon annan mejlar “godkände du det här?”, och inköp får en halvt skriven notis, fastnar du i att jaga svar i stället för att driva ärendet framåt.

HR-koordinatorer märker det när onboarding staplas på hög. Driftansvariga känner av det när laptops och passerkort är brådskande. Och IT-administratörer blir till slut den “mänskliga routern”. Den här automatiseringen för MySQL Gmail approvals validerar medarbetaren, skickar godkännandet rätt och mejlar korrekt formaterade meddelanden som folk faktiskt svarar på.

Nedan ser du hur workflowet avgör vem som behöver godkänna, hur det skriver professionella meddelanden med AI och vad som förändras när hela överlämningen blir konsekvent.

Så här fungerar automatiseringen

Hela n8n-workflowet, från trigger till slutresultat:

n8n Workflow Template: MySQL + Gmail: felfria godkännanden utan jagande

Problemet: utrustningsförfrågningar fastnar i ett godkännandelimbo

De flesta “processer” för utrustningsförfrågningar är inte processer. De är en kedja av meddelanden som bygger på att folk kommer ihåg sammanhanget. Någon skickar in ett anställningsnummer som HR måste verifiera manuellt. Förfrågan kommer in utan viktiga uppgifter (modell, motivering, leveransdatum), så du måste följa upp. Sedan behöver du ta reda på om beställaren ens har en chef, och om ja, skriver du ännu ett mejl för att få ett ja/nej-beslut. Under tiden kopplas inköp in för tidigt eller för sent, vilket skapar dubbelarbete och långsamma beställningar.

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

  • HR eller drift slösar cirka 10 minuter per förfrågan på att validera medarbetaren och hitta deras chef.
  • Chefer svarar med “godkänd” men glömmer detaljerna, så du får skicka vidare sammanhanget (igen).
  • Inköp får inkonsekventa mejl, vilket leder till följdfrågor och försenade inköp.
  • Avslag blir obekväma och tar tid, så team drar sig för att säga “nej” och förfrågan blir hängande i limbo.

Lösningen: validera i MySQL, routa godkännanden, skicka proffsiga Gmail-mejl

Det här workflowet gör en rörig kedja av förfrågningar till ett strukturerat, guidat inflöde som routar sig självt. Det börjar med ett enkelt formulär där medarbetaren anger sitt anställningsnummer, sedan slår n8n upp personen i MySQL för att bekräfta att den finns och hämta grundprofilen. Därefter fångar ett andra formulär upp förfrågningsdetaljerna (vad de behöver, varför och eventuella anteckningar du vill att inköp ska se). Sedan bestämmer workflowet väg: om medarbetaren har en chef genererar det ett professionellt godkännandemejl (skrivet av en LLM i en konsekvent ton) och skickar det via Gmail med ett godkänn/avslå-steg. Om beställaren är chef hoppar det över godkännandet och går direkt till ett inköpsklart meddelande.

Workflowet börjar med validering av anställningsnummer i MySQL. Sedan slår det ihop medarbetar- + chef- + förfrågningsdata till ett prydligt paket, så mejlen blir konsekventa. Till sist skickar Gmail rätt budskap till rätt person och bekräftar utfallet på skärmen, så ingen behöver undra vad som hände.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du hanterar 20 utrustningsförfrågningar på en vecka. Manuellt tar det ofta 10 minuter att validera medarbetaren, cirka 10 minuter att lista ut rätt godkännare och skriva ett mejl, plus ytterligare 10 minuter att städa upp och vidarebefordra den slutliga förfrågan till inköp. Det blir ungefär 10 timmars koordinering. Med det här workflowet lägger beställaren cirka 3 minuter på formulären, chefen klickar godkänn eller avslå i Gmail och inköp får ett proffsigt mejl automatiskt. Du har fortfarande överblick, men det mesta av jagandet försvinner.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • MySQL för uppslag mot medarbetartabellen.
  • Gmail för att skicka godkännanden och notiser.
  • OpenAI API-nyckel (hämta den från OpenAI-dashboarden).

Kompetensnivå: Medel. Du kopplar in inloggningar, mappar några fält och verifierar att din MySQL-tabell matchar förväntade kolumner.

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

Så fungerar det

Insamling av anställningsnummer startar allt. En medarbetare anger sitt anställningsnummer i det första formuläret. n8n frågar direkt MySQL och hämtar posten, vilket hindrar ärenden från “okänd beställare” att hamna i din kö.

Förfrågningsdetaljerna fångas upp och struktureras. Ett andra formulär samlar in vad de vill ha och varför. n8n slår ihop den datan med medarbetarprofilen, så senare steg inte bygger på att någon kopierar detaljer mellan verktyg.

Godkännanderoutning sker automatiskt. Om medarbetaren har en chef hämtar workflowet chefens post från MySQL och skapar ett strukturerat godkännandemejl med OpenAI:s chatmodell. Om beställaren är chef (eller om ingen chef finns) hoppar det över godkännanden och förbereder direkt ett inköpsmeddelande.

Gmail skickar rätt mejl och stänger loopen. Chefer får ett beslutsspår för godkänn/avslå. Beställaren får en notis oavsett utfall, och inköp får en konsekvent, professionell förfrågan som inte behöver skrivas om.

Du kan enkelt ändra vart inköpsförfrågningar ska skickas (mejl, helpdesk, ERP) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera formulärtriggern

Konfigurera intagsformuläret som initierar arbetsflödet och validerar anställd-ID.

  1. Öppna Enrollment Intake Form och ställ in Form Title till Equipment Request Form.
  2. Ställ in Form Description till Please fill in your employee ID so we can validate your information and identify your manager.
  3. Under Form Fields lägger ni till det obligatoriska fältet Your employee enrollment.
  4. Bekräfta att Response Mode är satt till lastNode så att formuläret väntar på slutförandenoderna.

Arbetsflödet använder Show Missing Employee, Finalize Employee Notice och Finalize Manager Notice som slutförandeskärmar för formulärtriggern.

Steg 2: anslut MySQL för uppslagning av anställda

Hämta anställd- och chefsposter från er databas.

  1. Öppna Fetch Employee Record och ställ in Operation till select med Return All aktiverat.
  2. Ställ in Table till employees och Where till enrollment_number lika med {{ $json['Your employee enrollment'] }}.
  3. Inloggningsuppgifter krävs: anslut era mySql-inloggningsuppgifter i Fetch Employee Record.
  4. Öppna Fetch Manager Record och ställ in Table till employees med Where id lika med {{ $json.employee.manager }}.
  5. Inloggningsuppgifter krävs: anslut era mySql-inloggningsuppgifter i Fetch Manager Record.

⚠️ Vanlig fallgrop: om tabellen employees eller kolumnnamnen skiljer sig kommer Empty Record Check att skicka användare till Show Missing Employee även när en post finns.

Steg 3: mappa anställddata och hantera saknade poster

Normalisera fält för anställda och definiera routningsregler för saknade eller icke-chefshanterade anställda.

  1. I Empty Record Check behåller ni villkoret {{ $json.isEmpty() }} för att upptäcka saknade poster.
  2. Konfigurera Show Missing Employee med Completion Title Employee not found och Completion Message It was not possible to find your registration based on your enrollment number..
  3. I Map Employee Fields mappar ni fält till employee-objektet:
    • employee.enrollment_number = {{ $json.enrollment_number }}
    • employee.name = {{ $json.name }}
    • employee.email = {{ $json.email }}
    • employee.manager = {{ $json.manager }}
    • employee.requires_approval = {{ $json.manager ? true : false }}
  4. Map Employee Fields skickar output till både Capture Request Details och Approval Needed? parallellt.
  5. I Approval Needed? behåller ni villkoret {{ $json.employee.manager }} (inte tomt) för att avgöra om en chefsuppslagning krävs.

Steg 4: samla in begäransdetaljer och slå ihop personaldata

Samla in utrustningsbegäran och slå ihop den med data för anställd och chef för vidare bearbetning.

  1. I Capture Request Details säkerställer ni att fältet What would you like to request? är obligatoriskt.
  2. I Assign Manager Object mappar ni manager till {{ $json }} för att spara chefsposten.
  3. Ställ in Combine Staff Records till Mode combine och Combine By combineByPosition.
  4. Ställ in Merge Staff + Request till Mode combine och Combine By combineByPosition.
  5. Approval Needed? skickar output till både Fetch Manager Record och Combine Staff Records parallellt.

Steg 5: konfigurera AI-generering av e-post

Konfigurera de tre AI-vägarna för utkast och deras strukturerade parsers.

  1. Öppna OpenAI Chat Engine A och välj inloggningsuppgiften openAiApi.
  2. Öppna OpenAI Chat Engine B och välj inloggningsuppgiften openAiApi.
  3. Öppna OpenAI Chat Engine C och välj inloggningsuppgiften openAiApi.
  4. I Generate Manager Email ställer ni in Text till Employee request: {{ $json['What would you like to request?'] }} och behåller Prompt Type define med Has Output Parser aktiverat.
  5. I Generate Procurement Email ställer ni in Text till Employee request: {{ $json['What would you like to request?'] }} och behåller Has Output Parser aktiverat.
  6. I Generate Approved Procurement Email ställer ni in Text till Employee request: {{ $('Merge Data + Email').item.json['What would you like to request?'] }} och behåller Has Output Parser aktiverat.
  7. För Parse Manager JSON, Parse Direct JSON och Parse Approved JSON lämnar ni schemaexemplet som det är och noterar att detta är AI-undernoder; inloggningsuppgifter måste läggas till på överordnade noder (OpenAI Chat Engine A, OpenAI Chat Engine B, OpenAI Chat Engine C).

AI-promptarna innehåller redan databindningar för chef och anställd. Behåll JSON-outputformatet för att säkerställa att output-parsers lyckas.

Steg 6: konfigurera godkännanderoutning och e-poståtgärder

Skicka chefsgodkännanden, meddela sedan anställda och routa till inköp baserat på beslutet.

  1. I Approval Path Gate behåller ni villkoret {{ $json.employee.requires_approval }} satt till true.
  2. Approval Path Gate skickar output till både Generate Manager Email och Merge Data + Email parallellt när godkännande krävs.
  3. I Merge Data + Email ställer ni in Mode till combine och Combine By till combineByPosition.
  4. I Finalize Employee Notice ställer ni in Completion Title till Request sent for your manager’s approval och Completion Message till Soon you will receive a response on whether your request has been approved..
  5. I Send Manager Approval Email ställer ni in:
    • Send To = {{ $('Merge Data + Email').item.json.manager.email }}
    • Message = {{ $('Merge Data + Email').item.json.output.email_text }}
    • Subject = Equipment Request Approval – {{ $('Merge Data + Email').item.json.employee.name }} (Enrollment:{{ $('Merge Data + Email').item.json.employee.enrollment_number }})
    • Operation = sendAndWait
  6. Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Send Manager Approval Email.
  7. I Manager Decision Check behåller ni villkoret {{ $json.data.approved }} för att förgrena på godkännanden.
  8. Manager Decision Check skickar output till både Email Approval Notice och Generate Approved Procurement Email parallellt när det godkänns.
  9. I Email Approval Notice ställer ni in:
    • Send To = {{ $('Merge Data + Email').item.json.employee.email }}
    • Subject = Equipment Request Approved
    • Message använder {{ $('Merge Data + Email').item.json.output.sanitized_request }}
  10. Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Email Approval Notice och Email Denial Notice.

⚠️ Vanlig fallgrop: Email Denial Notice använder för närvarande samma godkännandemeddelande och ämnesrad som Email Approval Notice. Uppdatera avslags-/nekningstexten om ni vill skicka ett avslag via e-post.

Steg 7: konfigurera direkt inköpsflöde och slutförandemeddelanden

Hantera begäranden som inte kräver chefsgodkännande och skicka direkt slutförandebesked.

  1. När godkännande inte krävs routar Approval Path Gate till Generate Procurement Email.
  2. Generate Procurement Email skickar output till Dispatch Direct Procurement, som sedan routar till Finalize Manager Notice.
  3. I Finalize Manager Notice ställer ni in Completion Title till Request sent to the purchasing department och Completion Message till Your request has already been forwarded to the purchasing department..

Dispatch Direct Procurement och Dispatch Approved Procurement är noOp-noder som används som platshållare för framtida integrationer (t.ex. API-anrop till ett inköpssystem).

Steg 8: testa och aktivera ert arbetsflöde

Validera end-to-end-flödet innan ni aktiverar det i produktion.

  1. Klicka på Execute Workflow och skicka in Enrollment Intake Form med ett känt anställnings-/enrollmentnummer.
  2. Bekräfta att Empty Record Check routar korrekt: saknade anställda ska se Show Missing Employee.
  3. Skicka in begäran i Capture Request Details och verifiera att Send Manager Approval Email skickar en godkännandeförfrågan till chefen.
  4. Godkänn och neka i e-postmeddelandet för att testa båda grenarna: godkännande ska trigga Email Approval Notice och Generate Approved Procurement Email parallellt, medan nekning ska trigga Email Denial Notice.
  5. När allt fungerar växlar ni arbetsflödet till Active så att formulärtriggern är live för anställda.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera n8n-skärmen Credentials och autentisera om ditt Google-konto först.
  • Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för MySQL Gmail approvals?

Cirka 45 minuter om din MySQL-tabell och ditt Gmail-konto är redo.

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

Nej. Du kopplar främst konton och mappar fält mellan formulären, MySQL och Gmail.

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

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning, vilket vanligtvis är några cent per förfrågan för korta mejl.

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 egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och kör n8n stabilt. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här MySQL Gmail approvals-workflowet för att skicka förfrågningar till en helpdesk i stället för inköpsmejl?

Ja, och det är ärligt talat en av de bästa uppgraderingarna. Du kan ersätta inköpets “dispatch”-steg (noderna som är märkta för direkt och godkänd överlämning till inköp) med en nod som skapar ärenden i din helpdesk eller ett HTTP Request till ditt ERP. Vanliga anpassningar är att lägga till ett spårnings-ID i ämnesraden, CC:a en revisionsbrevlåda och lägga in SLA-formulering i AI-prompten så svaren blir konsekventa mellan team.

Varför fungerar inte min Gmail-anslutning i det här workflowet?

Oftast är det utgått OAuth-medgivande eller att fel Google-konto är anslutet. Anslut Gmail igen i n8n Credentials och kör sedan en enskild testförfrågan. Om det fortfarande fallerar, kontrollera att era Google Workspace-policyer tillåter de scopes som n8n begär, och håll koll på rate limits om du skickar många godkännandemejl samtidigt.

Hur många förfrågningar klarar den här automatiseringen för MySQL Gmail approvals?

De flesta små team kan köra hundratals förfrågningar i månaden utan att behöva tänka på det.

Är den här automatiseringen för MySQL Gmail approvals bättre än Zapier eller Make?

Ofta, ja, eftersom godkännandelogiken här inte bara är en rak linje. n8n gör det enklare att förgrena utifrån “chef finns”, “godkänd/avslagen” och “saknad medarbetare”, utan att förvandla automatiseringen till en hög separata zaps eller scenarier. Du får också ett alternativ för egen hosting, vilket kan spela roll om du vill ha obegränsade körningar eller stramare kontroll över HR-data. Zapier eller Make kan fortfarande vara bra för väldigt enkel routning, men godkännanden plus databasuppslag tenderar att bli dyra och sköra. Prata med en automationsexpert om du vill ha en snabb rekommendation utifrån volym och compliance-krav.

När det här är live slutar utrustningsförfrågningar vara en skattjakt. Workflowet sköter validering, routning och korrekt formaterad kommunikation så att teamet kan fokusera på att ge folk det de behöver.

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