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

Google Sheets + SendGrid: nyhetsbrev med sändgränser

Rickard Andersson Partner, Nodenordic.se

Du lanserar en ”enkel” nyhetsbrevsbyggare och plötsligt gör du supporttriage. Vem blev blockerad. Vem kom igenom. Varför någon säger att de bara skickade fem mejl men dina loggar säger sju.

Det är här automatisering av SendGrids sändgränser betalar sig direkt. Marknadschefer som ska få ut kampanjer, produktdrivna SaaS-grundare som jonglerar en freemium-modell och byråägare som kör kundnyhetsbrev kör alla in i samma vägg: manuella kontroller skalar inte.

Det här arbetsflödet kopplar ihop Google Sheets och SendGrid för att styra Demo kontra Pro-åtkomst, spåra daglig användning och skicka mejlet (med tydliga svar om lyckat skick eller ”gräns nådd”). Du får se hur det fungerar, vad du behöver och vad du kan justera så att det passar ditt erbjudande.

Så fungerar den här automatiseringen

Här är hela arbetsflödet du ska sätta upp:

n8n Workflow Template: Google Sheets + SendGrid: nyhetsbrev med sändgränser

Varför det här spelar roll: freemium-gränser för nyhetsbrev spricker snabbt

”Demo: 5 mejl per dag” låter enkelt tills riktiga användare dyker upp. Någon uppdaterar formuläret och försöker igen. Någon använder två flikar. En kollega testar med samma adress. Nu sitter du och räknar skick manuellt och försöker avgöra om du ska blockera, släppa igenom eller bara återbetala och gå vidare. Samtidigt fylls inkorgen av ”det skickades inte”-meddelanden, och du har inga felfria bevis åt något håll. Det värsta är den mentala belastningen. Varje kampanj blir en miniutredning, och du tappar tid du borde lägga på copy, segmentering eller produkt.

Det eskalerar snabbt. Här är var det faller isär i verkligheten.

  • Gratisanvändare kan köra förbi gränsen när spårningen är inkonsekvent mellan verktyg och kalkylark.
  • Supportärenden drar ut på tiden eftersom du inte kan peka på en enda ”sanningskälla”-logg.
  • Manuell spärrning skapar obekväma undantag, och de undantagen blir den nya ”regeln”.
  • Din leveransbarhet försämras när testskick och riktiga skick blandas utan kontroller.

Det du bygger: en Sheets-spårad SendGrid-gate för nyhetsbrev

Det här arbetsflödet gör din nyhetsbrevsbyggare till ett kontrollerat system med kvitton. En användare skickar in ett webbformulär (din mejlbyggare) och väljer Demo- eller Pro-läge. n8n fångar upp begäran via en webhook, kontrollerar vad användaren får göra i dag och fattar beslutet automatiskt. Demo-användare får ett strikt dagligt tak (fem skick) som upprätthålls mot en Google Sheets-logg, med ett automatiskt ”gräns nådd”-svar när de försöker gå över. Pro-användare hoppar över taket och skickar direkt. Oavsett vilket hanterar SendGrid själva leveransen, Sheets registrerar senaste skick och räknare, och du får en Telegram-notis så att du kan övervaka användningen utan att öppna fem dashboards.

Arbetsflödet startar med en webhook-inlämning och en kontroll av läge. Därefter läser och uppdaterar det Google Sheets för användningsspårning (eller hoppar över det för Pro). Till sist skickar SendGrid mejlet och n8n returnerar ett lyckat- eller felmeddelande till användaren.

Det du bygger

Förväntade resultat

Säg att du har 30 demoanvändare. En normal dag kanske 10 av dem når gränsen och försöker igen, vilket blir 10 manuella kontroller på cirka 10 minuter styck (Sheets-uppslag, räkning, svar). Det är ungefär 90 minuter som försvinner, och det är på en ”bra” dag. Med det här arbetsflödet sker kontroll och svar automatiskt efter formulärinlämningen, och den enda tid du lägger är att skumma Telegram-varningar för sådant som avviker. De flesta team får tillbaka runt en timme per dag när användningen växer.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för användarposter, räknare och tidsstämplar.
  • SendGrid för att leverera mejl pålitligt (Demo och Pro).
  • Telegram-bottoken (hämta den från BotFather i Telegram).

Kunskapsnivå: Medel. Du kopplar konton, mappar några fält och säkerställer att dina kolumner i arket matchar arbetsflödets förväntningar.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En användare skickar in ditt formulär i nyhetsbrevsbyggaren. Arbetsflödet börjar när Incoming Webhook Trigger tar emot mejlinnehållet, mottagarlistan eller mål-adressen och valt åtkomstläge (Demo eller Pro).

Arbetsflödet validerar åtkomstläget. En ”if”-kontroll skickar Pro-begäran direkt till utskick, medan Demo-begäran går via användningsspårning så att dina gränser upprätthålls konsekvent.

Google Sheets blir användningsreskontran. n8n hämtar befintliga poster, upptäcker om användaren redan finns och beräknar dagens antal skick. Nya demoanvändare kan registreras automatiskt, och befintliga användare får sin räknare uppdaterad endast när ett skick är tillåtet.

SendGrid skickar (eller så stoppar arbetsflödet). Om demoanvändaren ligger under fem skick i dag uppdaterar n8n mätvärdena och skickar mejlet via SendGrid, och svarar sedan med lyckat. Om de redan ligger på gränsen returnerar det ett ”gräns nådd”-svar direkt. Pro-användare skickar utan tak, och du får fortfarande ett tydligt lyckat-svar tillbaka.

Du kan enkelt ändra daglig gräns och vad som ska ”räknas” som ett skick utifrån dina behov. Se hela implementeringsguiden nedan för alternativ för anpassning.

Steg-för-steg-guide för implementation

Steg 1: konfigurera webhook-triggern

Sätt upp ingångspunkten som tar emot e-postpayloads för demo- och pro-läge.

  1. Lägg till och öppna Incoming Webhook Trigger.
  2. Ställ in HTTP MethodPOST.
  3. Ställ in Path236f9261-dd76-47e7-b09a-2667a0f315bf.
  4. Ställ in Response ModeresponseNode så att Demo Success Reply, Pro Success Reply eller Limit Reached Reply returnerar HTTP-svaret.
  5. Bekräfta att workflowet kopplar Incoming Webhook TriggerValidate Access Mode.
Använd en POST-klient (t.ex. curl eller Postman) som skickar body.mode, body.subject, body.to, body.from och body.html för att matcha uttrycken som används senare.

Steg 2: anslut Google Sheets

Konfigurera kalkylbladet som lagrar användningsmätvärden och befintliga användare.

  1. Öppna Retrieve Sheet Records och välj kalkylbladets Document-värde [YOUR_ID] och Sheet-värde gid=0.
  2. Ställ in filtret till lookupColumn =Email och lookupValue {{ $json.body.from }}.
  3. Behörighet krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Sheet Records.
  4. Öppna Update Usage Metrics och bekräfta att Operation är update med kolumner mappade till {{ $json.Email }}, {{ $json.Send_Count }}, {{ $json.Total_Sent + 1 }} och {{ $json.Last_Send_Date }}.
  5. Behörighet krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Usage Metrics.
  6. Öppna Append New User Row och bekräfta att Operation är append med värdena {{ $('Incoming Webhook Trigger').item.json.body.from }} och {{ $now.format('yyyy-MM-dd') }}.
  7. Behörighet krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Append New User Row.
⚠️ Vanlig fallgrop: Säkerställ att ert ark har kolumnerna Email, Send_Count, Total_Sent och Last_Send_Date för att matcha mappningarna i Update Usage Metrics och Append New User Row.

Steg 3: sätt upp process- och åtkomstlogik

Definiera routning och logik för daglig sändgräns för demoanvändare.

  1. I Validate Access Mode, verifiera att villkoret jämför {{$json.body.mode}} med demo med contains.
  2. I Detect Existing User, behåll JavaScript-koden som upptäcker matchande rader och sätter exists och email.
  3. I User Presence Check, bekräfta att det booleska villkoret kontrollerar att {{ $json.exists }} är true.
  4. I Daily Limit Computation, behåll JavaScript-logiken som sätter canSend och ökar Send_Count med en daglig gräns på 5.
  5. I Send Permission Gate, bekräfta att det booleska villkoret kontrollerar att {{ $json.canSend }} är true, annars routa till Limit Reached Reply.

Steg 4: konfigurera noder för utdata och notifieringar

Skicka e-post, uppdatera mätvärden och notifiera via Telegram baserat på åtkomstläget.

  1. Öppna Dispatch Demo Email och bekräfta att fälten använder uttryck: Subject {{ $('Incoming Webhook Trigger').item.json.body.subject }}, To Email {{ $('Incoming Webhook Trigger').item.json.body.to }}, From Name {{ $('Incoming Webhook Trigger').item.json.body.from }} och HTML {{ $('Incoming Webhook Trigger').item.json.body.html }}.
  2. Behörighet krävs: Anslut era sendGridApi-uppgifter i Dispatch Demo Email.
  3. Öppna Dispatch Pro Email och bekräfta att fälten använder uttryck: Subject {{ $json.body.subject }}, To Email {{ $json.body.to }} och HTML {{ $json.body.html }}, med From Name satt till Pro User.
  4. Behörighet krävs: Anslut era sendGridApi-uppgifter i Dispatch Pro Email.
  5. Öppna Telegram Status Alert och sätt Chat ID till [YOUR_ID], och behåll meddelandemallen med uttryck för avsändare, mottagare och återstående antal.
  6. Behörighet krävs: Anslut era telegramApi-uppgifter i Telegram Status Alert.
  7. Bekräfta svarsnoderna: Demo Success Reply returnerar {{ { "success": true, "message": "Email sent successfully!", "mode": "demo", "remaining": 5 - $json.newCount } }}, Pro Success Reply returnerar {{ { "success": true, "message": "Email sent successfully!", "mode": "pro" } }} och Limit Reached Reply returnerar {{ { "success": false, "error": "Daily limit reached (5 emails/day)", "message": "You've reached your daily limit. Upgrade to Pro for unlimited sends!", "current_count": $json.currentCount } }}.
  8. Notera det parallella flödet: Append New User Row skickar utdata till både Telegram Status Alert och Dispatch Demo Email parallellt, och Update Usage Metrics skickar utdata till både Dispatch Demo Email och Telegram Status Alert parallellt.
⚠️ Vanlig fallgrop: Ersätt platshållarna [YOUR_EMAIL] och [YOUR_ID] i Dispatch Demo Email, Dispatch Pro Email, Retrieve Sheet Records, Update Usage Metrics, Append New User Row och Telegram Status Alert.

Steg 5: testa och aktivera ert workflow

Validera demo- och proflödena och aktivera sedan workflowet för produktionsanvändning.

  1. Klicka på Execute Workflow och skicka en POST-begäran till Incoming Webhook Trigger-URL:en med body.mode satt till demo.
  2. Verifiera att en rad hittas eller läggs till i Google Sheets och bekräfta sedan att Dispatch Demo Email skickar och att Demo Success Reply returnerar ett JSON-svar.
  3. Trigga ytterligare demosändningar tills den dagliga gränsen överskrids och bekräfta att Limit Reached Reply returnerar HTTP 429.
  4. Skicka en POST-begäran med body.mode satt till ett icke-demo-värde (t.ex. pro) och bekräfta att Dispatch Pro Email skickar och att Pro Success Reply returnerar success-JSON.
  5. När allt är validerat, slå på workflowet till Active så att webhooken accepterar produktions-trafik.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Behörigheter i Google Sheets kan misslyckas tyst om det anslutna Google-kontot tappar åtkomst till kalkylarket. Kontrollera n8n-autentiseringsuppgiften och delningsinställningarna för arket först.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre ned fallerar på tomma svar.
  • SendGrid avvisar skick om din avsändaridentitet inte är verifierad eller om du når dagstaket för gratisnivån. Kontrollera SendGrid Activity och avsändarautentisering innan du skyller på arbetsflödet.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för SendGrids sändgränser?

Cirka 45 minuter om ditt Sheet och ditt SendGrid-konto är redo.

Krävs det kod för den här nyhetsbrevsautomatiseringen med sändgränser?

Nej. Du kopplar främst konton och mappar fält i n8n.

Är n8n gratis att använda för det här arbetsflödet med SendGrids sändgränser?

Ja. n8n har ett gratisalternativ för egen hosting 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 SendGrid-användning (gratisnivån inkluderar cirka 100 mejl/dag).

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 hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet med SendGrids sändgränser för andra användningsfall?

Ja, och det bör du förmodligen. Du kan ändra dagstaket genom att justera logiken i kodnoden ”Daily Limit Computation”, och du kan ändra vad som händer i spärren i ”Send Permission Gate” (till exempel tillåta 1 skick/dag för provperioder eller blockera per domän). Vanliga justeringar är att lägga separata gränser per workspace, logga kampanj-ID:n till Sheets och skicka admin-notiser endast vid fel i stället för vid varje skick.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast är det fel Google-konto eller en återkallad behörighet. Återanslut Google Sheets-autentiseringsuppgiften i n8n och bekräfta sedan att kalkylarket är delat med det kontot och att fliknamnet matchar det noden förväntar sig. Kontrollera också om dina kolumner har ändrats, eftersom saknade rubriker kan göra att uppslag beter sig som ”användare hittas inte”.

Vilken volym kan det här arbetsflödet med SendGrids sändgränser hantera?

På n8n Cloud Starter kan du hantera några tusen arbetsflödeskörningar per månad, vilket räcker gott för demostadiet. Om du hostar själv finns ingen körningsgräns, så volymen beror på din server och hur stora dina utskick är. I praktiken är det ofta SendGrids gränser som blir flaskhalsen först (gratisnivån är cirka 100 mejl/dag), inte n8n. Om du skickar till stora listor, överväg att batcha och skicka färre Telegram-notiser.

Är den här automatiseringen för SendGrids sändgränser bättre än att använda Zapier eller Make?

Ofta, ja, eftersom logiken för ”freemium-spärren” är hela poängen här. n8n hanterar förgrening, kodbaserade kontroller och uppdateringar i flera steg utan att varje väg blir en separat betald task. Zapier eller Make kan fortfarande fungera om dina regler är väldigt enkla, men när du börjar göra ”hitta användare, skapa om den saknas, beräkna daglig gräns och sedan svara” blir det snabbt rörigt. En annan faktor är hosting. Egen hosting av n8n ger förutsägbara kostnader, vilket spelar roll när gratisanvändare belastar din demo. Prata med en automationsexpert om du vill ha en snabb rekommendation utifrån dina volymer.

När det här väl rullar slutar demogränsen vara en diskussion och blir en regel som systemet upprätthåller varje gång. Den tydligheten är ärligt talat det som gör att freemium inte spårar ur i kaos.

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

Launch login modal Launch register modal