Commit Graph

54 Commits

Author SHA1 Message Date
b4a618e3ee [31588f42] docs: add Selections strategy to README 2026-02-28 18:42:22 +00:00
c31f5ed1bd [31588f42] docs: document SuperOffice Product Families (Robot Models) 2026-02-28 18:39:34 +00:00
2c29eed24d [31588f42] docs: document SuperOffice Service/Ticket module and categories 2026-02-28 18:34:33 +00:00
db95347678 [31588f42] fix: update Sale creation with Roboplanet-specific ID 14 and mandatory Saledate 2026-02-28 18:15:45 +00:00
4ea4b3b193 [31588f42] feat: implement SuperOffice Sales API prototype and fix auth docs 2026-02-28 18:06:12 +00:00
670b901248 [2ff88f42] Implementierung E-Mail-Dokument-Automatisierung und technischer Check der Versand-Blocker. Workaround via SuperOffice-Aktivitäten etabliert.
Implementierung E-Mail-Dokument-Automatisierung und technischer Check der Versand-Blocker. Workaround via SuperOffice-Aktivitäten etabliert.
2026-02-28 14:25:25 +00:00
a799291654 docs(email-strategy): Add detailed technical analysis of sending blockers 2026-02-28 14:20:47 +00:00
5c8c92f1dd fix(email-api): Implement robust content upload and activity-based workaround 2026-02-28 13:51:58 +00:00
bf7fa9e05f docs(email-api): Update email test script with manual sending instructions and link 2026-02-28 13:46:24 +00:00
ec355c2f12 feat(email-api): Implement email document creation via SuperOffice API (no SMTP) 2026-02-28 13:42:34 +00:00
41e5696c57 Finalize SuperOffice production migration and multi-campaign architecture (v1.8) 2026-02-27 15:09:52 +00:00
4925acb141 docs: Add post-migration to-do checklist to README [31188f42] 2026-02-26 07:23:53 +00:00
7d55d5adc6 docs: Add Lessons Learned for Production Migration in README [31188f42] 2026-02-26 07:16:41 +00:00
f51198009d fix: Refactor SuperOfficeClient to support production environments and global token endpoints [31188f42] 2026-02-26 07:15:16 +00:00
b0ae54c85d docs: Update SuperOffice endpoint to production (online3) [31188f42] 2026-02-26 07:07:15 +00:00
f94f7ea4dd Refactor API calls to use PATCH instead of PUT for cleaner updates (SuperOffice Certification) 2026-02-25 17:21:36 +00:00
e4b0d4deca docs: update readme with api optimization and getAllRows lessons learned [31188f42] 2026-02-24 13:07:56 +00:00
9feebc50d8 fix(so-worker): robust id extraction from webhook fieldvalues & safe api access [31188f42] 2026-02-24 12:56:18 +00:00
7b15c3f9f0 refactor(so-connector): optimize api calls with $select and filtering [31188f42] 2026-02-24 12:38:14 +00:00
198eaef2b2 feat: Implement unsubscribe link for marketing automation [31188f42]
This commit introduces a new unsubscribe feature to allow contacts to opt-out
from marketing automation.

Key changes include:
- Database schema migration: Added  (UUID) to the  model.
- Data population: Implemented a script to assign unique tokens to existing contacts.
- API endpoint: Created a public GET  endpoint to handle opt-out requests.
- Automation: New contacts automatically receive an unsubscribe token upon creation.
- Integration: The full unsubscribe link is now returned via the provisioning API
  for storage in SuperOffice UDFs (ProgID: SuperOffice:9).
- Documentation: Updated  and
  to reflect the new feature and its integration requirements.
- Added  for quick overview and next steps.
2026-02-24 12:18:13 +00:00
6b2d7aefbb [31188f42] einfügen
einfügen
2026-02-24 08:40:38 +00:00
e1357b8a33 [2ff88f42] Finalize Pains & Gains Phase 2 + Matrix Engine v3.2 (Ops Secondary Logic) 2026-02-23 10:53:13 +00:00
02f9b6ae2e [30f88f42] einfügen
einfügen
2026-02-22 19:22:39 +00:00
e4ed1073f6 [30e88f42] Einfügen
Einfügen
2026-02-22 14:31:00 +00:00
abdbb84938 [30e88f42] ✦ In dieser Sitzung haben wir den End-to-End-Test der SuperOffice-Schnittstelle erfolgreich von der automatisierten Simulation bis zum produktiven Live-Lauf
✦ In dieser Sitzung haben wir den End-to-End-Test der SuperOffice-Schnittstelle erfolgreich von der automatisierten Simulation bis zum produktiven Live-Lauf
  mit Echtdaten abgeschlossen.
2026-02-22 08:20:28 +00:00
72c2a53afc Enhance: Address/VAT Sync & Infrastructure Hardening [30e88f42]
- Implemented Address (City) and VAT (OrgNumber) sync back to SuperOffice.
- Hardened Infrastructure: Removed Pydantic dependency in config for better Docker compatibility.
- Improved SuperOffice Client error logging and handled empty SO_ENVIRONMENT variables.
- Updated Matrix Generator: Switched to gemini-2.0-flash, added industry filtering, and robust JSON parsing.
- Updated Documentation with session findings and troubleshooting steps.
2026-02-21 21:26:57 +00:00
7d038765cc Feat: End-to-End Test & Bidirectional Vertical Sync [30e88f42]
- Implemented comprehensive E2E test  covering full roundtrip and manual overrides.
- Enhanced  to detect manual Vertical changes in SuperOffice and sync them to Company Explorer.
- Updated  to handle industry overrides from CRM and auto-persist Person/Contact data for robust cascade updates.
2026-02-21 20:05:25 +00:00
79653775f8 [2ff88f42] feat(GTM-Engine): Finalize Dual Opener Strategy and E2E Tests
Completed the full GTM Engine implementation:\n\n- Implemented 'Dual Opener' (Primary/Secondary) generation in ClassificationService and DB.\n- Updated Frontend Inspector to display both openers.\n- Hardened analysis process (fixed duplicate scrapes, improved metric prompt).\n- Created robust, API-level E2E test script (test_opener_api.py).\n- Created a standalone health_check.py for diagnostics.\n- Updated all relevant documentation (README, GEMINI.md).
2026-02-20 15:50:53 +00:00
1aabae30ad [2ff88f42] feat(GTM-Engine): Implement Dual Opener Strategy & Harden Analysis
Completed the GTM engine setup:\n\n- Implemented 'Dual Opener' generation (Primary/Secondary) in ClassificationService.\n- Migrated DB to support two opener fields.\n- Updated API and Frontend to handle and display both openers.\n- Fixed bug creating duplicate website_scrape entries.\n- Hardened metric extraction by improving the LLM prompt and adding content length checks.
2026-02-20 15:38:06 +00:00
c2778bfa68 [2ff88f42] Finalize Verticals Pains/Gains in Notion & Update Docs
Updated all Notion Verticals with sharpened Pains/Gains based on internal strategy (Ops vs Infra focus). Updated SuperOffice Connector README to reflect the 'Static Magic' architecture.
2026-02-20 13:24:13 +00:00
ec3933585c [2ff88f42] Finalize SuperOffice Integration: Enhanced Persona model with Influencer role, switched Matrix Generator to Gemini, implemented Noise Reduction for Webhooks, and added E2E test scenarios. 2026-02-20 10:55:57 +00:00
d345539051 [2ff88f42] Refine Webhook Filter: Restrict to Strategic Fields (Name, URL, JobTitle, Position) only 2026-02-20 09:36:34 +00:00
ef9ab6cba0 [2ff88f42] Implement Webhook Noise Reduction: Filter irrelevant events (Sale, Project) and minor field changes 2026-02-20 08:15:19 +00:00
e1071fc73c [2ff88f42] Finalize SuperOffice Connector: Centralized Config, Added Position/Role Mapping Logic, and Discovery Tools 2026-02-20 07:20:26 +00:00
f65df42f55 [2ff88f42] multiplikation vorbereitet
multiplikation vorbereitet
2026-02-19 20:59:04 +00:00
138bb4acae [2ff88f42] Full End-to-End integration: Webhooks, Auto-Enrichment, Notion-Sync, UI updates and new Connector Architecture 2026-02-19 16:13:16 +00:00
Moltbot-Jarvis
0142f763f0 docs: Add scale-up plan for SuperOffice batch processing 2026-02-19 08:14:44 +00:00
Moltbot-Jarvis
1d9a3fbc39 feat(so-sync): final round-trip tools and infrastructure fixes 2026-02-16 13:58:37 +00:00
Moltbot-Jarvis
d55a578bab feat(so-sync): bidirectional round-trip for company data established [lessons-learned] 2026-02-16 13:58:37 +00:00
48b3d3468d feat(superoffice): Restore full main.py functionality and add health check [2ff88f42]
This commit restores the full functionality of the  script within the  module. Several  instances were resolved by implementing missing methods in  (e.g., , , , , , , ) and correcting argument passing.

The data extraction logic in  was adjusted to correctly parse the structure returned by the SuperOffice API (e.g.,  and ).

A dedicated SuperOffice API health check script () was introduced to quickly verify basic API connectivity (reading contacts and persons). This script confirmed that read operations for  and  entities are functional, while the  endpoint continues to return a , which is now handled gracefully as a warning, allowing other tests to proceed.

The  now successfully executes all SuperOffice-specific POC steps, including creating contacts, persons, sales, projects, and updating UDFs.
2026-02-16 10:33:19 +00:00
Jarvis
f3c0a7da9e docs: Add ID mappings for Roles and Verticals (DEV) 2026-02-12 14:24:57 +00:00
Jarvis
1a325d003b docs: Add DEV/PROD mapping for UDF ProgIds 2026-02-12 14:23:45 +00:00
Jarvis
9fff4753c9 feat: Build complete POC for Butler model (client, matrix, daemon) 2026-02-12 14:18:57 +00:00
Jarvis
1f654220e1 docs: Create comprehensive documentation for the Butler model architecture 2026-02-12 14:18:57 +00:00
f711d0a27d [2ff88f42] Update README.md with custom table access lessons learned and revert unrequested files. 2026-02-11 13:34:35 +00:00
0bec492c40 [2ff88f42] refactor(connector-superoffice): finalize production readiness cleanup
- Integrated centralized logging system in all modules.
- Extracted all IDs and ProgIds into a separate .
- Refactored  and  for cleaner dependency management.
- Included updated discovery and inspection utilities.
- Verified end-to-end workflow stability.
2026-02-10 12:43:26 +00:00
fd5ca41e7f [2ff88f42] feat(connector-superoffice): Implement Company Explorer sync and Holiday logic
- **Company Explorer Sync**: Added `explorer_client.py` and integrated Step 9 in `main.py` for automated data transfer to the intelligence engine.
- **Holiday Logic**: Implemented `BusinessCalendar` in `utils.py` using the `holidays` library to automatically detect weekends and Bavarian holidays, ensuring professional timing for automated outreaches.
- **API Discovery**: Created `parse_ce_openapi.py` to facilitate technical field mapping through live OpenAPI analysis.
- **Project Stability**: Refined error handling and logging for a smooth end-to-end workflow.
2026-02-10 11:56:44 +00:00
b7265ff1e7 [2ff88f42] 1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
       * Firmen (`Contact`)
       * Personen (`Person`)
       * Verkäufe (`Sale`) (entspricht D365 Opportunity)
       * Projekte (`Project`) (entspricht D365 Campaign), inklusive der Verknüpfung von Personen als Projektmitglieder.
   2. Robuste UDF-Aktualisierung: Wir haben eine generische und fehlertolerante Methode (update_entity_udfs) implementiert, die benutzerdefinierte Felder (UDFs) für sowohl Contact- als
      auch Person-Entitäten aktualisieren kann. Diese Methode ruft zuerst das bestehende Objekt ab, um die Konsistenz zu gewährleisten.
   3. UDF-ID-Discovery: Durch eine iterative Inspektionsmethode haben wir erfolgreich alle internen SuperOffice-IDs für die Listenwerte deines MA Status-Feldes (Ready_to_Send, Sent_Week1,
      Sent_Week2, Bounced, Soft_Denied, Interested, Out_of_Office, Unsubscribed) ermittelt und im Connector hinterlegt.
   4. Vollständiger End-to-End Test-Workflow: Unser main.py-Skript demonstriert nun einen kompletten Ablauf, der alle diese Schritte von der Erstellung bis zur UDF-Aktualisierung umfasst.
   5. Architekturplan für Marketing Automation: Wir haben einen detaillierten "Butler-Service"-Architekturplan für die Marketing-Automatisierung entworfen, der den Connector für die
      Textgenerierung und SuperOffice für den Versand und das Status-Management nutzt.
   6. Identifikation des E-Mail-Blockers: Wir haben festgestellt, dass das Erstellen von E-Mail-Aktivitäten per API in deiner aktuellen SuperOffice-Entwicklungsumgebung aufgrund fehlender
      Lizenzierung/Konfiguration des E-Mail-Moduls blockiert ist (500 Internal Server Error).
2026-02-10 11:06:32 +00:00
07207921e0 [2ff88f42] feat(connector-superoffice): Implement Sale and Project entities, refine workflow
This commit extends the SuperOffice connector to support the creation and linking of Sale \(Opportunity\) and Project \(Campaign\) entities, providing a comprehensive foundation for both sales and marketing automation workflows.

Key achievements:
- **`SUPEROFFICE_INTEGRATION_PLAN.md`**: Updated to include strategic mapping of D365 concepts \(Opportunity, Campaign\) to SuperOffice entities \(Sale, Project\).
- **`connector-superoffice/superoffice_client.py`**:
    - Implemented `create_sale` method to generate new opportunities, correctly mapping `Title` to SuperOffices
2026-02-10 07:57:11 +00:00
53f8fad7f2 [2ff88f42] 1. Analyse der Änderungen:
1. Analyse der Änderungen:
      * superoffice_client.py: Implementierung der Methoden create_contact (Standardfelder) und create_person (inkl. Firmenverknüpfung).
      * auth_handler.py: Härtung der Authentifizierung durch Priorisierung von SO_CLIENT_ID und Unterstützung für load_dotenv(override=True).
      * main.py: Erweiterung des Test-Workflows für den vollständigen Lese- und Schreib-Durchstich (Erstellung von Demo-Firmen und Personen).
      * README.md: Aktualisierung des Status Quo und der verfügbaren Client-Methoden.
2026-02-09 19:00:18 +00:00