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

Google Sheets + Slack för rensade Upwork-leads

Rickard Andersson Partner, Nodenordic.se

Du hittar ett lovande Upwork-jobb, och sedan försvinner det under en hög med nya flikar, halvsparade anteckningar och ”jag svarar senare”-meddelanden. Under tiden är ditt kalkylark antingen rörigt, fullt av dubletter eller helt enkelt inte uppdaterat när du faktiskt behöver det.

Den här automatiseringen av Upwork-leads drabbar frilansare först. Men byråägare som följer flera nischer känner av det lika mycket, och en marketing ops-person som stöttar outreach kommer känna igen samma kaos. Resultatet är enkelt: strukturerade leads i Google Sheets och en omedelbar Slack-ping så att du svarar snabbare, utan att behöva dubbelkolla Vollna hela dagen.

Nedan ser du exakt hur flödet fungerar, vad det sparar dig varje vecka och vad du behöver för att anpassa det till din egen feed och ditt team.

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + Slack för rensade Upwork-leads

Problemet: Upwork-leads blir röriga snabbt

Vollna är toppen på att lyfta fram möjligheter. Det jobbiga är vad som händer sen. Du skummar ett RSS-objekt, öppnar jobbet, kopierar länken, gissar budgetformatet, klistrar in en titel som innehåller konstiga avgränsare och försöker minnas var du sparade det. Gör du det 20 gånger blir din ”lead tracker” en skräplåda. Än värre: dubletter smyger sig in, så du tror att du redan har svarat när du inte har gjort det (eller så svarar du två gånger och ser slarvig ut).

Det bygger upp snabbt. Här är var det oftast faller isär i verkligheten.

  • Du lägger cirka 5 minuter per lead på att kopiera fält till ett ark och sedan fixa formateringen i efterhand.
  • Dubbelrader staplas på hög eftersom samma jobb dyker upp igen i flödet, vilket gör att din tracker slutar vara pålitlig.
  • Notiser är inkonsekventa, så du upptäcker bra jobb först efter att de redan har fått in förslag.
  • När flera personer jobbar i samma ark blir ”senaste” informationen en diskussion i stället för ett faktum.

Lösningen: Vollna RSS → strukturerat Google Sheet + Slack-notiser

Det här flödet pollar din Vollna RSS-feed enligt ett schema och gör om varje jobbpost till en korrekt formaterad, konsekvent post. Det tolkar de nyckelfält du faktiskt bryr dig om (titel, budget, kategorier, kompetenser, länk, publiceringstid, beskrivning), normaliserar stökig text och kontrollerar sedan i ditt Google Sheet om jobb-URL:en redan finns. Bara helt nya jobb läggs till som nya rader. När raden är skriven postar Slack en kompakt notis i den kanal du väljer så att du kan svara medan posten fortfarande är färsk. Valfritt kan den också skicka en e-postnotis för team som föredrar att routa via inkorgen.

Flödet startar med en schemalagd trigger, läser sedan din Vollna RSS-feed och sorterar poster efter publiceringstid. Efter ett snabbt filter (valfritt) och fältrensning deduplar den mot Google Sheets och postar till Slack endast när en ny rad har lagts till.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att din Vollna-feed fångar upp cirka 20 relevanta Upwork-jobb varje vecka. Manuellt tar det ungefär 5 minuter att logga varje jobb (öppna, kopiera fält, klistra in, fixa länken, lägga till ”publicerad”-kontext), vilket blir runt 100 minuter i veckan. Med det här flödet är ”jobbet” i princip noll efter uppsättning: schemat körs, arket uppdateras och Slack pingar dig automatiskt. I praktiken går du från nästan 2 timmar administration till några minuters snabb skanning och svar.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Vollna RSS-feed-URL för att hämta nya Upwork-jobb
  • Google Sheets för att lagra en strukturerad lead tracker
  • Slack för att avisera dig (eller ditt team) snabbt
  • Google OAuth-uppgifter (skapa i Google Cloud Console)
  • Slack OAuth-token (skapa i inställningarna för din Slack-app)
  • Gmail-uppgifter (valfritt) (anslut via n8n:s Gmail-node)

Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in din RSS-URL och matchar några kolumnnamn.

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

Så fungerar det

Ett schema kontrollerar efter nya jobb. n8n kör på ett intervall du väljer (var några minuter är vanligt), så du slipper uppdatera Vollna manuellt eller ha RSS-flikar öppna.

RSS-feeden läses in och städas. Flödet hämtar poster från din tokeniserade Vollna RSS-URL, filtrerar valfritt bort titlar som inte är ASCII, och sorterar sedan efter publiceringstid så att de senaste möjligheterna hanteras först.

Fält normaliseras till data som är redo för arket. Ett kodsteg extraherar och rensar delarna som ofta är inkonsekventa: delar upp budget- och titeldetaljer, fixar Upwork-länkar och skapar en enkel ”publicerad”-sträng (som ”Publicerad för 20 min sedan”) som är lätt att skanna.

Deduplering sker innan något skrivs. Flödet slår upp befintliga rader i Google Sheets, jämför via jobb-URL och lägger bara till rader för jobb du inte sett tidigare. Om en rad lades till postar Slack en kompakt notis i din valda kanal. E-post kan också aktiveras.

Du kan enkelt justera filtren för att fokusera på vissa nyckelord, kategorier eller budgetar beroende på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den schemalagda triggern

Ställ in arbetsflödet så att det körs enligt ett återkommande schema som kontrollerar RSS-flödet efter nya jobbinlägg.

  1. Lägg till och öppna Scheduled Automation Trigger.
  2. Ställ in schemaregeln så att den körs var 3:e minut genom att konfigurera Rule → Interval → Minutes till 3.
  3. Koppla Scheduled Automation Trigger till Retrieve RSS Feed.
Tip: Håll schemat frekvent under testning och justera sedan för att minska pollning av flödet vid behov.

Steg 2: anslut RSS-flödet och filtrera titlar

Hämta jobbannonser från RSS-flödet och säkerställ att titlarna är ASCII-säkra innan sortering.

  1. Öppna Retrieve RSS Feed och ställ in URL till https://www.vollna.com/rss/rftHMpSQCGeEfr2Zwjzb.
  2. Koppla Retrieve RSS Feed till Validate ASCII Titles.
  3. I Validate ASCII Titles ställer ni in filtervillkoret för att matcha ASCII-titlar med Left Value {{ $json.title }} och Right Value ^[\x00-\x7F]+$.
  4. Koppla Validate ASCII Titles till Order by Publish Time.
⚠️ Vanlig fallgrop: Om regexen eller vänstervärdet ändras kan titlar som inte är ASCII slinka igenom och slå sönder formateringen längre fram i flödet.

Steg 3: sätt upp sortering och extrahering av jobbfält

Sortera flödet efter publiceringsdatum och transformera varje objekt till en normaliserad jobbpost.

  1. Öppna Order by Publish Time och ställ in Sort Fields → Field Name till pubDate och Order till descending.
  2. Koppla Order by Publish Time till Extract Job Fields.
  3. I Extract Job Fields ska ni behålla den angivna JS Code som den är för att extrahera title, budget, posted, date, skills, categories, job_description och upwork_link.
  4. Extract Job Fields skickar ut data parallellt till både Lookup Sheet Rows och Match Dataset Records.
Tip: Håll utdatafältnamnen konsekventa eftersom efterföljande noder mappar dem direkt till kolumner i arket.

Steg 4: anslut Google Sheets för avduplicering

Kontrollera arket efter befintliga poster och matcha nya flödesobjekt innan ni lägger till dem.

  1. Öppna Lookup Sheet Rows och välj kalkylarket Document med [YOUR_ID] och Sheet Name Sheet1.
  2. Ställ in filtret så att Lookup Column UPWORK JOB LINK matchas mot Lookup Value {{ $json.upwork_link }}.
  3. Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Lookup Sheet Rows.
  4. Öppna Match Dataset Records och ställ in Merge By Fields för att jämföra upwork_link med UPWORK JOB LINK.
⚠️ Vanlig fallgrop: Om kolumnnamnet i ert ark skiljer sig från UPWORK JOB LINK måste ni uppdatera både Lookup Sheet Rows och Match Dataset Records, annars kommer matchningen att misslyckas.

Steg 5: konfigurera åtgärder för utdata (Sheets, Slack och e-post)

Lägg till nya poster, avisera i Slack och skicka ett bekräftelsemejl.

  1. Öppna Append Sheet Entry och ställ in Operation till append.
  2. Ställ in dokumentet till [YOUR_ID] och Sheet Name till Sheet1.
  3. Mappa kolumnerna till uttryck: DATE {{ $json.date }}, TITLE {{ $json.title }}, BUDGET {{ $json.budget }}, POSTED {{ $json.posted }}, SKILLS {{ $json.skills }}, CATEGORIES {{ $json.categories }}, JOB DESCRIPTION {{ $json.job_description }}, UPWORK JOB LINK {{ $json.upwork_link }}.
  4. Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Sheet Entry.
  5. Öppna Post Slack Alert och ställ in Channel till n8n-jobs (eller den kanal ni vill använda).
  6. Ställ in Text till =New Job Alert :fire: :fire: {{ $json.TITLE }} - {{ $json.BUDGET }} {{ $json.POSTED }} {{ $json['UPWORK JOB LINK'] }}.
  7. Credential Required: Anslut era slackOAuth2Api-inloggningsuppgifter i Post Slack Alert.
  8. Öppna Aggregate Messages och aggregera Field message.
  9. Öppna Dispatch Email Notice och ställ in Send To till [YOUR_EMAIL], Subject till Slack #n8n och Message till ✅ A message was just sent to #n8n-jobs!.
  10. Credential Required: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Email Notice.
Tip: Om ni vill ha samlade e-postaviseringar, säkerställ att Aggregate Messages bara tar emot objekt efter att Slack-inläggen har skickats och koppla sedan vidare till Dispatch Email Notice.

Steg 6: testa och aktivera ert arbetsflöde

Verifiera arbetsflödet från början till slut innan ni slår på schemalagd körning.

  1. Klicka på Execute Workflow för att köra ett manuellt test som startar vid Scheduled Automation Trigger.
  2. Bekräfta att objekt passerar Validate ASCII Titles, sorteras i Order by Publish Time och transformeras i Extract Job Fields.
  3. Verifiera avdupliceringen genom att kontrollera utdata från Lookup Sheet Rows och Match Dataset Records.
  4. Bekräfta att en ny rad läggs till i Google Sheets och att ett meddelande visas i Slack.
  5. Kontrollera att Dispatch Email Notice skickar bekräftelsemejlet.
  6. När allt är verifierat, slå på arbetsflödet till Active för att aktivera schemalagd körning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kolla först n8n-skärmen Credentials, och bekräfta sedan att det anslutna Google-kontot kan redigera målarket.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Slack-notiser kan ”misslyckas tyst” när kanal-ID:t är fel eller när appen inte är inbjuden till kanalen. Bekräfta kanal-ID:t i din konfiguration och säkerställ att Slack-appen har åtkomst.
  • Standardprompter i AI-noder är generiska. Lägg in ert tonalitet/brand voice tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen av Upwork-leads?

Cirka 30 minuter om dina konton är redo.

Behöver jag kunna koda för att automatisera spårning av Upwork-leads?

Nej. Du klistrar mest in konfigurationsvärden och kopplar Google Sheets och Slack.

Är n8n gratis att använda för det här workflowet för automatisering av Upwork-leads?

Ja. n8n har ett gratis, self-hosted-alternativ 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 Vollnas kostnader om din RSS-feed ingår i en betald plan.

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 self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här workflowet för automatisering av Upwork-leads med nyckelordsfiltrering?

Ja, och det är en av de bästa justeringarna du kan göra. Lägg in en include/exclude-kontroll för nyckelord direkt efter att RSS-posterna har lästs och sorterats, innan Google Sheets-uppslagningen kör. Många team filtrerar på kompetenser (”Webflow”, ”HubSpot”, ”Shopify”), minsta budget eller kategori så att Slack bara pingar för jobb de faktiskt skulle ta. Du kan också ta bort ASCII-titelfiltret om det döljer jobb du bryr dig om.

Varför fallerar min Google Sheets-anslutning i det här flödet?

Oftast är det utgångna OAuth-uppgifter eller fel Google-konto. Återanslut Google Sheets-credentials i n8n och bekräfta sedan att kontot kan redigera det kalkylarks-ID du konfigurerade. Dubbelkolla också att arknamnet matchar exakt, eftersom ”Sheet1” vs ”Sheet 1” kommer att få uppslagningar att fallera.

Hur många leads kan den här automatiseringen av Upwork-leads hantera?

Betydligt fler än vad de flesta team någonsin kommer dra från en enda feed.

Är den här automatiseringen av Upwork-leads bättre än att använda Zapier eller Make?

Det beror på, ärligt talat. n8n passar bättre när du bryr dig om dedupe-logik, uppslagningar och beteendet ”avisera mig bara när en rad faktiskt skrevs”, eftersom det är lätt att förgrena och jämföra utan att göra automatiseringen till en skör kedja av zaps. Det ger dig också ett self-hosted-alternativ, vilket kan spela roll om du pollar ofta. Zapier eller Make kan gå snabbare för en enkel tvåstegsnotis, men de blir klumpiga när du lägger till sortering, normalisering och jämförelser mot dataset. Om du är osäker, prata med en automationsexpert så pekar vi dig i rätt riktning.

Strukturerade leads, deduplade rader och en notis i samma sekund som något nytt dyker upp. Sätt upp det en gång, och lägg sedan din uppmärksamhet där den faktiskt lönar sig: att skriva bättre svar och vinna jobben.

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