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
flowchart LR
subgraph sg0["Each 60 minutes Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create Session"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>List followers"]
n2@{ icon: "mdi:cog", form: "rounded", label: "Convert to File", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Find new followers"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Read followers from file", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Save followers to file", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Define welcome message", pos: "b", h: 48 }
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send message"]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get conversation ID"]
n13@{ icon: "mdi:play-circle", form: "rounded", label: "Each 60 minutes", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "No Operation, do nothing", pos: "b", h: 48 }
n6 --> n2
n4 --> n5
n11 --> n5
n0 --> n1
n1 --> n8
n1 --> n6
n2 --> n9
n13 --> n0
n5 --> n10
n3 --> n7
n7 --> n4
n12 --> n11
n10 --> n12
n9 --> n14
n8 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n13 trigger
class n0,n1,n11,n12 api
class n7 code
classDef customIcon fill:none,stroke:none
class n0,n1,n7,n11,n12 customIcon
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
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
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.
- Lägg till och öppna Hourly Schedule Trigger.
- Ställ in intervallregeln till Minutes med
60i fältet minutesInterval. - Koppla Hourly Schedule Trigger till Initiate Session.
Steg 2: anslut Bluesky-session och hämtning av följare
Autentisera mot Bluesky och hämta den senaste listan med följare.
- Öppna Initiate Session och ställ in URL till
https://bsky.social/xrpc/com.atproto.server.createSession. - Ställ in Method till
POSToch aktivera Send Body. - I Body Parameters, ställ in identifier till
[YOUR_ID]och password till[CONFIGURE_YOUR_TOKEN]. - Öppna Retrieve Followers och ställ in URL till
https://bsky.social/xrpc/app.bsky.graph.getFollowers. - Aktivera Send Query och ställ in actor till
{{ $json.did }}, limit till100. - Aktivera Send Headers och ställ in Authorization till
Bearer {{ $item("0").$node["Initiate Session"].json["accessJwt"] }}. - Konfigurera paginerings-cursor till
{{ $response.body.cursor }}med ett request-intervall på250och max requests2.
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.
- I Read Followers File, ställ in File Selector till
=followers-{{ $('Initiate Session').item.json.handle }}.json. - Koppla Read Followers File till Load From File och ställ in Operation till
fromJson. - Öppna Detect New Followers och behåll den medföljande JavaScript-koden som jämför data från
Retrieve FollowersochLoad From File. - Verifiera att Detect New Followers skickar ut newDids och count för vidare bearbetning.
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.
- I Distribute Records, ställ in Field to Split Out till
newDidsoch behåll destinationFieldName somdid. - Koppla Distribute Records till Batch Through Items för att strypa utflödet.
- Öppna Compose Welcome Note och ställ in text till
Hello, thanks for your follow. You can read more about my over my site:. - Ställ in link till
https://example.comi Compose Welcome Note.
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.
- Ö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. - Ställ in query-parametern members till
{{ $('Distribute Records').item.json.did }}och lägg till headers Authorization och Atproto-Proxy. - Öppna Dispatch Message och ställ in URL till
{{ $item("0").$node["Initiate Session"].json.didDoc.service[0].serviceEndpoint }}/xrpc/chat.bsky.convo.sendMessage. - Behåll Method som
POSToch Specify Body somjson. - 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 }}. - Säkerställ att headers inkluderar Authorization och Atproto-Proxy enligt konfiguration.
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.
- Retrieve Followers skickar utdata både till Read Followers File och Pause Execution parallellt.
- Öppna Pause Execution för att styra flödets timing och koppla den sedan till Serialize to File.
- I Serialize to File, ställ in Operation till
toJsonoch behåll filnamnsalternativet vid behov. - I Write Followers File, ställ in Operation till
writeoch File Name till=followers-{{ $('Initiate Session').item.json.handle }}.json. - Behåll No-Op Placeholder ansluten för framtida utbyggnad eller felsökning.
Steg 7: testa och aktivera ert arbetsflöde
Validera flödet end-to-end och aktivera sedan schemat för produktionskörningar.
- Klicka på Execute Workflow för att köra ett manuellt test som startar från Hourly Schedule Trigger.
- Bekräfta att Retrieve Followers returnerar följardata och att Detect New Followers skickar ut en
newDids-array. - Verifiera att Fetch Conversation ID returnerar ett convo-ID och att Dispatch Message slutförs utan fel.
- Kontrollera att Write Followers File skapar eller uppdaterar filen med namnet
followers-{{ $('Initiate Session').item.json.handle }}.json. - Slå på arbetsflödet med reglaget Active för att aktivera timvis automation.
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
Cirka 30 minuter om du redan har ditt Bluesky app-lösenord klart.
Ingen kodning krävs. Du kopplar autentiseringsuppgifter, redigerar texten för välkomstmeddelandet och kör engångs-setupen “save followers”.
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.
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.
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.
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.
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.
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.