Files
Brancheneinstufung2/lead-engine/README.md

93 lines
4.8 KiB
Markdown

# Lead Engine: Multi-Source Automation v1.2 [31988f42]
## 🚀 Übersicht
Die **Lead Engine** ist ein spezialisiertes Modul zur autonomen Verarbeitung von B2B-Anfragen aus verschiedenen Quellen. Sie fungiert als Brücke zwischen dem E-Mail-Postfach und dem **Company Explorer**, um innerhalb von Minuten hochgradig personalisierte Antwort-Entwürfe auf "Human Expert Level" zu generieren.
## 🛠 Hauptfunktionen
### 1. Intelligenter E-Mail Ingest
* **Multi-Source:** Überwacht das Postfach `info@robo-planet.de` via **Microsoft Graph API** auf verschiedene Lead-Typen.
* **Filter & Routing:** Erkennt und unterscheidet Anfragen von **TradingTwins** und dem **Roboplanet-Kontaktformular**.
* **Parsing:** Spezialisierte HTML-Parser extrahieren für jede Quelle strukturierte Daten (Firma, Kontakt, Bedarf, etc.).
### 2. Contact Research (LinkedIn Lookup)
* **Automatisierung:** Sucht via **SerpAPI** und **Gemini 2.0 Flash** nach der beruflichen Position des Ansprechpartners.
* **Ergebnis:** Identifiziert Rollen wie "CFO", "Mitglied der Klinikleitung" oder "Facharzt", um den Tonfall der Antwort perfekt anzupassen.
### 3. Company Explorer Sync & Monitoring
* **Integration:** Legt Accounts und Kontakte automatisch im CE an.
* **Monitor:** Ein Hintergrund-Prozess (`monitor.py`) überwacht asynchron den Status der KI-Analyse im CE.
* **Daten-Pull:** Sobald die Analyse (Branche, Dossier) fertig ist, werden die Daten in die lokale Lead-Datenbank übernommen.
### 4. Expert Response Generator
* **KI-Engine:** Nutzt Gemini 2.0 Flash zur Erstellung von E-Mail-Entwürfen.
* **Kontext:** Kombiniert Lead-Daten (Fläche) + CE-Daten (Dossier) + Matrix-Argumente (Pains/Gains).
* **Persistente Entwürfe:** Generierte E-Mail-Entwürfe werden direkt beim Lead gespeichert und bleiben erhalten.
### 5. UI & Qualitätskontrolle
* **Visuelle Unterscheidung:** Klare Kennzeichnung der Lead-Quelle (z.B. 🌐 für Website, 🤝 für Partner) in der Übersicht.
* **Status-Tracking:** Visueller Indikator (🆕/✅) für den Synchronisations-Status mit dem Company Explorer.
* **Low-Quality-Warnung:** Visuelle Kennzeichnung (⚠️) von Leads mit Free-Mail-Adressen oder ohne Firmennamen direkt in der Übersicht.
### 6. Trading Twins Autopilot (NEU v2.0)
Der vollautomatische "Zero Touch" Workflow für Trading Twins Anfragen.
* **Human-in-the-Loop:** Vor Versand erhält Elizabeta Melcer eine Teams-Nachricht ("Approve/Deny").
* **5-Minuten-Timeout:** Erfolgt keine Reaktion, wird die E-Mail automatisch versendet.
* **Smart Calendar:**
* **Faktor-3-Überbuchung:** Termine werden bis zu 3x parallel angeboten, um den Kalender dicht zu füllen.
* **Soft-Blocking:** Interne Datenbank verhindert Doppelbuchungen über den Faktor 3 hinaus.
* **Technologie:**
* **Teams Webhook:** Für interaktive "Adaptive Cards".
* **Graph API:** Für sicheren E-Mail-Versand (statt SMTP).
* **Orchestrator:** Steuert den Ablauf (Lead -> CE -> Teams -> Timer -> Mail).
## 🏗 Architektur
```text
/app/lead-engine/
├── app.py # Streamlit Web-Interface
├── trading_twins_ingest.py # E-Mail Importer (Graph API)
├── monitor.py # Monitor + Trigger für Orchestrator
├── trading_twins/ # [NEU] Autopilot Modul
│ ├── orchestrator.py # Prozess-Steuerung (Timer, Logic)
│ ├── manager.py # Slot-Logik & DB-Zugriff
│ ├── teams_notification.py# Teams Webhook Integration
│ ├── email_sender.py # Graph API Mailer
│ ├── api_server.py # Feedback-Endpunkt (Port 8004)
│ └── models.py # SQLite DB für Jobs/Slots
├── db.py # Lokale Lead-Datenbank
└── data/ # DB-Storage
```
## 🚀 Inbetriebnahme (Docker)
Die Lead Engine ist als Service in der zentralen `docker-compose.yml` integriert.
```bash
# Neustart des Dienstes nach Code-Änderungen
docker-compose restart lead-engine
```
**Zugriff:** `https://floke-ai.duckdns.org/lead/` (Passwortgeschützt)
**API Feedback Loop:** Port 8004 (intern).
## 📝 ToDos & Integration (Status: Warten auf IT)
Die Logik ist implementiert und getestet ("Dry Run"). Für den Go-Live fehlen folgende Credentials in der `.env`:
1. **Teams Webhook:**
* Benötigt: URL für den "Incoming Webhook" Connector.
* Env-Var: `TEAMS_WEBHOOK_URL`
2. **Microsoft Graph API:**
* Benötigt: App Registration mit `Mail.Send` und `Calendars.Read`.
* Env-Vars: `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_TENANT_ID`.
3. **Assets:**
* [ ] Banner-Bild `RoboPlanetBannerWebinarEinladung.png` nach `/app/lead-engine/trading_twins/` hochladen.
* [ ] HTML-Signatur in `/app/lead-engine/trading_twins/signature.html` finalisieren.
---
*Dokumentationsstand: 4. März 2026*
*Task: [31988f42]*