SMB-prospektering

Lead-system — rutinebeskrivelse

Rutinebeskrivelse og node-for-node oversikt over alle fire agenter i SMB-lead-pipelinen. Hva hver agent gjør, hvordan den er satt opp, og hvilke felter og scorer som brukes i Attio. Oppdatert april 2026.

Systemet i oversikt
Steg 1
Prospektjegeren
Henter bedrifter fra Brønnøysundregistrene etter bransje og omsetning. Sjekker nettstedet og legger dem inn i Attio.
Steg 2
Analytikeren
Plukker opp bedriftene fra Attio, vurderer nettsidesituasjonen med AI, setter score og skriver et kort salgnotat.
Resultat
Attio CRM
Scorede leads klar for manuell oppfølging. Filtrer på nettside_score for å prioritere hvem du ringer først.
Praktisk drift

▶ Kjøre Prospektjegeren

  • Gå til n8n → workflow "Prospektjegeren"
  • Klikk "Execute workflow"
  • Vent til alle noder er grønne (1–5 min)
  • Sjekk Attio — nye selskaper med kilde = Prospektjegeren (AI)
Kjøres manuelt ved ny runde. Typisk: nytt geografi- eller bransjesegment.

▶ Kjøre Analytikeren

  • Gå til n8n → workflow "Analytikeren"
  • Klikk "Execute workflow"
  • Vent til alle noder er grønne (~15–20 sek)
  • Kjør igjen til workflowen fullfører på under 3 sek
Ferdig-signal: Under 3 sek = køen er tom. Prosesserer kun leads uten nettside_score — allerede scorede leads hoppes over.
Feltene i Attio
Felt Hva det betyr
navnBedriftens offisielle navn fra Brønnøysundregistrene
orgnrOrganisasjonsnummeret — brukes som unik ID for å unngå duplikater
bransjeNæringskode-beskrivelse fra BRREG
nettsideURL til nettstedet (hentet automatisk eller fra BRREG)
kildeSatt til "Prospektjegeren (AI)" for alle auto-innhentede leads
nettside_statusAutomatisk klassifisering: Ingen / Utdatert / Mangler funksjon / OK
nettside_scoreAI-score 0–100. Høy = godt lead for nettside-tjenester
ai_notatKort setning om hva TufteBye AI konkret kan tilby denne bedriften
siste_ai_aktivitetTidspunkt for siste AI-analyse — brukes til å unngå dobbeltanalyse
Scoring-logikk — nettside_score

Analytikeren setter en score mellom 0 og 100 basert på nettsidesituasjonen. Høy score = godt lead — bedriften trenger vår hjelp. Lav score = de har allerede det vi selger.

nettside_status nettside_score Hva det betyr for oss
Ingen 72–78 Ingen nettside eller siden er nede. Sterkest behov — høyeste prioritet.
Utdatert 65–72 Gammel/dårlig design, ikke mobilvennlig. Klart salgspotensial.
Mangler funksjon 58–65 OK design, men mangler booking/prisliste/kontaktskjema. Vi kan fylle hullene.
OK m/forbedring 45–55 Relativt god nettside, men vi kan fortsatt tilby oppgraderinger.
God nettside 25–40 Moderne og komplett. Lite vi kan tilby — lav prioritet.
Arkitektur — én score per tjenestetype
Parametere

Prospektjegeren

ParameterVerdi
Bransje(r)Satt per kjøring — f.eks. rørleggere, frisører
GeografiSatt per kjøring — f.eks. Oslo, Viken
Min. omsetningTypisk 1–2 MNOK+
Maks leads100 per kjøring

Analytikeren

ParameterVerdi
Leads per kjøring20 (MAKS_LEADS)
Batching5 om gangen, 400ms mellomrom
AI-modellclaude-haiku-4-5
Filterkilde = Prospektjegeren (AI) og nettside_score ikke satt
Planlagte utvidelser
Feilsøking
Symptom Hva du gjør
Analytikeren fullfører raskt uten å behandle noe Normalt — alle leads er allerede scoret. Kjør Prospektjegeren for å hente nye.
En node i n8n er rød Klikk på noden og se feilmeldingen. Be Claude om hjelp hvis du er usikker.
Leads dukker ikke opp i Attio Sjekk at Prospektjegeren er grønn. Sjekk Attio-filteret — nye leads har kilde = Prospektjegeren (AI).
Score virker feil for en bedrift ai_notat gir kontekst. Du kan alltid override score manuelt i Attio.
Agentene — node for node
Prospektjegeren
Søker Google Maps og BRREG for å fylle Attio med nye SMB-bedrifter
✓ Opprettet
  • Trigger
    Start
    Manuell startknapp — du klikker «Execute workflow» i n8n for å sette i gang.
  • Set
    Oppdrag-parametere
    Setter bransjer, byer og omsetningsgrense for denne kjøringen — endre her for å målrette et nytt segment.
  • Kode
    Bygg søkeliste
    Kombinerer bransjer × byer til en liste med søkestrenger (f.eks. «rørlegger Oslo», «tannlege Bergen» — 50 kombinasjoner totalt).
  • HTTP
    Apify — Google Maps
    Søker Google Maps via Apify og returnerer bedrifter med navn, adresse, kategori og eventuell nettside-URL.
  • Kode
    Berik og kvalifiser leads
    Slår opp BRREG for org.nr og omsetning, prøver fire lag for å finne nettside (Maps → BRREG → LinkedIn → Google Search), og pinger adressen for å bekrefte at siden er live.
  • HTTP
    Attio — upsert selskap
    Skriver eller oppdaterer hvert kvalifisert lead i Attio med startscoren 40, nettside-URL og nettside-status.
  • Kode
    Revisor-logg
    Logger til n8n-konsollen: antall selskaper pushet og hvilken kilde nettsiden ble funnet via per lead.
Analytikeren
Vurderer nettsidekvalitet med AI og setter score og notat på hvert lead
✓ Opprettet
  • Trigger
    Start
    Manuell startknapp — kjøres etter Prospektjegeren.
  • HTTP
    Hent leads fra Attio
    Henter inntil 500 selskaper fra Attio for å finne de som ikke har fått score ennå.
  • Kode
    Forbered analyse
    Filtrerer ut leads med startscoren 40, henter BRREG-roller (daglig leder, styreleder), og laster ned nettside-innhold via Apify for analyse.
  • HTTP
    Kall Claude — nettside-analyse
    Sender nettside-tekst og bedriftsdata til Claude Haiku, som returnerer status, score 0–100 og et kort salgnotat.
  • Kode
    Bygg Attio-payload
    Parser Claude-svaret, validerer at statusverdien er gyldig, og setter sammen det endelige datasettet med kontaktperson fra BRREG.
  • HTTP
    Oppdater Attio
    Skriver nettside_status, icp_score og ai_notat tilbake til Attio-recordet for hvert lead.
  • Kode
    Revisor-logg
    Logger status og score per lead til konsollen — «✅ Rørlegger AS: status=Utdatert, score=68».
Den personlige avsenderen
Drafter personalisert utgående e-post til kvalifiserte leads — du godkjenner per lead før sending
✓ Opprettet
Del 1 — Hoveddel · 9 noder
  • Trigger
    Start
    Manuell startknapp — kjøres etter Analytikeren.
  • HTTP
    Hent leads fra Attio
    Henter inntil 100 selskaper fra Attio.
  • Kode
    Forbered outreach
    Filtrerer leads med score ≥ 60 uten kontaktlogg, henter nettside-HTML for å lete etter e-postadresse, og bygger et individuelt Claude-prompt per lead.
  • HTTP
    Kall Claude — skriv e-postutkast
    Claude Haiku skriver en personalisert 3–4-setningers e-post per lead basert på bransje, nettside-situasjon og kontaktpersons fornavn.
  • Kode
    Bygg HITL-pakke
    Pakker alle utkast inn i én HTML-e-post med gull «Send»-knapper — én per lead — klar for din gjennomgang.
  • Gmail
    Send HITL-e-post til Stian
    Sender oversikts-e-posten til stian@tuftebyeai.com — du klikker kun «Send» for leads du vil nå ut til.
  • Kode
    Splitt for Attio-oppdatering
    Forbereder individuelle oppdateringsoperasjoner, én per presentert lead.
  • HTTP
    Oppdater Attio — merk klargjort
    Skriver «Outreach klargjort [dato] — venter på HITL» i ai_notat for alle leads du fikk presentert.
  • Kode
    Revisor-logg
    Logger antall HITL-utkast sendt og antall Attio-records oppdatert.
Del 2 — Send-webhook · 7 noder · Trigges av klikk i e-posten
  • Webhook
    Webhook — Send-klikk
    Lytter på GET-forespørselen som trigges i det øyeblikket du klikker «Send» i HITL-e-posten.
  • Kode
    Valider og dekod params
    Sjekker at påkrevde parametere er til stede og dekoder base64url-kodet emne og e-posttekst fra URL-en.
  • HTTP
    Hent Attio-record
    Henter eksisterende Attio-data for bedriften for å bevare gammelt notat ved oppdatering.
  • Kode
    Bygg Attio-oppdatering
    Legger til «Kontaktet: [epost] ([dato])» i ai_notat uten å overskrive eksisterende innhold.
  • Gmail
    Send e-post til lead
    Sender den godkjente e-posten direkte fra stian@tuftebyeai.com til bedriften.
  • HTTP
    Oppdater Attio — logg kontakt
    Skriver kontaktloggen og ny tidsstempel tilbake til Attio-recordet.
  • Svar
    Bekreftelsesside til Stian
    Returnerer en HTML-side i nettleseren din: «✓ E-post sendt — Attio oppdatert for [bedrift]».
Den tålmodige påminneren
Holder leads varme med automatiske oppfølginger og håndterer bounce-varsler fra mailer-daemon
Ikke bygd ennå
Planlagt funksjonalitet: Kjøres automatisk hvert 14. dag. Sjekker Gmail for returbeskjeder (label:tb/bounce), flagger ugyldige kontakter i Attio, og sender oppfølgings-e-post til leads som ikke har svart — uten HITL-stopp.
  • Trigger
    Cron — 14 dager Ikke satt opp
    Kjøres automatisk med 14-dagers mellomrom for hvert lead uten svar.
  • Gmail
    Sjekk bounce-e-post Ikke satt opp
    Søker Gmail for label:tb/bounce is:unread — returbeskjeder fra mailer-daemon om ugyldige e-postadresser.
  • Kode
    Match bounce mot Attio Ikke satt opp
    Matcher avsender-domain fra bounce-meldingen mot Attio-records for å finne riktig lead.
  • HTTP
    Flagg bounced leads Ikke satt opp
    Skriver «E-post bounced [dato] — kontaktinfo ugyldig» i ai_notat og hopper over disse i påminnelsesutsendingen.
  • HTTP
    Hent inaktive leads Ikke satt opp
    Henter leads med score ≥ 60 som ble kontaktet for over 14 dager siden uten registrert svar i Attio.
  • HTTP
    Skriv påminnelses-e-post Ikke satt opp
    Claude genererer en kortere oppfølgings-e-post tilpasset forrige kontakttidspunkt og bransje.
  • Gmail
    Send påminnelse Ikke satt opp
    Sender oppfølgingen direkte uten HITL-stopp.