Files
Brancheneinstufung2/lead-engine
Floke b60d38994d feat(trading-twins): Implement human-in-the-loop via Teams [31988f42]
- Adds a human-in-the-loop verification step for the Trading Twins lead engine.
- Before sending an email, a notification is sent to a specified Teams channel via webhook.
- The notification is an Adaptive Card that allows a user (Elizabeta Melcer) to stop or immediately trigger the email dispatch within a 5-minute window.
- If no action is taken, the email is sent automatically after the timeout.
- Includes a FastAPI-based feedback server on port 8004 to handle the card actions.
- Adds placeholder for the HTML email signature.
- Successfully tested the Teams webhook connectivity and the full notification/feedback loop in a sandbox environment.
2026-03-05 10:35:50 +00:00
..

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

/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.

# 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]