# Lead Engine: Multi-Source Automation v1.1 [31388f42] ## 🚀 Ü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. ## 🏗 Architektur ```text /app/lead-engine/ ├── app.py # Streamlit Web-Interface ├── trading_twins_ingest.py # E-Mail Importer (Graph API für alle Quellen) ├── ingest.py # Enthält alle spezifischen Parser ├── lookup_role.py # LinkedIn/Role Research (SerpAPI + Gemini) ├── generate_reply.py # Email Draft Generator (Gemini) ├── monitor.py # Asynchroner CE-Status Monitor ├── db.py # Lokale SQLite 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) ## 📝 Nutzungshinweise 1. **Ingest:** Klicke in der Web-App auf "2. Ingest Real Emails". Das System lädt alle neuen Leads, egal welcher Quelle. 2. **Sync:** Wähle einen Lead und klicke auf "Sync to Company Explorer". 3. **Wait:** Der Monitor erkennt automatisch, wenn die Analyse im CE fertig ist. 4. **Draft:** Klicke auf "Generate Expert Reply" für den fertigen Entwurf. ## 📋 Roadmap / Nächste Schritte - [ ] **Phase 2: Intelligente Antworten für Kontaktformulare:** Entwicklung einer kontextbezogenen Antwortlogik für Website-Formular-Leads. - [ ] **IT-Klärung:** Microsoft Bookings Berechtigungen (`Bookings.Read.All`, `BookingsAppointment.ReadWrite.All`) für die Entra App anfragen. - [ ] **Infrastruktur:** Korrekten Buchungslink (persönliches Konto) ermitteln und in der `.env` hinterlegen. - [ ] **CRM-Integration:** Modul "Push to SuperOffice" entwickeln, um Personen und E-Mail-Entwürfe direkt im CRM anzulegen. - [ ] **Daten-Synchronisation:** Notion-Produktdatenbank in die lokale DB spiegeln, um Produktauswahl und ROI-Berechnung zu dynamisieren. - [ ] **Logik:** ROI-Kalkulation im E-Mail-Entwurf auf Basis von echten Leistungsdaten (m²/h) und Preisen schärfen. - [ ] **UI:** "Copy to Clipboard" Funktion für den fertigen Entwurf in der Web-App finalisieren. --- *Dokumentationsstand: 2. März 2026* *Task: [31388f42]*