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

Bluesky + Google Sheets: välkomst-DM loggas

Rickard Andersson Partner, Nodenordic.se

Du får några nya följare på Bluesky, du tänker skicka ett snabbt välkomst-DM … och så tar dagen över. Senare minns du inte vem du messade, vem du missade, eller om du råkade skicka dubbelt.

Det här drabbar marknadsförare som försöker bygga relationer tidigt. En solo-grundare känner det också, eftersom varje DM är “sälj” i förklädnad. Och community-ansvariga fastnar i samma loop. Den här automatiseringen för Bluesky DM-spårning gör dig konsekvent utan att förvandla dina morgnar till adminjobb.

Du får se hur flödet kontrollerar nya följare varje timme, skickar ett välkomstmeddelande bara till de nya och loggar varje utskick så att du alltid vet vad som hände.

Så fungerar den här automatiseringen

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

n8n Workflow Template: Bluesky + Google Sheets: välkomst-DM loggas

Problemet: välkomst-DM skalar inte manuellt

Att skicka välkomst-DM låter enkelt tills du försöker göra det varje dag. Bluesky radar inte snällt upp nya följare åt dig med en “behandlad”-bock, så du hamnar med att hoppa mellan din följarliste, dina meddelanden och vilka anteckningar du nu har (om du ens för anteckningar). Missar du en dag sitter du plötsligt och scrollar bakåt bland namn och tvivlar på dig själv. Dubbelmessar du några personer börjar det kännas spammigt. Skiter du i det helt missar du det enklaste “första beröring”-tillfället du får.

Friktionen byggs på, särskilt när du växer.

  • Du lägger cirka 10 minuter bara på att lista ut vem som faktiskt är ny.
  • Det är lätt att DM:a samma person två gånger när följarlistan ändras snabbt.
  • Manuell outreach blir ojämn, vilket gör att din “välkomst” blir en slumpmässig händelse istället för ett pålitligt system.
  • Det finns ingen strukturerad logg i efterhand, så du kan inte se vilket meddelande som skickades eller när.

Lösningen: skicka Bluesky-välkomst-DM automatiskt och spåra dem

Det här n8n-flödet körs enligt ett schema (var 60:e minut), kontrollerar ditt Bluesky-konto efter följare, jämför listan med vad det redan har sett och identifierar bara de nya personerna. För varje ny följare skriver det ihop ditt välkomstmeddelande, öppnar eller hittar rätt DM-konversation och skickar meddelandet automatiskt. Sedan uppdaterar det sin sparade följarliste så att samma person inte triggar igen nästa timme. I praktiken får du en jämn ström av “alltid på”-introduktioner utan att behöva bo i inkorgen.

Flödet startar med en timtrigger och skapar en Bluesky-session (med ditt app-lösenord). Det hämtar de senaste följarna, laddar din tidigare sparade följarliste och flaggar skillnaden. Till sist batchar det igenom nya följare, skickar DM, väntar kort för att vara schysst mot API:et och skriver sedan tillbaka den uppdaterade listan till lagringen.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du i snitt får 10 nya följare om dagen. Manuellt kanske du lägger cirka 2 minuter per person på att bekräfta att de är nya, öppna ett DM, klistra in ett meddelande och sedan spåra det någonstans, vilket blir runt 20 minuter om dagen. Med det här flödet är “jobbet” i princip noll: det kontrollerar var 60:e minut, meddelar bara de nya följarna och uppdaterar den lagrade listan automatiskt. Du får tillbaka tiden, och välkomstvanan slutar hänga på ditt minne.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Bluesky för följarkontroller och privata meddelanden.
  • Google Sheets för att logga varje DM-utskick och tidsstämpel.
  • Bluesky app-lösenord (skapa det i Bluesky-inställningarna med DM-åtkomst).

Kunskapsnivå: Nybörjare. Du lägger in autentiseringsuppgifter, klistrar in ett meddelande och kör en setup-nod en gång för att skapa den första följarlistan.

Vill du inte sätta upp det här själv? Prata med en automations-expert (gratis 15-minuters konsultation).

Så fungerar det

Timvis kontroll. En schema-trigger kör var 60:e minut och startar en ny session med Bluesky via HTTP Request.

Jämförelse av följare. Flödet hämtar dina nuvarande följare och läser sedan en sparad fil som innehåller följarlistan från senaste lyckade körning. Ett litet kodsteg upptäcker vem som är ny.

Skicka DM i batchar. Nya följare delas upp och bearbetas i batchar. För varje person sätter n8n texten för välkomstmeddelandet, hämtar konversations-ID och skickar sedan DM:et. Det finns också en kort väntan för att minska risken för strul med rate limits.

Spårning och “inga dubbletter”. Efter att meddelanden har skickats serialiserar flödet den uppdaterade följarlistan och skriver tillbaka den till filen, så att nästa timkörning har en felfri baseline. Om du dessutom är nyfiken på alternativa backends för spårning är upplägget likt Bluesky + Baserow: välkomst-DM, inga dubbletter, bara lagrat på ett annat sätt.

Du kan enkelt justera meddelandetexten så att den matchar din ton (eller lägga till flera varianter) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera Schedule Trigger

Ställ in arbetsflödet så att det körs varje timme med den inbyggda schematriggern.

  1. Lägg till och öppna Hourly Schedule Trigger.
  2. Ställ in intervallregeln till Minutes med 60 i fältet minutesInterval.
  3. Koppla Hourly Schedule Trigger till Initiate Session.

Håll trigger-intervallet i linje med er följarökning för att undvika rate limits i API:et.

Steg 2: anslut Bluesky-session och hämtning av följare

Autentisera mot Bluesky och hämta den senaste listan med följare.

  1. Öppna Initiate Session och ställ in URL till https://bsky.social/xrpc/com.atproto.server.createSession.
  2. Ställ in Method till POST och aktivera Send Body.
  3. I Body Parameters, ställ in identifier till [YOUR_ID] och password till [CONFIGURE_YOUR_TOKEN].
  4. Öppna Retrieve Followers och ställ in URL till https://bsky.social/xrpc/app.bsky.graph.getFollowers.
  5. Aktivera Send Query och ställ in actor till {{ $json.did }}, limit till 100.
  6. Aktivera Send Headers och ställ in Authorization till Bearer {{ $item("0").$node["Initiate Session"].json["accessJwt"] }}.
  7. Konfigurera paginerings-cursor till {{ $response.body.cursor }} med ett request-intervall på 250 och max requests 2.

⚠️ Vanlig fallgrop: Säkerställ att er identifier och token är giltiga; misslyckade sessioner gör att efterföljande hämtning av följare bryts.

Steg 3: läs in sparade följare och upptäck nya

Läs den sparade följare-filen, tolka den och jämför mot de senaste följarna för att hitta nya DID:ar.

  1. I Read Followers File, ställ in File Selector till =followers-{{ $('Initiate Session').item.json.handle }}.json.
  2. Koppla Read Followers File till Load From File och ställ in Operation till fromJson.
  3. Öppna Detect New Followers och behåll den medföljande JavaScript-koden som jämför data från Retrieve Followers och Load From File.
  4. Verifiera att Detect New Followers skickar ut newDids och count för vidare bearbetning.

Om filen inte finns vid första körningen, initiera en JSON-fil med en tom followers-array för att förhindra tolkningsfel.

Steg 4: konfigurera batchning och skapa välkomstmeddelande

Dela upp nya följar-ID:n i individuella poster, batcha dem och förbered innehållet för välkomstmeddelandet.

  1. I Distribute Records, ställ in Field to Split Out till newDids och behåll destinationFieldName som did.
  2. Koppla Distribute Records till Batch Through Items för att strypa utflödet.
  3. Öppna Compose Welcome Note och ställ in text till Hello, thanks for your follow. You can read more about my over my site:.
  4. Ställ in link till https://example.com i Compose Welcome Note.

Uppdatera välkomsttexten och länken så att de matchar er profil och landningssida innan ni går live.

Steg 5: skicka välkomstmeddelanden via Chat API

Hämta ett konversations-ID för varje ny följare och skicka sedan ett formaterat meddelande med en länk.

  1. Öppna Fetch Conversation ID och ställ in URL till {{ $item("0").$node["Initiate Session"].json.didDoc.service[0].serviceEndpoint }}/xrpc/chat.bsky.convo.getConvoForMembers.
  2. Ställ in query-parametern members till {{ $('Distribute Records').item.json.did }} och lägg till headers Authorization och Atproto-Proxy.
  3. Öppna Dispatch Message och ställ in URL till {{ $item("0").$node["Initiate Session"].json.didDoc.service[0].serviceEndpoint }}/xrpc/chat.bsky.convo.sendMessage.
  4. Behåll Method som POST och Specify Body som json.
  5. Använd det medföljande uttrycket jsonBody för att bygga meddelandet med {{ $('Compose Welcome Note').item.json.text }} och {{ $('Compose Welcome Note').item.json.link }}.
  6. Säkerställ att headers inkluderar Authorization och Atproto-Proxy enligt konfiguration.

⚠️ Vanlig fallgrop: Beräkningen av byte-index i länkens facet bygger på exakt textlängd – om ni ändrar välkomsttexten utan att uppdatera längduttrycken kan länkrenderingen sluta fungera.

Steg 6: spara följare-fil och hantera parallell exekvering

Spara den senaste följarlistan till fil samtidigt som ni styr tempot i exekveringen via ett väntesteg.

  1. Retrieve Followers skickar utdata både till Read Followers File och Pause Execution parallellt.
  2. Öppna Pause Execution för att styra flödets timing och koppla den sedan till Serialize to File.
  3. I Serialize to File, ställ in Operation till toJson och behåll filnamnsalternativet vid behov.
  4. I Write Followers File, ställ in Operation till write och File Name till =followers-{{ $('Initiate Session').item.json.handle }}.json.
  5. Behåll No-Op Placeholder ansluten för framtida utbyggnad eller felsökning.

Parallell exekvering innebär att filläsning och väntan sker samtidigt; säkerställ att era filsökvägar är korrekta för att undvika att data saknas vid varje körning.

Steg 7: testa och aktivera ert arbetsflöde

Validera flödet end-to-end och aktivera sedan schemat för produktionskörningar.

  1. Klicka på Execute Workflow för att köra ett manuellt test som startar från Hourly Schedule Trigger.
  2. Bekräfta att Retrieve Followers returnerar följardata och att Detect New Followers skickar ut en newDids-array.
  3. Verifiera att Fetch Conversation ID returnerar ett convo-ID och att Dispatch Message slutförs utan fel.
  4. Kontrollera att Write Followers File skapar eller uppdaterar filen med namnet followers-{{ $('Initiate Session').item.json.handle }}.json.
  5. Slå på arbetsflödet med reglaget Active för att aktivera timvis automation.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Bluesky-autentisering kan löpa ut eller sakna rätt behörigheter. Om meddelanden slutar skickas, kontrollera först inställningarna för app-lösenordet (och DM-åtkomst).
  • Om du använder Wait-noder eller externa fördröjningar varierar processtiderna. Öka väntetiden om nedströms HTTP-anrop misslyckas eftersom konversationen inte är redo ännu.
  • Din standardtext för välkomstmeddelandet kommer snabbt kännas generisk. Uppdatera innehållet i “Compose Welcome Note” tidigt med din egen röst, annars kommer du ändå sitta och skriva om meddelanden för hand.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Bluesky DM-spårning?

Cirka 30 minuter om du redan har ditt Bluesky app-lösenord klart.

Behöver jag kunna koda för att automatisera Bluesky DM-spårning?

Ingen kodning krävs. Du kopplar autentiseringsuppgifter, redigerar texten för välkomstmeddelandet och kör engångs-setupen “save followers”.

Är n8n gratis att använda för det här flödet för Bluesky DM-spårning?

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 volymer. Du behöver också räkna in eventuella hostingkostnader om du kör self-hosted.

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

Två alternativ: n8n Cloud (hanterat, enklast setup) 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 det här flödet för Bluesky DM-spårning med olika meddelanden per följartyp?

Ja, men du behöver en regel för att klassificera följare. Vanliga anpassningar är att ändra texten i “Compose Welcome Note” baserat på nyckelord, lägga till en If-nod för att routa olika meddelanden eller justera schemaläggningsfrekvensen om du vill svara snabbare.

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

Oftast är det app-lösenordet. Skapa ett nytt med behörighet för privata meddelanden och uppdatera sedan autentiseringsuppgifterna som används av HTTP Request-noderna som initierar sessionen och skickar DM:et. Kontrollera också Blueskys rate limits för createSession om du har ökat schemat för aggressivt. Bekräfta till sist att flödet inte kör flera kopior samtidigt (till exempel efter import och test), eftersom parallella körningar kan skapa förvirrande autentiseringsfel.

Hur många följare klarar den här automatiseringen för Bluesky DM-spårning?

För de flesta mindre konton hanterar den daglig följartillväxt utan problem; den huvudsakliga begränsningen är Blueskys API-rate limits snarare än n8n.

Är den här automatiseringen för Bluesky DM-spårning bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här mönstret bygger på sparat tillstånd (följarlistan) och lite mer kontroll över batchning, väntetider och villkorslogik. n8n gör den typen av flöden enkla utan att varje extra steg blir en extra betald uppgift. Zapier eller Make kan fortfarande fungera om du håller det väldigt enkelt, men du kan hamna i att kämpa med “dubblettskydd” eller lagringsbegränsningar. Om du siktar på pålitlig spårning över tid är n8n oftast det lugnare alternativet. Prata med en automations-expert om du vill ha hjälp att välja.

När det här väl rullar sker välkomstmeddelanden tyst i bakgrunden och du slutar oroa dig för dubbletter. Sätt upp det en gång, och lägg sedan din uppmärksamhet på riktiga samtal.

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