Ditt Instagram-engagemang ska inte hänga på att någon kommer ihåg att ”gå in och gilla några inlägg” mellan möten. Men det är precis det som händer. Resultatet blir ojämn aktivitet, missade dagar och att samma konton träffas igen eftersom ingen har koll på vad som redan har gillats.
Det här med automatisering av Instagram-gilla drabbar social media managers först, men tillväxtteam och små varumärken känner av det också. Du vill ha ett stabilt engagemang utan att scrolla flöden, gissa eller föra kaotiska anteckningar i ett kalkylark som alltid är inaktuellt.
Det här flödet kör gilla-markeringar enligt schema, hämtar inlägg från profiler du följer, loggar varje gillad URL i SharePoint och undviker dubbletter automatiskt. Nedan ser du vad det gör, vad du får och hur du gör det till ditt.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Phantombuster + SharePoint för jämna Instagram-likes
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n2["<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/>Get Random Post"]
n3["<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/>Create CSV Binary"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Upload CSV", pos: "b", h: 48 }
n5["<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/phantombuster.png' width='40' height='40' /></div><br/>Get Response"]
n6["<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/phantombuster.png' width='40' height='40' /></div><br/>Get Autoliking Agent"]
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/phantombuster.png' width='40' height='40' /></div><br/>Launch AL Agent"]
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set ENV Variables", pos: "b", h: 48 }
n9@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Update file", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Download file", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Check if in List"]
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n15["<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/>Prepare Updated Data"]
n16@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n17@{ icon: "mdi:cog", form: "rounded", label: "Convert to File", pos: "b", h: 48 }
n18@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n19@{ icon: "mdi:cog", form: "rounded", label: "Get Available Session Cookies", pos: "b", h: 48 }
n20@{ icon: "mdi:cog", form: "rounded", label: "Extract Cookies", pos: "b", h: 48 }
n21@{ icon: "mdi:robot", form: "rounded", label: "Select Cookie", pos: "b", h: 48 }
n22["<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/phantombuster.png' width='40' height='40' /></div><br/>Launch Agent"]
n23["<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/phantombuster.png' width='40' height='40' /></div><br/>Get Profile Extractor Agent"]
n24@{ icon: "mdi:cog", form: "rounded", label: "Get List of Accounts", pos: "b", h: 48 }
n25@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Empty", pos: "b", h: 48 }
n26["<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/>HTTP Request"]
n27["<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/>HTTP Request1"]
n28["<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/>Prepare Posts"]
n13 --> n14
n13 --> n15
n0 --> n26
n1 --> n5
n14 --> n2
n25 --> n14
n4 --> n6
n10 --> n3
n26 --> n27
n22 --> n0
n11 --> n16
n27 --> n28
n28 --> n25
n21 --> n8
n17 --> n10
n20 --> n21
n2 --> n11
n7 --> n1
n12 --> n13
n9 --> n19
n3 --> n4
n16 --> n12
n8 --> n23
n18 -.-> n21
n6 --> n7
n24 --> n22
n15 --> n17
n23 --> n24
n19 --> n20
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 n9 trigger
class n21 ai
class n18 aiModel
class n13,n25 decision
class n26,n27 api
class n2,n3,n12,n15,n28 code
classDef customIcon fill:none,stroke:none
class n2,n3,n5,n6,n7,n12,n15,n22,n23,n26,n27,n28 customIcon
Problemet: manuell gillning på Instagram är inkonsekvent och går inte att spåra
”Lägg bara 15 minuter om dagen på att engagera” låter enkelt tills du ska göra det varje dag, för flera kunder eller varumärkeskonton. Du öppnar Instagram, tappar tid i flödet, glömmer vilka profiler du tänkte engagera dig i och börjar sedan tveka: gillade jag inte det där inlägget redan förra veckan? Multiplicera det med några bevakade profiler och det blir ett återkommande tidsläckage. Än värre: utan spårning blir arbetet slarvigt, vilket betyder att du antingen upprepar likes (bortkastade åtgärder) eller låter bli att engagera dig alls (tappat momentum).
Friktionen bygger på. Här är var det brukar fallera i verkligheten:
- Du slutar med att gilla det du ser först, inte inlägg från profilerna du faktiskt ville stötta.
- Utan en strukturerad ”redan gillat”-logg smyger dubbletter in och ditt engagemang ser robotiskt ut.
- Cookiesessioner blir stökiga mellan konton, så du slösar tid på att logga in igen i stället för att engagera dig.
- Det är svårt att strypa manuellt, vilket gör att team råkar överdriva under stressiga dagar.
Lösningen: schemalagda likes med SharePoint-spårning (inga upprepningar)
Det här n8n-flödet gör Instagram-engagemang till en kontrollerad och spårbar rutin. Varannan timme vaknar det, laddar dina bevakade Instagram-profiler från en CSV i SharePoint och hämtar sedan upp till 20 senaste inlägg per profil via en Phantombuster-extraktor. Det roterar sessionscookies (också lagrade i SharePoint) så att du kan sprida aktiviteten säkert över flera inloggningar. Därefter väljer det ett slumpmässigt inlägg, kontrollerar det mot din ”redan gillat”-CSV och fortsätter bara om det är nytt. När det gillar ett inlägg lägger flödet till den URL:en i SharePoint, så att den inte rörs igen. Wait-noder bromsar ner allt så att aktiviteten blir jämn i stället för spikig.
Flödet startar via en schematrigger (varannan timme som standard). Det hämtar inlägg, filtrerar bort allt som redan är loggat och skickar sedan vald URL till Phantombuster Autolike Agent. Till sist uppdaterar det dina SharePoint-filer så att morgondagens körning är smartare än dagens.
Vad du får: 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 bevakar 10 Instagram-profiler för ett varumärke. Manuellt tar även en ”snabb” rutin cirka 5 minuter per profil (öppna, hitta ett nytt inlägg, gilla, komma ihåg vad du gjorde), alltså ungefär 50 minuter per dag. Med det här flödet uppdaterar du profiles_instagram.csv en gång och sedan kör det varannan timme och stryper till runt 12 likes per profil och dag. Din dagliga tid går i praktiken ner till noll, förutom en snabb veckovis kontroll att SharePoint-filerna och Phantombuster-jobben mår bra.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger funkar bra)
- Phantombuster för att extrahera inlägg och gilla dem
- Microsoft SharePoint för att lagra CSV:er och cookie-fil
- Phantombuster API-nyckel (hämta den i dina kontoinställningar i Phantombuster)
Kunskapsnivå: Medel. Du kopplar upp autentiseringar, lägger rätt filer i SharePoint och justerar ett par tidsinställningar.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett schema drar i gång allt. Flödet startar varannan timme, så att engagemanget fördelas över dagen i stället för att dumpas i en stor burst.
SharePoint levererar ”trafikreglerna”. n8n laddar ner din cookie-fil (instagram_session_cookies.txt), din lista med bevakade profiler (profiles_instagram.csv) och din ”redan gillat”-logg (instagram_posts_already_liked.csv).
Phantombuster hämtar inlägg, sedan väljer n8n säkert. Flödet hämtar upp till 20 senaste inlägg per profil, formaterar resultaten, väljer ett slumpmässigt inlägg och kontrollerar dubbletter. Om det redan finns i loggen väntar det en stund och försöker igen. Enkelt, men effektivt.
Liken körs, sedan uppdateras loggen. Phantombusters Autolike Agent gör själva gillningen. Efter en kort fördröjning lägger flödet till den gillade URL:en i SharePoint så att nästa körning inte upprepar den.
Du kan enkelt ändra schemat och strypningen så att det matchar din risknivå och kontostorlek. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Schedule Trigger
Ställ in arbetsflödets frekvens så att pipelinen körs enligt ett förutsägbart schema.
- Öppna Scheduled Start och ställ in intervallregeln till var 2 hours med Trigger at minute satt till
15. - Behåll Scheduled Start ansluten till Fetch Session Cookie File för att starta dataflödet när schemat triggar.
Steg 2: Anslut Microsoft SharePoint-källor
Dessa noder hanterar era in- och utdatafiler för cookies, profiler och gillade inlägg. Konfigurera SharePoint en gång och återanvänd autentiseringen i dessa noder.
- I Fetch Session Cookie File väljer ni filen
instagram_session_cookies.txti er SharePoint-mapp. Credential Required: Anslut eramicrosoftSharePointOAuth2Api-uppgifter. - I Retrieve Account List ställer ni in File Name till
instagram_profiles_to_scrape.csvoch Operation tillupdate. Credential Required: Anslut eramicrosoftSharePointOAuth2Api-uppgifter. - I Download Liked CSV pekar ni på
instagram_posts_already_liked.csv. Credential Required: Anslut eramicrosoftSharePointOAuth2Api-uppgifter. - I Update Liked CSV ställer ni in File Name till
instagram_posts_already_liked.csv, Operation tillupdateoch aktiverar Change File Content. Credential Required: Anslut eramicrosoftSharePointOAuth2Api-uppgifter. - I Upload CSV File ställer ni in File Name till
instagram_posts_to_like.csvoch Operation tillupload. Credential Required: Anslut eramicrosoftSharePointOAuth2Api-uppgifter.
⚠️ Vanlig fallgrop: Säkerställ att alla SharePoint-noder pekar på samma Site och Folder för att undvika saknade filer vid körning.
Steg 3: Konfigurera val av sessionscookie (AI)
Den här delen extraherar cookie-data, väljer en sessionscookie via AI-agenten och sparar den för efterföljande noder.
- I Extract Cookie Text ställer ni in Operation till
textför att läsa sessionscookie-filen som vanlig text. - I Choose Session Cookie behåller ni Prompt som angivet, inklusive uttrycken
{{ $now.setZone('Europe/Berlin').format('DD HH:mm:ss') }},{{ $now.setZone('Europe/Berlin').format('HH') }}och{{ $json.data }}. - Öppna OpenAI Chat Model och ställ in Model till
chatgpt-4o-latest. Credential Required: Anslut eraopenAiApi-uppgifter. OpenAI Chat Model är ansluten som språkmodell för Choose Session Cookie—säkerställ att uppgifter är tillagda i OpenAI Chat Model. - I Assign ENV Settings ställer ni in ENV_SESSION_COOKIE till
{{ $('Choose Session Cookie').first().json.output.parseJson().session_cookie }}.
Tips: Håll listan med sessionscookies till 2–4 poster, så att den matchar tidssegmentlogiken i Choose Session Cookie.
Steg 4: Konfigurera profilscraping och hämta resultat
Dessa noder startar profilscrapern, väntar på att den blir klar och hämtar sedan inläggs-URL:er från Phantombuster.
- I Fetch Profile Extractor Agent ställer ni in Agent ID till ert Phantombuster-agent-ID (ersätt
[YOUR_ID]). Credential Required: Anslut eraphantombusterApi-uppgifter. - I Launch Profile Scraper behåller ni Agent ID satt till
{{ $('Fetch Profile Extractor Agent').item.json.id }}och låter JSON Parameters vara aktiverat. Bekräfta att Arguments JSON innehåller"numberOfPostsPerProfile": 20,"filters": "postUrl","spreadsheetUrl": "{{ $('Retrieve Account List').item.json['@content.downloadUrl'] }}"och"sessionCookie": "{{ $('Assign ENV Settings').item.json.ENV_SESSION_COOKIE }}". Credential Required: Anslut eraphantombusterApi-uppgifter. - I Pause Interval ställer ni in Amount till
30sekunder. - I Primary Agent Request ställer ni in URL till
https://api.phantombuster.com/api/v2/agents/fetch?id=[YOUR_ID]och Authentication tillpredefinedCredentialType. Credential Required: Anslut eraphantombusterApi-uppgifter. - I Secondary Result Request ställer ni in URL till
https://phantombuster.s3.amazonaws.com/{{ $json.data?.orgS3Folder || $json.orgS3Folder }}/{{ $json.data?.s3Folder || $json.s3Folder }}/filtered_result.csv. Credential Required: Anslut eraphantombusterApi-uppgifter.
⚠️ Vanlig fallgrop: Ersätt varje [YOUR_ID] i Phantombuster-noderna med riktiga agent-ID:n, annars misslyckas arbetsflödet vid fetch- och launch-anrop.
Steg 5: Bearbeta inlägg och hantera dubbletter
Den här delen formaterar de scrapade inläggen, kontrollerar tomma listor och undviker att gilla dubbletter igen.
- I Format Post Records behåller ni den angivna JavaScript-koden som delar upp CSV-data i
{ postUrl }-objekt. - I Check List Empty behåller ni villkoret som använder
{{ $json.isEmpty() }}för att routa tomma resultat till Retry Delay. - I Retry Delay lämnar ni väntinställningarna som konfigurerade för att pausa innan ni väljer ett inlägg på nytt.
- I Select Random Post behåller ni JavaScript-koden som väljer en slumpmässig
postUrlfrån listan. - I Parse Liked CSV aktiverar ni Header Row till
trueoch behåller Always Output Data aktiverat. - I Check Duplicate Record behåller ni JavaScript-logiken som normaliserar URL:er och jämför mot den parsade listan över gillade.
- I Duplicate Branch behåller ni villkoret
{{ $('Check Duplicate Record').first().json.isDuplicate }}för att routa dubbletter tillbaka till Retry Delay.
Steg 6: Uppdatera gillade-listan och bygg autolike-CSV:n
Dessa noder lägger till det nya inlägget i listan över gillade, genererar en ren CSV och laddar upp den för autolike-agenten.
- I Assemble Updated List behåller ni JavaScript-koden som slår ihop befintliga gillade URL:er med den nyligen valda
postUrl. - I Convert List to File behåller ni standardinställningarna för att skapa en binär fil för SharePoint.
- I Update Liked CSV säkerställer ni att File Name är
instagram_posts_already_liked.csvoch att File Contents ärdata. - I Build CSV Binary behåller ni JavaScript-koden som skapar
phantombuster_clean.csvfrån Select Random Post. - I Upload CSV File ställer ni in File Name till
instagram_posts_to_like.csvoch File Contents tilldata.
Steg 7: Kör autolike-jobbet och samla in output
Starta autolike-agenten, vänta på att den blir klar och hämta output för loggning eller revision.
- I Fetch Autolike Agent ställer ni in Agent ID till ert autolike-agent-ID. Credential Required: Anslut era
phantombusterApi-uppgifter. - I Start Autolike Job behåller ni JSON Parameters aktiverat och ställer in Arguments JSON med
"numberOfPostsPerLaunch": 1,"sessionCookie": "{{ $('Assign ENV Settings').first().json.ENV_SESSION_COOKIE }}"och"spreadsheetUrl": "{{ $('Upload CSV File').item.json['@content.downloadUrl'] }}". Credential Required: Anslut eraphantombusterApi-uppgifter. - I Post-Like Delay ställer ni in Amount till
30sekunder. - I Retrieve Like Output ställer ni in Operation till
getOutputoch säkerställer att rätt agent-ID är konfigurerat. Credential Required: Anslut eraphantombusterApi-uppgifter.
Steg 8: Testa och aktivera ert arbetsflöde
Kör ett kontrollerat test innan ni aktiverar schemat.
- Klicka på Execute Workflow för att trigga Scheduled Start manuellt och observera flödet genom Fetch Session Cookie File och efterföljande noder.
- En lyckad körning ska uppdatera
instagram_posts_already_liked.csvoch ladda uppinstagram_posts_to_like.csvi SharePoint, och därefter returnera resultat från Retrieve Like Output. - När testningen är klar växlar ni arbetsflödet till Active för att aktivera schemat.
Vanliga fallgropar
- Autentiseringar för Microsoft SharePoint kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först din Microsoft 365 OAuth-anslutning i n8n:s lista över Credentials.
- Om du använder Wait-noder eller extern jobbkörning i Phantombuster varierar sluttiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Cookie-rotationen är bara så bra som din hygien i instagram_session_cookies.txt. Ta bort döda sessioner snabbt, eftersom upprepade inloggningsutmaningar kan stoppa likes och skapa brusiga fel.
Vanliga frågor
Cirka 30 minuter om du redan har Phantombuster och SharePoint redo.
Nej. Det handlar mest om att koppla konton och lägga de nödvändiga CSV-/textfilerna i rätt SharePoint-mapp.
Ja. n8n har ett gratis alternativ 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 Phantombusters plan (det här flödet utgår från Growth-planen).
Två alternativ: n8n Cloud (hanterad tjänst, enklast att sätta upp) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en ändring du sannolikt vill göra. Justera schemat i Scheduled Start-noden så att den kör mer sällan och finjustera sedan Wait-noderna (Pause Interval, Post-Like Delay och Retry Delay) för att sänka tempot. Vill du ha färre mål redigerar du profiles_instagram.csv i SharePoint och tar bort rader. Du kan också byta SharePoint-lagring mot Google Drive eller Dropbox genom att ersätta SharePoint-noderna för nedladdning/uppladdning och behålla samma filnamn.
Oftast beror det på en utgången eller felaktig Phantombuster API-nyckel, så skapa en ny och uppdatera autentiseringen i n8n. Det kan också hända om den agent som flödet refererar till inte ingår i din plan, eller om ett jobb fortfarande kör och flödet hämtar resultat för snabbt. Om felen kommer och går är det ofta rate limits eller instabila cookies som är boven, inte n8n i sig.
I praktiken begränsas det av ditt schema, din strypning via Wait och din Phantombuster-plan. Extraktorn kan hämta upp till 20 senaste inlägg per profil och körning, och flödet är byggt för att hålla aktiviteten runt 12 likes per profil och dag. I n8n Cloud beror din månatliga gräns för körningar på din plan; om du hostar själv finns ingen körningsgräns, men servern måste fortfarande vara online.
Ofta, ja, eftersom det här inte är en enkel zap i två steg. Du hanterar filer, slumpmässigt urval, avduplicering mot en CSV, väntetider mellan åtgärder och polling av ett externt jobb för resultat. n8n är byggt för den typen av grenlogik, och egen hosting kan hålla kostnaderna förutsägbara om du kör ofta. Zapier eller Make kan fortfarande fungera om du förenklar kraven, men då slutar det ofta med att du lappar ihop workarounds för state (”redan gillat”-loggen) och fördröjningar. Prata med en automationsexpert om du vill ha hjälp att välja det renaste upplägget.
Konsekvent engagemang behöver inte vara en daglig syssla. Sätt upp detta en gång, håll dina SharePoint-listor i ordning och låt flödet sköta det repetitiva.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.