Du får reda på en ny G2-recension när någon råkar kolla. Ibland är det en dag för sent. Ibland är det efter att prospektet redan har sett den.
Den här konfigurationen för G2-recensionsaviseringar träffar marknadsföringsleads först, eftersom recensioner påverkar konverteringen. Men customer success-team känner också av det, och grundare märker det definitivt när en ”2-stjärnig” recension ligger obesvarad. Målet är enkelt: få varje ny recension i Slack och logga den automatiskt.
Det här arbetsflödet övervakar dina G2-recensions-URL:er dagligen, upptäcker vad som är nytt, postar recensionen i Slack och lägger till den i Google Sheets. Du ser vad det löser, hur det fungerar och vad du behöver för att köra det stabilt.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: G2 till Slack: missa aldrig en ny recension igen
flowchart LR
subgraph sg0["Execute workflow every day 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/code.svg' width='40' height='40' /></div><br/>Add your competitors here"]
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Execute workflow every day", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get G2 data with ScrapingBee"]
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/html.dark.svg' width='40' height='40' /></div><br/>Get review section HTML"]
n4["<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/itemLists.svg' width='40' height='40' /></div><br/>Iterate on reviews"]
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/html.dark.svg' width='40' height='40' /></div><br/>Extract structured data"]
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/markdown.dark.svg' width='40' height='40' /></div><br/>Convert Review HTML to Markd.."]
n7@{ icon: "mdi:database", form: "rounded", label: "Get all past reviews", pos: "b", h: 48 }
n8["<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/merge.svg' width='40' height='40' /></div><br/>Continue only if review is new"]
n9["<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/slack.svg' width='40' height='40' /></div><br/>Send new review to Slack"]
n10@{ icon: "mdi:database", form: "rounded", label: "Add new review to Google She..", pos: "b", h: 48 }
n4 --> n5
n7 --> n8
n5 --> n6
n3 --> n4
n0 --> n2
n1 --> n7
n1 --> n0
n2 --> n3
n8 --> n10
n8 --> n9
n6 --> n8
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 n1 trigger
class n7,n10 database
class n2 api
class n0 code
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4,n5,n6,n8,n9 customIcon
Problemet: nya G2-recensioner missas (eller ignoreras för länge)
Recensioner kommer inte enligt ditt schema. De dyker upp precis före ett säljsamtal, mitt i lanseringsveckan eller på fredag klockan 18. Om ingen ser dem missar du tajmingen. En positiv recension ska firas och delas medan den är färsk. En negativ recension kräver ett snabbt, lugnt svar innan det blir ”det här företaget svarar aldrig” i köparens huvud. Att manuellt kolla G2 är dessutom märkligt dränerande. Det är ännu en flik, ännu ett ”jag gör det senare”, och det slutar ofta med att du inte bygger någon strukturerad recensionshistorik någonstans.
Friktionen byggs på. Här är var det faller isär.
- Du kollar G2 ”när du kommer ihåg”, vilket i praktiken är samma sak som att inte kolla.
- Någon skärmdumpar en recension till Slack, men det finns inget konsekvent format eller sammanhang.
- Du får ingen pålitlig logg, så rapportering om recensionsvolym och trender blir gissningar.
- Dåliga recensioner blir liggande för länge, och teamet får veta det först efter att skadan redan är skedd.
Lösningen: övervaka G2-recensioner dagligen och skicka dem till Slack + Sheets
Det här n8n-arbetsflödet kontrollerar en lista med G2-recensions-URL:er enligt ett schema, hämtar den senaste sidans innehåll och plockar ut recensionsdetaljer. Därefter formaterar det varje recension till ett Slack-vänligt meddelande (markdown), jämför det som hittas mot recensionerna du redan har lagrat i Google Sheets och behandlar bara verkligt nya recensioner som ”nya”. När en ny recension upptäcks postar det i din valda Slack-kanal så att rätt personer ser det direkt. Samtidigt lägger det till recensionen i ett Google Sheet så att du bygger en enkel, sökbar recensionsdatabas över tid. Ingen mer skattjakt. Inget mer ”svarade någon på den där?”
Arbetsflödet startar med en daglig schematrigger. Det hämtar G2-sidor via ett API-anrop (med ScrapingBee för att undvika att bli blockerad), tolkar HTML:en för att plocka ut recensionsfält och slår sedan ihop resultaten med ditt befintliga sheet så att dubbletter inte spammar Slack. Till sist får Slack aviseringen och Google Sheets får posten.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer 8 G2-URL:er (din produkt plus några konkurrenter). Manuellt tar en snabb koll kanske 5 minuter per URL, och sedan ytterligare 10 minuter för att klistra in höjdpunkter i Slack och uppdatera ett kalkylark, så du lägger ungefär en timme varje dag du gör det. Med det här arbetsflödet lägger du cirka 5 minuter en gång för att ange dina URL:er och din Slack-kanal, och sedan körs den dagliga körningen i bakgrunden. Ditt ”jobb” blir att skumma Slack-meddelandet och avgöra om du ska svara, dela det eller skicka vidare till support.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Slack för omedelbara teamnotiser
- Google Sheets för att lagra recensionshistorik
- ScrapingBee API-nyckel (hämta den i din ScrapingBee-dashboard)
Svårighetsnivå: Medel. Du kopplar konton, lägger in en API-nyckel och bekräftar vilka fält du vill spara.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett dagligt schema startar allt. n8n kör en gång per dag och laddar sedan din sparade lista med URL:er (dina produktrecensioner, konkurrenter eller båda) så att arbetsflödet vet vad som ska kontrolleras.
Sidorna hämtas på ett säkert sätt. En HTTP-förfrågan hämtar varje G2-sida via ScrapingBee, vilket hjälper dig att undvika captchas och blockerade förfrågningar som ofta uppstår vid direkt skrapning.
Recensioner tolkas och struktureras. Arbetsflödet extraherar HTML:en för recensionsdelen, loopar igenom varje recension som hittas och plockar ut nyckeldetaljer som betyg, titel och text. Sedan konverterar det till ett Slack-klart markdown-meddelande, så att det går att läsa på en sekund.
Endast ”nya” släpps igenom. Google Sheets används som minne. Arbetsflödet hämtar lagrade recensioner, slår ihop dem med den nya batchen och postar/lägger bara till sådant som inte har setts tidigare.
Du kan enkelt ändra listan över övervakade URL:er för att inkludera konkurrenter, nya produktsidor eller regionala listningar utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schema-triggern
Det här arbetsflödet körs dagligen och delas upp i två parallella grenar för att hämta sparade recensioner och nya konkurrentrecensioner.
- Lägg till och öppna Daily Schedule Trigger.
- Ställ in trigger-regeln så att den körs dagligen kl.
8(timme) för att matchatriggerAtHour: 8. - Bekräfta det parallella flödet: Daily Schedule Trigger skickar utdata till både Retrieve Stored Reviews och Define Rival List parallellt.
- (Valfritt) Behåll Flowpast Branding som en anteckning för dokumentation eller ta bort den om den inte behövs.
Steg 2: anslut Google Sheets
Dessa noder lagrar och jämför recensionshistorik för att identifiera nya recensioner.
- Öppna Retrieve Stored Reviews och välj ert Google Sheet genom att ange Document till
https://docs.google.com/spreadsheets/d/[YOUR_ID]/edit#gid=0. - Ställ in Sheet till
Sheet1(gid=0) för att matcha den befintliga konfigurationen. - Inloggning krävs: Anslut era Google Sheets-credentials i Retrieve Stored Reviews.
- Öppna Append Review to Sheet och bekräfta att Operation är
append. - Mappa kolumnerna exakt som konfigurerat: date
={{ $json.date }}, rating={{ $json.rating }}, review={{ $json.review }}, reviewUrl={{ $json.reviewUrl }}, user_profile={{ $json.user_profile }}. - Inloggning krävs: Anslut era Google Sheets-credentials i Append Review to Sheet.
⚠️ Vanlig fallgrop: Båda Google Sheets-noderna kräver credentials, men inga är konfigurerade. Lägg till Google Sheets-credentials innan ni testar.
Steg 3: konfigurera web scraping och tolkning av recensioner
Den här delen definierar konkurrenter, hämtar deras G2-recensionssidor, extraherar recensions-HTML och tolkar detaljerna.
- Öppna Define Rival List och ställ in JavaScript så att det returnerar era konkurrenter, t.ex.
return [{"competitor":"zendesk"},{"competitor":"intercom"},{"competitor":"dixa"}]. - Öppna Fetch G2 Pages via API och ställ in URL till
https://app.scrapingbee.com/api/v1. - I Fetch G2 Pages via API ställer ni in query-parametrar: api_key till
[CONFIGURE_YOUR_API_KEY], url till=https://www.g2.com/products/{{ $json.competitor }}/reviews?utf8=%E2%9C%93&order=most_recent, premium_proxy tilltrue, country_code tillusoch stealth_proxy tilltrue. - I Extract Review Section HTML ställer ni in Operation till
extractHtmlContentoch använder CSS-selektorndiv.paper.paper--white.paper--box.mb-2.position-relative.border-bottommed Return Array aktiverat. - I Loop Through Reviews ställer ni in Field To Split Out till
divsför att bearbeta varje recension individuellt. - I Parse Review Details ställer ni in Data Property Name till
divsoch extraherar fälten med de angivna CSS-selektorerna (t.ex. reviewHtml fråndiv[itemprop=reviewBody]). - I Transform Review to Markdown ställer ni in HTML till
={{ $json.reviewHtml }}och Destination Key tillreview.
Tips: Använd en giltig ScrapingBee API-nyckel i Fetch G2 Pages via API, annars kommer anropet att misslyckas.
Steg 4: konfigurera merge-logik och Slack-utdata
Det här steget jämför nya recensioner med sparade recensioner, postar sedan nya och lägger till dem i Google Sheets.
- Öppna Merge New Review Check och ställ in Mode till
combineoch Join Mode tillkeepNonMatches. - Ställ in merge-fälten så att matchning sker på reviewUrl för båda indata.
- Bekräfta flödet: Transform Review to Markdown matar indata 2, medan Retrieve Stored Reviews matar indata 1.
- Verifiera parallella utdata: Merge New Review Check skickar utdata till både Append Review to Sheet och Post Review to Slack parallellt.
- I Post Review to Slack ställer ni in Text till
=🚨 New review in G2 Rating: {{ $json["rating"] }} <{{ $json["user_profile"]}}|See user in G2> <{{$json["reviewUrl"]}}|See review in G2> Review Content: {{ $json.review }}och väljer er Channel. - Inloggning krävs: Anslut era Slack-credentials i Post Review to Slack.
⚠️ Vanlig fallgrop: Om Slack-kanalens ID är ogiltigt eller om credentials saknas kommer Post Review to Slack att misslyckas utan tydlig felindikering. Verifiera kanalåtkomst innan aktivering.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera scraping, tolkning, jämförelse, Slack-postning och att rader läggs till i arket.
- Klicka på Execute Workflow för att köra ett manuellt test från Daily Schedule Trigger.
- Verifiera att Fetch G2 Pages via API returnerar HTML och att Parse Review Details ger ut fält som rating, reviewUrl och reviewHtml.
- Bekräfta att nya recensioner passerar genom Merge New Review Check och visas i både Post Review to Slack och Append Review to Sheet.
- Öppna ert Google Sheet och er Slack-kanal för att bekräfta att den nya recensionen postas och lagras korrekt.
- När testet är lyckat växlar ni arbetsflödet till Active för att köra dagligen enligt det konfigurerade schemat.
Vanliga fallgropar
- ScrapingBee-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först användningen i din ScrapingBee-dashboard och status för din API-nyckel.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om dina Slack-, Google Sheets- och ScrapingBee-konton är redo.
Nej. Du klistrar mest in uppgifter och väljer vart meddelanden och rader ska hamna. Den enda ”tekniska” delen är att bekräfta vilka G2-URL:er du vill övervaka.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också räkna in ScrapingBee API-användning, eftersom arbetsflödet hämtar G2-sidor via deras API.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är ärligt talat en av de bästa användningarna. Du kan ändra konkurrentlistan i kodnoden ”Define Rival List” och sedan justera Slack-meddelandets formatering i ”Transform Review to Markdown” för att märka varje recension per varumärke. Vanliga justeringar är att posta i olika Slack-kanaler per konkurrent, tagga en specifik ansvarig vid låga betyg och spara extra fält i Google Sheets (som recensentens roll eller produktområde) om HTML:en innehåller det.
Oftast är det en utgången token eller saknade behörigheter för kanalen du postar i. Återanslut Slack i n8n och bekräfta sedan att boten får posta i just den kanalen. Om det bara fallerar ibland, kontrollera Slacks rate limits och arbetsflödets körhistorik för att se om flera recensioner postades samtidigt.
Tillräckligt för de flesta team.
Ofta ja, eftersom Zapier/Make inte trivs med arbetsflöden av typen ”skrapa + tolka HTML + deduplicera mot ett sheet” om du inte bygger på extra betalda steg. n8n hanterar branching och datamodellering utan att varje liten transformation blir ännu en debiterad åtgärd. Du kan också köra egen hosting, vilket spelar roll när du vill göra dagliga kontroller över många URL:er utan att bevaka task counts. Om du bara behöver en enkel notis och redan har en direkt G2-integration (många team har inte det) kan Zapier fungera bra. Prata med en automationsexpert om du är osäker på vad som passar.
Det här är den typen av automatisering som i det tysta gör ditt team skarpare. Recensioner blir sedda, loggade och hanterade utan att någon behöver passa processen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.