backup claude code
This commit is contained in:
@@ -0,0 +1,329 @@
|
||||
# GENERIO – Lead Generation Prozess
|
||||
|
||||
**Version:** Mai 2026
|
||||
|
||||
---
|
||||
|
||||
## Übersicht
|
||||
|
||||
Der GENERIO Sales-Prozess beginnt immer in der **Inbox** und endet wenn Ansprechpartner mit direkter Telefonnummer im CRM stehen. Claude übernimmt alle Schritte automatisch.
|
||||
|
||||
```
|
||||
[0] Inbox ──────────────────────────────────────────────────────┐
|
||||
↓ einzelne Firma ↓ Branche / Kriterien │
|
||||
[CRM-Check] [1] Kundencluster lesen │
|
||||
1. Zielrolle aus Cluster ↓ A/B/C-Kriterien │
|
||||
2. Insolvenz-Check [2] Firmen recherchieren │
|
||||
3. HubSpot-Check ↓ Excel → 02_Lead_Research/ │
|
||||
[3] Ansprechpartner finden │
|
||||
✅ AP + direkte Nummer LinkedIn SalesNav → Apollo │
|
||||
→ ✅ Fertig ↓ CSV → 03_Apollo_Import/ │
|
||||
⚠️ AP da, keine Nummer [4] CRM einpflegen │
|
||||
→ Apollo anreichern ↓ Companies + Contacts │
|
||||
⚠️ Kein AP in Zielrolle ✅ FERTIG: AP + Telefon im CRM ───┘
|
||||
→ SalesNav → Apollo
|
||||
❌ Nicht im CRM
|
||||
→ Anlegen + SalesNav → Apollo
|
||||
(Zentrale → Company-Record)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 0 — Inbox (Einstiegspunkt für alles)
|
||||
|
||||
**Datei:** `00_Inbox/INBOX.md` — aber Claude scannt **den gesamten Ordner**, nicht nur die MD-Datei.
|
||||
|
||||
| Format | Beispiel |
|
||||
|--------|---------|
|
||||
| Direkt im Chat | *„Schau mal ob Kibek passt"* |
|
||||
| In INBOX.md eintragen | Firmenname + optionale Infos |
|
||||
| Excel/CSV in den Ordner legen | Beliebige Lead-Liste |
|
||||
| Freitext-Datei | .txt oder .md mit Firmennamen |
|
||||
|
||||
**Routing:**
|
||||
|
||||
| Inbox-Eintrag | Aktion |
|
||||
|--------------|--------|
|
||||
| Eine einzelne Firma | → CRM-Check (s. unten) |
|
||||
| Mehrere Firmen / Branche / Kriterien | → Phase 1–4 starten |
|
||||
| Kontaktperson ohne Firma | → In HubSpot als Kontakt anlegen |
|
||||
|
||||
**CRM-Check für einzelne Firma (immer in dieser Reihenfolge):**
|
||||
|
||||
1. Zielrolle aus Kundencluster lesen (Ansprechperson: Abteilung + Level/Position)
|
||||
2. Insolvenz-Check: Web-Suche `"[Firma]" Insolvenz` — wenn positiv → sofort abschreiben, fertig
|
||||
3. HubSpot-Check: Company suchen → Contacts laden → Abgleich mit Zielrolle
|
||||
|
||||
| Ergebnis | Nächster Schritt |
|
||||
|---------|-----------------|
|
||||
| ✅ AP in Zielrolle + direkte Nummer | Bereit zum Anruf |
|
||||
| ⚠️ AP da, keine direkte Nummer | Apollo: direkte Nummer anreichern |
|
||||
| ⚠️ Firma im CRM, kein AP in Zielrolle | LinkedIn SalesNav → Apollo |
|
||||
| ❌ Firma nicht im CRM | Company anlegen (Zentrale an Company) → SalesNav → Apollo |
|
||||
|
||||
> Impressumsnummer / Zentrale → Company.Phone in HubSpot. Zählt nicht als Kontakt-Telefon.
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 — Kundencluster lesen
|
||||
|
||||
**Datei:** `01_ICP_Cluster/GENERIO_Kundencluster.xlsx`
|
||||
|
||||
Die Wahrheit für Priorisierung und Zielrollen. Wird von Phase 2 und 3 direkt verwendet — kein manueller Zwischenschritt.
|
||||
|
||||
| Sheet | Branche |
|
||||
|-------|---------|
|
||||
| Commerce | FMCG / Retail / Discounter |
|
||||
| eCommerce | Online-Händler (Möbel, Schuhe, Deko) |
|
||||
| 3D-Printing | 3D-Druck Software & Services |
|
||||
|
||||
Pro Sheet relevant für Phase 2 + 3:
|
||||
- **A/B/C-Kriterien:** Mitarbeiter, Umsatz, Wachstumsphase, Branche
|
||||
- **Ansprechperson: Abteilung** → wird in Phase 3 für SalesNav genutzt
|
||||
- **Ansprechperson: Level/Position** → wird in Phase 3 für SalesNav genutzt
|
||||
|
||||
> Kein passender Tab für eine Branche → Jonas informieren mit Tabelle der betroffenen Firmen. Keinen Tab automatisch anlegen. Firmen mit Priorität `?` in die Pipeline aufnehmen.
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — Firmen recherchieren
|
||||
|
||||
**Trigger:** *„Finde mir [Anzahl] Firmen aus [Branche]..."*
|
||||
**Input:** Kundencluster aus Phase 1 (A/B/C-Kriterien)
|
||||
**Output:** `02_Lead_Research/[Branche]_Sales_Pipeline_[REGION]_[JAHR].xlsx`
|
||||
|
||||
Claude macht automatisch:
|
||||
1. Duplikat-Check gegen bestehende Pipelines in `02_Lead_Research/`
|
||||
2. 4–6 Web-Recherchen → 50+ Kandidaten finden, auf 25–50 reduzieren
|
||||
3. Jeden Kandidaten gegen Kundencluster abgleichen → Priorität A / B / C
|
||||
4. Insolvenz-Check für alle Kandidaten → Insolvente sofort streichen
|
||||
5. Excel-Pipeline erstellen (s. Ordnerstruktur)
|
||||
|
||||
**Excel-Spalten Phase 2:**
|
||||
|
||||
| Spalte | Inhalt |
|
||||
|--------|--------|
|
||||
| # | Laufende Nummer |
|
||||
| Firmenname | Vollständiger Name |
|
||||
| Kategorie | Unterbranche |
|
||||
| Größe | Klein / Mittel / Groß |
|
||||
| Standort | Stadt, Land |
|
||||
| Website | www.domain.de |
|
||||
| Telefon Zentrale | +49 XXX (an Company in HubSpot) |
|
||||
| LinkedIn Company | linkedin.com/company/slug |
|
||||
| GENERIO-Fit | 2–3 Sätze warum relevant |
|
||||
| Priorität | A / B / C / ? |
|
||||
| Owner | aus CRM_Config/OWNER_MAPPING.md |
|
||||
| SalesNav Suchstring | `"[Zielrolle]" AND "[Firmenname]"` |
|
||||
| Ansprechpartner Name | leer — wird in Phase 3 gefüllt |
|
||||
| Ansprechpartner LinkedIn | leer — wird in Phase 3 gefüllt |
|
||||
|
||||
Phase 2 trägt den **SalesNav-Suchstring** für jede Firma direkt ein — Phase 3 kann sofort loslegen.
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — Ansprechpartner finden + Apollo CSV
|
||||
|
||||
**Zwei mögliche Einstiegspunkte:**
|
||||
|
||||
| Einstieg | Input | Wann |
|
||||
|----------|-------|------|
|
||||
| Standard | Phase-2-Excel aus `02_Lead_Research/` | Neue Pipeline aufgebaut |
|
||||
| CRM-Pull-Shortcut | Bestehende Companies aus HubSpot ohne Kontakte | Companies schon im CRM, Ansprechpartner fehlen noch |
|
||||
|
||||
> **CRM-Pull-Shortcut:** Wenn Companies bereits im CRM stehen (z.B. aus früheren Runs), kann Phase 2 übersprungen werden. HubSpot → Companies → Filter: `num_associated_contacts = 0` → Liste exportieren → direkt in Phase 3 einsteigen.
|
||||
|
||||
**Output:** `03_Apollo_Import/[Branche]_Apollo_Import_[DATUM].csv`
|
||||
|
||||
**Immer in dieser Reihenfolge — keine Ausnahmen:**
|
||||
|
||||
### Schritt 1: Apollo Domain-Suche (Primärweg)
|
||||
|
||||
Für jede Firma die Domain als Filter in Apollo verwenden — das ist schneller und zuverlässiger als LinkedIn SalesNav:
|
||||
|
||||
```
|
||||
apollo_mixed_people_api_search:
|
||||
q_organization_domains_list: ["domain.de"]
|
||||
person_titles: ["CEO", "Geschäftsführer", "Founder", "Managing Director", "Marketing Manager"]
|
||||
per_page: 5
|
||||
```
|
||||
|
||||
Alternativ via Apollo-UI:
|
||||
```
|
||||
app.apollo.io/#/people?q_keywords=[NAME]&q_organization_domains_list[]=[domain.de]
|
||||
```
|
||||
|
||||
Gefundene Person: **Name + LinkedIn-URL (Pflichtfeld!)** in die Phase-2-Excel eintragen.
|
||||
|
||||
> Die LinkedIn-URL ist Pflichtfeld — ohne sie kann Apollo nicht zuverlässig matchen. `apollo_people_match` mit `linkedin_url` liefert vollständigen Namen + direkte Nummer in einem Schritt. Nie eine Zeile ohne LinkedIn-URL in Phase 3 weiterführen.
|
||||
|
||||
> **SalesNav ist Plan B** — nur wenn Apollo domain-search 0 Ergebnisse liefert. Suchstring: `"[Zielrolle]" AND "[Firmenname]"`
|
||||
|
||||
### Schritt 2: Apollo Bulk-Enrichment (Batch-Reveal)
|
||||
|
||||
Statt einzeln aufzurufen: Alle Kontakte mit LinkedIn-URL auf einmal in Apollo anreichern.
|
||||
|
||||
```
|
||||
apollo.io → People → Import → CSV aus 03_Apollo_Import/ hochladen
|
||||
→ Alle selektieren → "Reveal All" (Bulk-Enrichment)
|
||||
→ Warten bis alle Nummern angereichert sind (~10–15 Sek. pro Kontakt)
|
||||
→ Export mit Telefonnummern → zurück in Phase-2-Excel (Zwischenspeicher, s.u.)
|
||||
```
|
||||
|
||||
Apollo reichert die **direkte Telefonnummer** an. Danach: Push to HubSpot.
|
||||
|
||||
> **Kein Einzelaufruf mehr.** Einzelne "Request phone number"-Klicks nur noch als Ausnahme wenn ein Kontakt beim Bulk-Reveal leer bleibt.
|
||||
|
||||
### Schritt 3: Fallback-Kette wenn Apollo keine Nummer findet
|
||||
|
||||
Wenn Apollo nach Bulk-Reveal keine direkte Nummer liefert, **immer diese Reihenfolge einhalten** — nie Schritte überspringen:
|
||||
|
||||
| Priorität | Methode | Vorgehen |
|
||||
|-----------|---------|----------|
|
||||
| 1. Apollo MCP / API | Primärweg | `apollo_people_match` mit `linkedin_url` → direkte Nummer |
|
||||
| 2. Apollo manuell via Chrome | **Fallback wenn MCP keine Nummer liefert** | Apollo.io im Browser öffnen → Kontakt suchen → „Request phone number" klicken → 10–15 Sek. warten → Nummer erscheint asynchron |
|
||||
| 3. Impressum scrapen | Wenn Apollo 0 Personen kennt | Website → Impressum → **GF-Name** lesen → Kontakt ohne Nummer anlegen; Impressum-Telefon → `Company.Phone` (nicht an Kontakt) |
|
||||
| 4. LinkedIn DM | Letzter Ausweg | Als Alternative zu Kaltakquise wenn keine Nummer erreichbar |
|
||||
|
||||
**Apollo manuell via Chrome — konkrete Schritte:**
|
||||
```
|
||||
1. apollo.io/contacts aufrufen
|
||||
2. Kontakt per Name + Firma suchen (ohne Umlaute falls nötig)
|
||||
3. Kontaktseite öffnen
|
||||
4. "Request phone number" Button klicken (kostet 8–12 Credits)
|
||||
5. 10–15 Sekunden warten (Nummer erscheint asynchron)
|
||||
6. Nummer aus der Seite lesen (get_page_text, kein Screenshot)
|
||||
7. Nummer in Phase-2-Excel eintragen (Zwischenspeicher!)
|
||||
```
|
||||
|
||||
> Chrome-Fallback nur wenn MCP-Aufruf fehlschlägt oder 0 Ergebnisse zurückgibt — nicht als Standard-Weg nutzen, da langsamer und Credit-intensiver.
|
||||
|
||||
> Impressumsnummer / Zentrale → wird beim Company-Record in HubSpot gespeichert, nicht in der Apollo-CSV.
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — CRM einpflegen
|
||||
|
||||
**Ziel:** Alle Leads sauber in HubSpot mit Owner, Lifecycle Stage und direkter Telefonnummer.
|
||||
|
||||
**Owner-Alignment (Pflichtregeln):**
|
||||
|
||||
1. **Kontakte erben immer den Owner der Company** — nie manuell abweichen. Wenn die Company keinen Owner hat, zuerst Owner an die Company setzen, dann Kontakt anlegen.
|
||||
2. **Nichts gefunden / Website down → kein Owner + UNQUALIFIED:**
|
||||
- Company bleibt im CRM (verhindert Duplikate beim nächsten Durchlauf)
|
||||
- Owner wird **nicht** gesetzt (kein Spam in der Inbox)
|
||||
- `hs_lead_status = UNQUALIFIED` + ggf. kurze Notiz warum (z.B. "Website down 2026-05-14")
|
||||
- Kein Kontakt anlegen für diese Company
|
||||
|
||||
> Regel: Owner im CRM = Owner bekommt Aufgaben. Wer kein Owner ist, bekommt auch nichts. Deshalb: lieber keinen Owner als den falschen.
|
||||
|
||||
**Domain-Check vor Company-Anlage (Pflichtschritt):**
|
||||
|
||||
Bevor eine Company angelegt wird, immer prüfen ob sie bereits im CRM existiert — dieselbe Firma kann unter verschiedenen Namen eingetragen sein. Domain ist der zuverlässigste Identifier:
|
||||
|
||||
```
|
||||
HubSpot → Companies → Filter: domain = "domain.de"
|
||||
→ Wenn Treffer: bestehenden Record aktualisieren, NICHT neu anlegen
|
||||
→ Wenn kein Treffer: neu anlegen
|
||||
```
|
||||
|
||||
**Companies anlegen (Claude automatisch):**
|
||||
- Name, Domain, Website, Telefon Zentrale
|
||||
- `lifecyclestage: lead`
|
||||
- Owner aus `CRM_Config/OWNER_MAPPING.md`
|
||||
|
||||
**Contacts anlegen — zwei Schritte (Kontakt zuerst, Nummer danach):**
|
||||
|
||||
Schritt A — Kontakt mit verfügbaren Daten anlegen:
|
||||
```
|
||||
manage_crm_objects → createRequest:
|
||||
firstname, lastname, jobtitle, email, hs_linkedin_url
|
||||
lifecyclestage: lead
|
||||
hubspot_owner_id: [gleicher Owner wie Company!]
|
||||
associations: [{targetObjectId: [Company-ID], targetObjectType: "companies"}]
|
||||
```
|
||||
|
||||
Schritt B — Direkte Nummer nachtragen (sobald über Apollo gefunden):
|
||||
```
|
||||
manage_crm_objects → updateRequest:
|
||||
mobilephone: [direkte Nummer]
|
||||
```
|
||||
|
||||
> Kontakt ohne Nummer ist besser als kein Kontakt. Schritt B kann später durch Apollo-Enrichment-Run ergänzt werden.
|
||||
|
||||
**Contacts via Apollo → HubSpot Push (Bulk-Weg):**
|
||||
```
|
||||
1. apollo.io → Contacts → Import → CSV aus 03_Apollo_Import/ hochladen
|
||||
2. Mapping: Company Website → Company, Title → Title
|
||||
3. Import bestätigen
|
||||
4. Alle Kontakte selektieren → Bulk Actions → "Push to HubSpot"
|
||||
⚠️ HubSpot Sync muss in Apollo CRM Settings aktiviert sein
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Zwischenspeicher-Regel (gilt für alle Phasen)
|
||||
|
||||
**Die Phase-2-Excel ist die einzige Wahrheit** — alle angereicherten Daten werden dort eingetragen, bevor sie ins CRM fließen.
|
||||
|
||||
| Phase | Was wird zurückgeschrieben? |
|
||||
|-------|----------------------------|
|
||||
| Phase 3 Schritt 1 | Name + LinkedIn-URL aus SalesNav |
|
||||
| Phase 3 Schritt 2 | Direkte Telefonnummer aus Apollo |
|
||||
| Phase 3 Schritt 3 | Impressumsnummer (Spalte „Telefon Zentrale") |
|
||||
| Phase 4 | HubSpot Contact ID + Company ID nach Import |
|
||||
|
||||
> **Warum:** Bei Kontext-Abbruch (Session-Timeout, Browser-Crash) ist die Phase-2-Excel der Wiederherstellungspunkt. CRM-Import erst wenn alle Spalten gefüllt oder als „nicht gefunden" markiert sind. Keine Daten direkt vom Tool ins CRM ohne Zwischenspeicher.
|
||||
|
||||
---
|
||||
|
||||
## Folder-Struktur
|
||||
|
||||
```
|
||||
00_Sales_Prozess/
|
||||
├── PROZESS.md ← Diese Datei
|
||||
├── 00_Inbox/ ← Phase 0: Einstiegspunkt
|
||||
│ └── INBOX.md
|
||||
├── 01_ICP_Cluster/ ← Phase 1: Cluster-Kriterien + Zielrollen
|
||||
│ └── GENERIO_Kundencluster.xlsx
|
||||
├── 02_Lead_Research/ ← Phase 2 Output: Firmen-Excel
|
||||
│ └── [Branche]_Sales_Pipeline_[REGION]_[JAHR].xlsx
|
||||
├── 03_Apollo_Import/ ← Phase 3 Output: Apollo CSV für Nummern
|
||||
│ └── [Branche]_Apollo_Import_[DATUM].csv
|
||||
├── CRM_Config/ ← Owner-Mapping + HubSpot-Konfiguration
|
||||
│ └── OWNER_MAPPING.md
|
||||
├── skill/ ← Claude-Skill-Dateien
|
||||
│ ├── SKILL.md
|
||||
│ └── inbox_SKILL_PATCH.md
|
||||
└── Templates/
|
||||
├── Lead_Pipeline_TEMPLATE.xlsx
|
||||
├── Apollo_Import_TEMPLATE.csv
|
||||
└── LinkedIn_SalesNav_TEMPLATE.xlsx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prozess starten
|
||||
|
||||
```
|
||||
„Finde mir [ANZAHL] Firmen aus [BRANCHE] — Region: [REGION]"
|
||||
```
|
||||
|
||||
Claude übernimmt automatisch: Phase 1 lesen → Phase 2 recherchieren → Phase 3 SalesNav + Apollo CSV → Phase 4 CRM anlegen. Fertig wenn Ansprechpartner mit direkter Telefonnummer im CRM stehen.
|
||||
|
||||
---
|
||||
|
||||
## Bestehende Pipelines (Stand Mai 2026)
|
||||
|
||||
| Datei | Branche | Leads |
|
||||
|-------|---------|-------|
|
||||
| Leads_Commerce_DACH_2026.xlsx | FMCG & Retail Commerce | 300 |
|
||||
| FMCG_Sales_Pipeline_DACH.xlsx | FMCG Hersteller | ~50 |
|
||||
| Leads_3D_Druck_DACH_2026.xlsx | 3D-Druck DACH | ~200 |
|
||||
| Leads_3D_Druck_DACH_2026_200weitere.xlsx | 3D-Druck Erweiterung | 200 |
|
||||
| Generio_Sales_Pipeline_Haendler_v2.xlsx | Händler / Mittelhändler | 51 |
|
||||
| Generio_Sales_Pipeline_Aquaristik.xlsx | Aquaristik | ~50 |
|
||||
| Generio_Sales_Pipeline_Tier_Pflanzen_50.xlsx | Tier & Pflanzen | 50 |
|
||||
| LinkedIn_SalesNav_Recherche.xlsx | Multi-Branche SalesNav | 76 |
|
||||
|
||||
> Altstruktur: `Leads & Companies/`. Neue Pipelines → `02_Lead_Research/`.
|
||||
Reference in New Issue
Block a user