Entitetsresearch låter enkelt tills du gör det på det jobbiga sättet. Du öppnar en konkurrentsida, skummar igenom den, kopierar namn till ett dokument och inser att du missade hälften av varumärkena, personerna och platserna som faktiskt formar ämnet.
Det här drabbar SEO-proffs och contentteam först, om vi ska vara ärliga. En content strategist som ska briefa skribenter märker det också, och det gör även analytikern som förväntas “göra det strukturerat”. Den här automatiseringen för Google Sheets-entiteter ger dig konsekvent entitetsextraktion från valfri URL, utan rörig manuell taggning.
Du får se hur workflowet hämtar en sida, skickar den till Google NLP för entitetsanalys och sedan returnerar korrekt formaterad data som du kan logga och återanvända för briefar, granskningar och konkurrentresearch.
Så fungerar den här automatiseringen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: Google NLP + Google Sheets för entitetsanalys
flowchart LR
subgraph sg0["Flow 1"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Return Webhook Reply"]
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/>Entity Analysis Request"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Inbound Webhook Starter"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Retrieve Page 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/code.svg' width='40' height='40' /></div><br/>Prepare Entity Payload"]
n2 --> n3
n1 --> n0
n3 --> n4
n4 --> n1
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 n0,n1,n2,n3 api
class n4 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n3,n4 customIcon
Problemet: manuell entitetsresearch är långsam och inkonsekvent
När du analyserar konkurrentsidor sker “entitetsjobbet” oftast i ditt huvud. Du läser, markerar, gissar vad som är viktigt och klistrar in en massa namn i ett ark. Sedan gör någon annan i teamet samma sida och får en helt annan lista. Ännu värre: listan ändras vecka för vecka eftersom du är trött, stressar eller fokuserar på fel del av artikeln. Tidskostnaden är irriterande. Inkonsekvensen är det som verkligen saboterar dina briefar och granskningar, eftersom det är svårt att jämföra sidor när varje lista är formaterad på olika sätt.
Friktionen byggs på. Här är var det brukar skapa fel i verkligheten.
- Att plocka ut entiteter för hand tar cirka 30–45 minuter per sida när du räknar in rensning och kategorisering.
- Två personer kan läsa samma sida och ändå vara oense om vilka entiteter som spelar roll, vilket gör din “research” svår att lita på.
- Copy-paste-flöden skapar stavfel och dubbletter, så ditt ark blir en skräplåda i stället för en researchtillgång.
- När du skalar upp till 20+ konkurrent-URL:er slutar du göra entitetsanalys helt, eftersom det känns oändligt.
Lösningen: skicka en URL till Google NLP och fånga entiteter automatiskt
Det här n8n-workflowet gör entitetsresearch till en enkel pipeline: “skicka in URL, få strukturerad data”. Det startar när du skickar en URL till en webhook-endpoint. n8n hämtar sidans HTML, tar bort brus (så du inte analyserar navigationstext och sidfotsutfyllnad) och förbereder en korrekt formaterad payload. Sedan skickas innehållet till Google Natural Language API för entitetsigenkänning. Google returnerar en lista med entiteter (personer, organisationer, platser med mera) tillsammans med salience-poäng som visar hur central varje entitet är för sidan. Till sist svarar workflowet med de strukturerade resultaten så att du kan logga dem i Google Sheets och återanvända dem i briefar, konkurrentjämförelser eller granskningar.
Workflowet börjar med en webhook-URL som du kontrollerar. Därefter hämtar det målsidan, formaterar innehållet för Google NLP och kör entitetsanalysen via en HTTP-request. Resultatet returneras direkt via webhook-svaret, redo att lagras i Google Sheets för löpande research.
Det du får: automatisering vs. resultat
| Det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du granskar 10 konkurrent-URL:er för en brief. Manuellt, om entitetsextraktion och rensning tar cirka 30 minuter per sida, är det ungefär 5 timmars arbete innan du har skrivit en enda insikt. Med det här workflowet skickar du varje URL till webhooken (säg 1 minut per URL) och väntar sedan ett par minuter på bearbetning och svar. Även om du fortfarande lägger en timme på att granska den slutliga entitetslistan för relevans, har du precis fått tillbaka cirka 3–4 timmar för analys i stället för copy-paste.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Google Cloud Platform för att aktivera Natural Language API
- Google Sheets för att lagra och jämföra entitetsloggar
- Google NLP API-nyckel (hämta den i Google Cloud Console)
Svårighetsgrad: Nybörjare. Du kopierar främst API-nycklar, klistrar in en webhook-URL och testar med en exempelsida.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Webhook-triggern tar emot din URL. Du skickar en POST-request med en enkel JSON-body som innehåller sidan du vill analysera.
Workflowet hämtar sidans HTML. n8n använder en HTTP-request för att hämta innehållet så att du slipper ladda ner något eller kopiera text till ett annat verktyg.
Innehållet rensas och paketeras för analys. Ett kodsteg kapar HTML:en och förbereder payloaden som Google Natural Language API förväntar sig, vilket hjälper till att undvika fel på mycket stora sidor.
Google NLP returnerar entiteter och salience. Workflowet skickar det förberedda innehållet till Google NLP och returnerar sedan strukturerad entitetsdata via webhook-svaret så att det är enkelt att lagra i Google Sheets.
Du kan enkelt justera entitetsfiltreringen så att du bara loggar organisationer (eller bara personer) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Det här arbetsflödet startar när en webhook tar emot en URL att analysera och skickar sedan svaret via en dedikerad svars-nod.
- Lägg till en Inbound Webhook Starter-nod och ställ in HTTP Method på
POST. - Ställ in Path på
2944c8f6-03cd-4ab8-8b8e-cb033edf877a. - Ställ in Response Mode på
responseNodeså att webhooken returnerar data från Return Webhook Reply. - Koppla Inbound Webhook Starter → Retrieve Page HTML för att matcha exekveringsflödet.
{"url":"https://example.com"} i request body så att Retrieve Page HTML kan läsa {{$json.body.url}}.Steg 2: anslut hämtning av sida
I det här steget laddas HTML:en för den begärda sidan ned för entitetsutvinning.
- Lägg till Retrieve Page HTML och ställ in URL på
={{ $json.body.url }}. - Lämna övriga fält på standardvärden, om inte er målsajt kräver headers eller autentisering.
- Koppla Retrieve Page HTML → Prepare Entity Payload.
body.url kommer Retrieve Page HTML att misslyckas. Säkerställ att den som anropar webhooken skickar URL:en i JSON-body.Steg 3: konfigurera bearbetningsnoden
I det här steget konverteras HTML:en till en payload för en API-begäran mot Google Cloud Natural Language.
- Lägg till Prepare Entity Payload och klistra in följande i Code:
- Använd exakt samma kodblock som i arbetsflödet:
// Clean and prepare HTML for API request const html = $input.item.json.data; // Trim if too large (optional) const trimmedHtml = html.length > 100000 ? html.substring(0, 100000) : html; return { json: { apiRequest: { document: { type: "HTML", content: trimmedHtml }, encodingType: "UTF8" } } } - Koppla Prepare Entity Payload → Entity Analysis Request.
Steg 4: konfigurera entitetsanalysbegäran och webhook-svaret
I det här steget skickas den förberedda payloaden till Google Cloud Natural Language och svaret returneras till den som anropade webhooken.
- Lägg till Entity Analysis Request och ställ in URL på
https://language.googleapis.com/v1/documents:analyzeEntities. - Ställ in Method på
POSToch Specify Body påjson. - Ställ in JSON Body på
={{ $json.apiRequest }}. - I Query Parameters, ställ in key på
[CONFIGURE_YOUR_API_KEY]. - I Header Parameters, ställ in Content-Type på
application/json. - Koppla Entity Analysis Request → Return Webhook Reply för att skicka resultat tillbaka till den som anropade webhooken.
[CONFIGURE_YOUR_API_KEY] med en giltig API-nyckel för Google Cloud Natural Language, annars kommer begäran att returnera ett autentiseringsfel.Steg 5: testa och aktivera ert arbetsflöde
Validera webhooken från ände till ände och aktivera sedan arbetsflödet för produktionsanvändning.
- Klicka på Execute Workflow och skicka en POST-begäran till test-URL:en för Inbound Webhook Starter med en JSON-body som innehåller
{"url":"https://example.com"}. - Bekräfta att Retrieve Page HTML returnerar siddata och att Entity Analysis Request returnerar ett entitetsanalys-svar.
- Verifiera att Return Webhook Reply returnerar analys-JSON:en till anroparen.
- Växla arbetsflödet till Active för att använda webhook-URL:en för produktion.
Vanliga fallgropar
- Inloggningsuppgifter för Google Natural Language API kan löpa ut eller begränsas av projektinställningar. Om det skapar fel, kontrollera först begränsningar för din API-nyckel i Google Cloud Console och din faktureringsstatus.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata i all evighet.
Vanliga frågor
Cirka 20–40 minuter om ditt Google Cloud-projekt är redo.
Nej. Du klistrar in en API-nyckel och testar en webhook-request. “Kod”-steget ingår redan i workflowet.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver även räkna in användningen av Google Natural Language API, vilket vanligtvis är en liten kostnad per request.
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änsade körningar men kräver grundläggande serverhantering.
Ja, men du vill göra det efter Google NLP-svaret. Lägg till ett filtersteg efter entitetsanalysen för att behålla endast entiteter av typen “ORGANIZATION”, och mappa sedan de fälten till det radformat du vill ha för Google Sheets. Du kan också sätta en miniminivå för salience så att ditt ark inte fylls med oviktiga omnämnanden.
Oftast är det ett problem med API-nyckeln. Säkerställ att Natural Language API är aktiverat i rätt Google Cloud-projekt och bekräfta sedan att begränsningarna för din API-nyckel tillåter requesten (och att fakturering är aktiv om ditt projekt kräver det). En annan vanlig orsak är att du skickar HTML som är för stor, så behåll logiken för kapning.
I praktiken så många som din n8n-plan och din Google API-kvot tillåter, men workflowet är byggt för att bearbeta en URL åt gången för att vara snällt mot rate limits.
Ofta, ja. n8n är enklare att anpassa för flöden som “hämta HTML → transformera → skicka till API → rensa svar” eftersom du kan styra requesten och payload-formateringen utan att bråka med plattformsbegränsningar. Self-hosting är också en stor grej om du planerar att köra många researchjobb. Zapier eller Make kan fortfarande fungera om du vill ha en väldigt enkel URL-in, rad-ut-automatisering och inte bryr dig om payload-rensning. Om du är osäker, prata med en automationsexpert så pekar vi dig i rätt riktning.
När det här väl rullar slutar konkurrenternas entitetsresearch vara ett moment du undviker. Du får renare briefar, bättre spårbarhet i dina granskningar och ett ark du faktiskt kan bygga strategi från.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.