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

Google Drive till Excel, ordnade dolda endpoints

Rickard Andersson Partner, Nodenordic.se

Du hittar äntligen en plattform som är värd att integrera med … och så finns det ingen API-dokumentation. Så du gör som alla andra: öppnar DevTools, klickar runt, kopierar URL:er till en rörig anteckning och hoppas att du inte missade den enda endpointen som spelar roll.

Den här automatiseringen för endpoint-upptäckt slår först mot automationsbyggare, men growth marketers och byråteam känner av den också. Om du någon gång har försökt koppla ett “utan-API”-verktyg till din stack så vet du smärtan. Resultatet här är enkelt: förvandla okända interna endpoints till en korrekt formaterad Excel-fil som du kan dela.

Du får lära dig hur det här arbetsflödet skannar en webbplats, granskar dess JavaScript, extraherar sannolika API-sökvägar (på två sätt) och sparar det slutliga kalkylarket i Google Drive så att det blir enkelt att granska och samarbeta kring.

Så fungerar den här automatiseringen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Google Drive till Excel, ordnade dolda endpoints

Varför det här är viktigt: hitta endpoints när dokumentation saknas

Om en plattform inte publicerar ett API har du fortfarande ett jobb att göra. Du behöver data. Du behöver åtgärder (skapa, uppdatera, söka). Och de flesta moderna webbappar anropar redan interna endpoints i bakgrunden. Det svåra är att upptäcka dem på ett tillförlitligt sätt utan att lägga hela eftermiddagen på att leka detektiv. Att manuellt skanna sidkällan, gräva i bundlat JavaScript och sedan kopiera “kanske-endpoints” till anteckningar är utmattande – och ärligt talat är det lätt att lura sig själv att man är klar när man bara hittat det uppenbara.

Friktionen växer snabbt. Här är var det brukar falla isär i verkliga projekt.

  • Endpoint-listor blir ofullständiga eftersom du bara inspekterade ett sidläge eller missade en JavaScript-bundle som laddas dynamiskt.
  • Copy-paste-“research” går inte att dela, så kollegor gör om jobbet (eller levererar en integration byggd på gissningar).
  • Du får URL:er, men ingen kontext, så du vet fortfarande inte vilken metod du ska använda eller vilka parametrar som är viktiga.
  • När appen uppdaterar sin frontend-bundle blir dina anteckningar inaktuella och du får börja jakten igen.

Vad du bygger: en repeterbar pipeline för endpoint-upptäckt

Det här arbetsflödet gör endpoint-upptäckt till en repeterbar process som du kan köra när du behöver. Det börjar med en mål-URL, laddar ner webbplatsens HTML och plockar ut länkade JavaScript-filer. Därefter filtrerar det fram relevanta script, laddar ner innehållet i varje fil och extraherar potentiella API-sökvägar med en bred, fördefinierad regex så att du inte råkar missa URL:er som spelar roll. Sedan lägger det till en andra metod: AI-assisterad granskning som läser JavaScript-strukturen, identifierar sannolika endpoints och genererar regex-mönster per fil när den generiska extraktionen blir för brusig. Till sist slår det ihop resultaten, tar bort dubbletter, berikar outputen med källmetadata och exporterar allt till en XLSX-fil som sparas i Google Drive.

I praktiken matar du in en webbplats. Du får tillbaka en strukturerad endpoint-inventering. Du kan sortera, filtrera och dela den som vilket kalkylark som helst, vilket gör uppföljningsarbetet (testa endpoints, kartlägga auth, bygga automationer) mycket snabbare.

Det här bygger du

Förväntade resultat

Säg att en webbplats laddar ungefär 25 JavaScript-filer och att du lägger cirka 6 minuter per fil på att skumma, söka efter “/api”, kopiera URL:er och försöka undvika dubbletter. Det är ungefär 2,5 timmar, och du har fortfarande inga beskrivningar. Med det här arbetsflödet ställer du in mål-URL:en på någon minut, låter det hämta och analysera script, och granskar sedan en enda XLSX i Google Drive. De flesta team får tillbaka de där två timmarna redan vid första körningen.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Google Drive för att lagra den slutliga Excel-filen.
  • OpenRouter (LLM-åtkomst) för att driva AI-analysen av endpoints.
  • OpenRouter API-nyckel (hämta den i din OpenRouter-dashboard)

Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar ett par parametrar som mål-URL och filtreringsregler.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Du triggar upptäckten. Kör manuellt när du undersöker en ny plattform, eller koppla det till en webhook om du vill trigga skanningar från ett annat verktyg (till och med ett snabbt Telegram-meddelande kan användas som startpunkt i det här arbetsflödet).

Arbetsflödet kartlägger frontend. Det hämtar målwebbplatsens HTML, plockar ut länkar till JavaScript-filer, delar upp dem i en lista och filtrerar fram de script som mest sannolikt innehåller interna anrop (bundles, app-script och andra “riktiga” tillgångar).

Endpoints extraheras på två sätt. Först kör det en fördefinierad regex-metod för att brett fånga URL-liknande strängar, och tar sedan bort dubbletter. Därefter granskar en AI-agent JavaScript-innehållet för att identifiera sannolika API-endpoints och generera filspecifika regex-mönster, och validerar samt förfinar sedan dessa mönster mot referensdata.

Du får en korrekt formaterad leverans. Det slår ihop den ursprungliga extraktionen med de AI-assisterade resultaten, berikar raderna med källmetadata, sorterar den kombinerade listan, exporterar till XLSX och lagrar kalkylarket i Google Drive för delning och samarbete.

Du kan enkelt ändra filtreringsreglerna för JavaScript-filer för att fokusera på specifika kataloger eller mönster utifrån dina behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: konfigurera den manuella triggern

Konfigurera den manuella triggern och definiera målwebbplatsens parametrar som driver hela discovery-flödet.

  1. Lägg till noden Manual Discovery Trigger som startpunkt för workflowet.
  2. I Setup Parameters, ställ in URL.
  3. I Setup Parameters, ställ in User-AgentMozilla/5.0 (compatible; API-Discovery-Bot/1.0).

⚠️ Vanlig fallgrop: Ersätt platshållar-URL:en i Setup Parameters, annars kommer Retrieve Site HTML att göra en request mot ett ogiltigt mål.

Steg 2: koppla webbplatsinhämtning och JavaScript-discovery

Hämta webbplatsens HTML, extrahera JavaScript-länkar och ladda ner relevanta JS-filer för endpoint-extrahering.

  1. I Retrieve Site HTML, ställ in URL{{ $json.URL }} och aktivera Send Headers.
  2. I header-parametrarna för Retrieve Site HTML, ställ in User-Agent{{ $json['User-Agent'] }}.
  3. Konfigurera Pull JS File Links för att extrahera JS URLs från script[src] med Operation = extractHtmlContent.
  4. Ställ in Split JS Links Field to Split OutJS URLs.
  5. I Filter Relevant JS, behåll befintliga OR-filtervillkor som {{ $json['JS URLs'].startsWith('/') || $json['JS URLs'].startsWith('./') }} och {{ ($('Setup Parameters').first().json.URL).extractDomain() }}.
  6. I Download JS Content, ställ in URL{{ !!$json['JS URLs'].extractDomain() ? $json['JS URLs'].replace(/^\/\/, 'https://') : ($('Setup Parameters').first().json.URL+'/'+$json['JS URLs']).replaceAll(/(?.

Steg 3: konfigurera endpoint-extrahering och initial validering

Tolka JS-innehåll till potentiella API-endpoints, validera antal och dela upp i individuella objekt.

  1. I Derive API Paths, ställ in Endpoints{{ [...$json.data.replace(/\\u002[Ff]/g, '/').matchAll(/(?:["'`])((?:https?:\/\/[^\/\s"'`]+)?\/[^\s"'`]*?)(?:["'`])/g)].map(m => m[1].split('?')[0].replace(/\/\*+$/, '')).filter(url => url.includes('/') && url.length > 2 && !url.match(/\.(js|css|png|jpg|gif|svg|ico)$/i)) }}.
  2. I Derive API Paths, ställ in JStrue och Source{{ $('Split JS Links').item.json['JS URLs'] }}.
  3. I Validate Endpoint Count, behåll villkoret {{ $json.Endpoints.length }} greater than 4.
  4. Validate Endpoint Count skickar output parallellt till både Split Endpoint Items och Source Metadata Anchor.
  5. I Split Endpoint Items, ställ in Field to Split OutEndpoints och Fields to IncludeJS, Source.
  6. Koppla Remove Duplicate Paths direkt efter Split Endpoint Items för att avduplicera den råa endpoint-listan.

Tips: Om Validate Endpoint Count fallerar, går data via vägen Handle Low Endpoints för felsökning utan att stoppa workflowet.

Steg 4: konfigurera AI-granskning av endpoints och filhantering

Använd OpenRouter för att analysera JS-innehåll, lägga till källmetadata och skriva AI-resultat till filer för efterföljande regex-generering.

  1. I AI Endpoint Review, behåll URL som https://openrouter.ai/api/v1/chat/completions och JSON-body som inkluderar {{ JSON.stringify($json.data) }}.
  2. Behörighet krävs: anslut era openRouterApi-credentials i AI Endpoint Review.
  3. I Append Source Metadata, ställ in Source{{ $('Source Metadata Anchor').item.json.Source }}.
  4. Append Source Metadata skickar output parallellt till både Batch Each Analysis och Combine Analysis with Name.
  5. I Format AI Findings, ställ in Filename=file{{$node["Batch Each Analysis"].context["currentRunIndex"].toString().padStart(2, '0');}}.txt och choices[0].message.content{{ $json?.choices[0]?.message?.content || $json?.choices[0]?.message?.reasoning }}.
  6. I Build Endpoint Files, ställ in OperationtoText och Binary Property Name=data.
  7. I Write Endpoint Files, ställ in File Name{{ $binary.data.fileName }}.

Steg 5: konfigurera regex-generering och validering

Generera regex-uttryck med AI, validera dem mot sparade filer och extrahera AI-drivna endpoints.

  1. I Generate Regex via AI, behåll Text som Here is the file name: {{ $json.fileName }} ... och säkerställ att Has Output Parser är aktiverat.
  2. Öppna Regex LLM Engine och ställ in Modelanthropic/claude-3.7-sonnet.
  3. Behörighet krävs: anslut era openRouterApi-credentials i Regex LLM Engine.
  4. Generate Regex via AI använder Self-Healing Output Parser, Validate AI Regex och Parse Regex Response som AI-subnoder—lägg till credentials i Regex LLM Engine (den överordnade språkmodellen), inte i subnoderna.
  5. Combine Analysis with Name skickar output parallellt till både Merge AI Review & Agent och Generate Regex via AI.
  6. I Prepare Data for Regex, ställ in data{{ $json.choices[0].message.content }} och output.n8nexpression{{ !!$json?.output?.n8nexpression ? $json?.output?.n8nexpression : "" }}.
  7. I Run AI Regex, ställ in Endpoints{{ $evaluateExpression($json.output.n8nexpression) }} och LLMtrue.
  8. I Split AI Endpoints, ställ in Field to Split OutEndpoints och Fields to IncludeLLM, fileName, Source.
  9. Start Regex Validation skickar output parallellt till både Load Reference Files och Merge Regex and Reference för att validera AI-genererad regex.
  10. I Evaluate Regex Match, ställ in Evaluation results{{ $evaluateExpression($json['query.n8nexpression']) }}.

Steg 6: slå ihop, berika och exportera resultat

Kombinera original- och AI-endpoints, berika metadata och exportera den slutliga datamängden till XLSX.

  1. Remove AI Duplicates skickar output parallellt till både Combine Original and AI och Prep Source Name Merge.
  2. I Combine Original and AI, behåll Join Mode som keepEverything och Fields to Match som Endpoints, Source.
  3. I Enrich Merge by Source, behåll Join Mode som enrichInput1 och Fields to Match som Source.
  4. I Sort Combined Endpoints, sortera på fileName och därefter Endpoints.
  5. I Reformat Output Fields, mappa Endpoints, JS, Source, fileName och LLM till sina aktuella värden med uttryck som {{ $json.Endpoints }}.
  6. I Export Results to XLSX, ställ in File Nameapi_comparison.xlsx och aktivera Header Row.

Steg 7: testa och aktivera ert workflow

Kör ett fullständigt test för att verifiera endpoint-discovery och säkerställa att utdatafiler genereras som förväntat.

  1. Klicka på Execute Workflow för att köra Manual Discovery Trigger med er konfigurerade URL.
  2. Bekräfta att Write Endpoint Files skapar filer och att Export Results to XLSX genererar api_comparison.xlsx med endpoint-rader.
  3. Verifiera att AI-drivna output finns genom att kontrollera LLM-värden i Reformat Output Fields.
  4. När resultaten ser korrekta ut, slå om workflowet till Active för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Google Drive-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först Google-kopplingen i n8n:s lista över Credentials och bekräfta sedan åtkomst till Drive-mappen.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för endpoint-upptäckt?

Cirka 30 minuter om dina konton och API-nycklar är klara.

Krävs det kodning för den här automatiseringen för endpoint-upptäckt?

Nej. Du klistrar in en URL, kopplar inloggningar och justerar prompter eller filter om du vill ha mer träffsäkra resultat.

Är n8n gratis att använda för det här arbetsflödet för automatiserad endpoint-upptäckt?

Ja. n8n har ett gratis alternativ för egen drift 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 OpenRouter/LLM API-användning, vilket vanligtvis är några cent per körning beroende på hur många JavaScript-filer som analyseras.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för automatiserad endpoint-upptäckt för andra användningsfall?

Ja, och det bör du förmodligen. Du kan strama åt eller bredda vad som skannas genom att ändra logiken i “Filter Relevant JS” och värdena i “Setup Parameters”, och du kan byta AI-modellerna som används i noderna för AI Agent/OpenRouter chat model. Vanliga justeringar är att fokusera på ett specifikt sökvägsmönster som “/api/” eller “/v1/”, begränsa antalet JavaScript-filer som bearbetas och uppdatera AI-prompten så att den outputar fält som matchar teamets kalkylarksformat.

Varför misslyckas min Google Drive-anslutning i det här arbetsflödet?

Oftast handlar det om behörigheter. Återanslut Google Drive i n8n credentials och bekräfta sedan att Drive/mappen du skriver till är åtkomlig för det Google-kontot. Om arbetsflödet fungerade en gång och plötsligt misslyckas kan token ha löpt ut eller återkallats. Kontrollera också om din organisation blockerar tredjepartsappar via OAuth.

Vilken volym kan det här arbetsflödet för automatiserad endpoint-upptäckt hantera?

Det beror främst på hur många JavaScript-filer målwebbplatsen laddar och hur tung AI-granskningen är, men det är vanligt att skanna några dussin JS-filer per körning.

Är den här automatiseringen för endpoint-upptäckt bättre än att använda Zapier eller Make?

För just det här jobbet: ja, i de flesta fall. Zapier och Make är utmärkta för raka “app A till app B”-flöden, men det här kräver mer förgrening, batchning, filhantering och iterativ AI-validering än de verktygen hanterar bekvämt. n8n ger dig också ett alternativ för egen drift, vilket spelar roll om du vill ha obegränsade körningar eller arbetar med känslig research. Den största skillnaden är flexibilitet: du kan justera parsinglogik, spara mellanliggande filer och slå ihop flera extraktionsstrategier utan att betala extra per steg. Om du är osäker, prata med en automationsexpert så gör vi en rimlighetscheck av ditt användningsfall.

När det här väl är uppsatt slutar endpoint-upptäckt att vara en engångsstress och blir en repeterbar tillgång. Du får ett kalkylark du kan lita på, dela och bygga vidare på.

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

Launch login modal Launch register modal