feat: Implement Trading Twins Autopilot with Teams integration and फैक्टर-3 overbooking logic [31988f42]
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Lead Engine: Multi-Source Automation v1.1 [31388f42]
|
||||
# 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.
|
||||
@@ -29,17 +29,34 @@ Die **Lead Engine** ist ein spezialisiertes Modul zur autonomen Verarbeitung von
|
||||
* **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 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
|
||||
├── 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
|
||||
```
|
||||
|
||||
@@ -53,23 +70,24 @@ docker-compose restart lead-engine
|
||||
```
|
||||
|
||||
**Zugriff:** `https://floke-ai.duckdns.org/lead/` (Passwortgeschützt)
|
||||
**API Feedback Loop:** Port 8004 (intern).
|
||||
|
||||
## 📝 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.
|
||||
## 📝 ToDos & Integration (Status: Warten auf IT)
|
||||
|
||||
## 📋 Roadmap / Nächste Schritte
|
||||
Die Logik ist implementiert und getestet ("Dry Run"). Für den Go-Live fehlen folgende Credentials in der `.env`:
|
||||
|
||||
- [ ] **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.
|
||||
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: 2. März 2026*
|
||||
*Task: [31388f42]*
|
||||
*Dokumentationsstand: 4. März 2026*
|
||||
*Task: [31988f42]*
|
||||
Reference in New Issue
Block a user