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
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 |
|---|---|
navn | Bedriftens offisielle navn fra Brønnøysundregistrene |
orgnr | Organisasjonsnummeret — brukes som unik ID for å unngå duplikater |
bransje | Næringskode-beskrivelse fra BRREG |
nettside | URL til nettstedet (hentet automatisk eller fra BRREG) |
kilde | Satt til "Prospektjegeren (AI)" for alle auto-innhentede leads |
nettside_status | Automatisk klassifisering: Ingen / Utdatert / Mangler funksjon / OK |
nettside_score | AI-score 0–100. Høy = godt lead for nettside-tjenester |
ai_notat | Kort setning om hva TufteBye AI konkret kan tilby denne bedriften |
siste_ai_aktivitet | Tidspunkt 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
nettside_scoregjelder kun nettside-tjenesten. Ved nettbutikk-kampanje lages et egetnettbutikk_score-felt.- En bedrift kan ha lav
nettside_scoremen høynettbutikk_score— og omvendt. Aldri overskriv en eksisterende score. icp_scorekan brukes som samlet score du setter manuelt, eller beregnet som MAX() av tjenestescorene.
Parametere
Prospektjegeren
| Parameter | Verdi |
|---|---|
| Bransje(r) | Satt per kjøring — f.eks. rørleggere, frisører |
| Geografi | Satt per kjøring — f.eks. Oslo, Viken |
| Min. omsetning | Typisk 1–2 MNOK+ |
| Maks leads | 100 per kjøring |
Analytikeren
| Parameter | Verdi |
|---|---|
| Leads per kjøring | 20 (MAKS_LEADS) |
| Batching | 5 om gangen, 400ms mellomrom |
| AI-modell | claude-haiku-4-5 |
| Filter | kilde = Prospektjegeren (AI) og nettside_score ikke satt |
Planlagte utvidelser
- Nytt felt i Attio:
nettbutikk_score - Analytikeren v2 med ny prompt tilpasset nettbutikk-behov
- Mulige fremtidige felt:
booking_score,crm_score— ett per tjenestetype icp_scoresom samlet score (manuelt eller MAX() av tjenestescorene)
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
-
Trigger
StartManuell startknapp — du klikker «Execute workflow» i n8n for å sette i gang.
-
Set
Oppdrag-parametereSetter bransjer, byer og omsetningsgrense for denne kjøringen — endre her for å målrette et nytt segment.
-
Kode
Bygg søkelisteKombinerer bransjer × byer til en liste med søkestrenger (f.eks. «rørlegger Oslo», «tannlege Bergen» — 50 kombinasjoner totalt).
-
HTTP
Apify — Google MapsSøker Google Maps via Apify og returnerer bedrifter med navn, adresse, kategori og eventuell nettside-URL.
-
Kode
Berik og kvalifiser leadsSlå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 selskapSkriver eller oppdaterer hvert kvalifisert lead i Attio med startscoren 40, nettside-URL og nettside-status.
-
Kode
Revisor-loggLogger til n8n-konsollen: antall selskaper pushet og hvilken kilde nettsiden ble funnet via per lead.
Analytikeren
-
Trigger
StartManuell startknapp — kjøres etter Prospektjegeren.
-
HTTP
Hent leads fra AttioHenter inntil 500 selskaper fra Attio for å finne de som ikke har fått score ennå.
-
Kode
Forbered analyseFiltrerer ut leads med startscoren 40, henter BRREG-roller (daglig leder, styreleder), og laster ned nettside-innhold via Apify for analyse.
-
HTTP
Kall Claude — nettside-analyseSender nettside-tekst og bedriftsdata til Claude Haiku, som returnerer status, score 0–100 og et kort salgnotat.
-
Kode
Bygg Attio-payloadParser Claude-svaret, validerer at statusverdien er gyldig, og setter sammen det endelige datasettet med kontaktperson fra BRREG.
-
HTTP
Oppdater AttioSkriver
nettside_status,icp_scoreogai_notattilbake til Attio-recordet for hvert lead. -
Kode
Revisor-loggLogger status og score per lead til konsollen — «✅ Rørlegger AS: status=Utdatert, score=68».
Den personlige avsenderen
Del 1 — Hoveddel · 9 noder
-
Trigger
StartManuell startknapp — kjøres etter Analytikeren.
-
HTTP
Hent leads fra AttioHenter inntil 100 selskaper fra Attio.
-
Kode
Forbered outreachFiltrerer 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-postutkastClaude Haiku skriver en personalisert 3–4-setningers e-post per lead basert på bransje, nettside-situasjon og kontaktpersons fornavn.
-
Kode
Bygg HITL-pakkePakker 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 StianSender oversikts-e-posten til stian@tuftebyeai.com — du klikker kun «Send» for leads du vil nå ut til.
-
Kode
Splitt for Attio-oppdateringForbereder individuelle oppdateringsoperasjoner, én per presentert lead.
-
HTTP
Oppdater Attio — merk klargjortSkriver «Outreach klargjort [dato] — venter på HITL» i
ai_notatfor alle leads du fikk presentert. -
Kode
Revisor-loggLogger antall HITL-utkast sendt og antall Attio-records oppdatert.
Del 2 — Send-webhook · 7 noder · Trigges av klikk i e-posten
-
Webhook
Webhook — Send-klikkLytter på GET-forespørselen som trigges i det øyeblikket du klikker «Send» i HITL-e-posten.
-
Kode
Valider og dekod paramsSjekker at påkrevde parametere er til stede og dekoder base64url-kodet emne og e-posttekst fra URL-en.
-
HTTP
Hent Attio-recordHenter eksisterende Attio-data for bedriften for å bevare gammelt notat ved oppdatering.
-
Kode
Bygg Attio-oppdateringLegger til «Kontaktet: [epost] ([dato])» i
ai_notatuten å overskrive eksisterende innhold. -
Gmail
Send e-post til leadSender den godkjente e-posten direkte fra stian@tuftebyeai.com til bedriften.
-
HTTP
Oppdater Attio — logg kontaktSkriver kontaktloggen og ny tidsstempel tilbake til Attio-recordet.
-
Svar
Bekreftelsesside til StianReturnerer en HTML-side i nettleseren din: «✓ E-post sendt — Attio oppdatert for [bedrift]».
Den tålmodige påminneren
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 oppKjøres automatisk med 14-dagers mellomrom for hvert lead uten svar.
-
Gmail
Sjekk bounce-e-post Ikke satt oppSøker Gmail for
label:tb/bounce is:unread— returbeskjeder fra mailer-daemon om ugyldige e-postadresser. -
Kode
Match bounce mot Attio Ikke satt oppMatcher avsender-domain fra bounce-meldingen mot Attio-records for å finne riktig lead.
-
HTTP
Flagg bounced leads Ikke satt oppSkriver «E-post bounced [dato] — kontaktinfo ugyldig» i
ai_notatog hopper over disse i påminnelsesutsendingen. -
HTTP
Hent inaktive leads Ikke satt oppHenter 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 oppClaude genererer en kortere oppfølgings-e-post tilpasset forrige kontakttidspunkt og bransje.
-
Gmail
Send påminnelse Ikke satt oppSender oppfølgingen direkte uten HITL-stopp.