Mustafa.
Zurück zu allen Projekten

Urla Shoes — KI-Dokumenten-Compliance-Engine + Multifeature-Salesforce-Plattform

Ein Multifeature-Salesforce-Build, angeführt von einem KI-Partner-Compliance-Dokumentenmanager: ein Einstein Prompt Template (Prompt Builder, GPT-4o mini) klassifiziert jedes hochgeladene Partnerdokument in strukturiertes JSON, validiert es und schließt die passende Compliance-Anforderung automatisch. Drumherum: KI-Routensicherheit (Google Maps + OpenWeather + Einstein), Contact-Enrichment, Lead-Queue-Routing, Loan-Sync, eine Reseller-Matching-Engine und ein Custom-Setting-basiertes API-Key-Layer, das Secrets aus dem Code hält.

Jahr
2024
Rolle
Salesforce Developer
Technologien
Apex (Queueable, Schedulable)Lightning Web ComponentsVisualforce (bridge)Salesforce EinsteinEinstein Prompt Templates (Prompt Builder)AI document classification (GenAI)Agentforce actions (@InvocableMethod)Notion APICustom Metadata TypesConnectApi.EinsteinLLMTrigger Framework (Kevin O'Hara)Custom Settings (hierarchical)Platform EventsCustom ObjectsHttpCalloutMockRemote Site Settings

Eckdaten

  • KI-Partner-Compliance-Dokumentenmanager — ein Einstein Prompt Template (Prompt Builder, GPT-4o mini via ConnectApi.EinsteinLLM, Trust Layer) klassifiziert jeden Upload in strukturiertes JSON (Kategorie, Confidence, Ablaufdatum), validiert es, schreibt es zurück und schließt die passende Dokumentenanforderung automatisch
  • Compliance-Cockpit — eine Live-MISSING/EXPIRED/EXPIRING/OK-Matrix mit Score je Partner, getrieben von Custom-Metadata-Anforderungen (Steuerbescheinigung, Versicherung, unterzeichneter Vertrag, Bankverbindung)
  • Agentforce-Invocable-Actions (@InvocableMethod) — LeadQualificationService bewertet + ratet Leads (Hot/Warm/Cold) mit DACH-Bonus (DE/AT/CH) und legt automatisch eine Call-Task an; OnboardReseller leitet Tier (Platinum/Gold/Silver) + Kommission ab und erstellt Account + Contact + Opportunity + Quote
  • Magic-Link-Partner-Selbstregistrierung — nicht zugeordnete Reseller erhalten einen einmaligen, 7-Tage-tokenisierten Link; eine @InvocableMethod-Reconciliation-Action verknüpft sie später per E-Mail-Domain mit jeder offenen Opportunity
  • Notion-API-Integration — programmatische STAR-Format-Seiten (Block-JSON, Sprach-Token-Alias-Map, 2000-Zeichen-Rich-Text-Chunking) aus einem geschützten Custom-Setting-Token
  • Route-Safety-LWC — Google Maps + parallele 5-Wegpunkt-OpenWeather + Einstein-Prompt-Template-KI-Urteil auf einem Screen
  • Contact-Enrichment-Queueable — Nationalize.io mit HttpCalloutMock über 6 Szenarien (Erfolg, leer, HTTP 500, fehlender FirstName, Bulk-10, Parser-Test)
  • Schichtbasierte Lead-Routing-Engine — Round-Robin nach geringster Last mit Schicht-Kapazität, 5-Min-SLA-Deadlines, die Breaches zurückholen (SLA_Breach_Log__c) und unter Ausschluss der verletzenden Reps neu verteilen, Timezone/DST-korrekte Fenster inkl. Nachtschichten; scheduled Batch + Lead_Shift_Event__e Platform Event + LWC-Dashboard
  • Loan-Sync-Pipeline — Loan__c + Loan_Sync_Log__c Custom Objects + Opportunity-getriggerter Sync + Retry-Scheduler mit Audit-Logging
  • Reseller-Matching-Engine — mehrkriterielles Scoring + Opportunity-Trigger + LWC-Tier-Badge
  • Plattform-Foundations — erweiterbares Kevin-O'Hara-TriggerHandler-Framework, Round-Robin-Task-Zuweisung, SLA-Ablauf-Automatisierung
  • Senior-Pattern: API-Keys aus API_Config__c Custom Setting via ApiKeyService Apex-Helper — keine Secrets im Code

Funktionen im Detail

Partner-Compliance-Cockpit

Eine netzwerkweite Matrix bewertet die Pflichtdokumente jedes Resellers auf einen Blick — MISSING / EXPIRED / EXPIRING / OK — mit Compliance-Prozenten je Partner und Roll-up-Zählern (vollständig konform, läuft bald ab, gefährdet). Die Pflichtdokumente sind in Custom Metadata definiert, sodass ein Admin das Regelwerk ohne Code-Deploy ändern kann.

Partner Compliance Cockpit — reseller network compliance matrix with per-partner scores

KI-Dokumentenklassifizierer (Einstein / GPT-4o mini)

Jedes hochgeladene Dokument wird on demand analysiert: Ein Einstein Prompt Template klassifiziert es in eine Kategorie mit Confidence-Score, extrahiert das Ablaufdatum und schreibt eine einzeilige Zusammenfassung — und wendet das Ergebnis auf den Datensatz an. Hier legt das Modell einen Vertriebsvertrag (95%), eine Steuerbescheinigung (90%) und eine Versicherungsbescheinigung (90%) automatisch ab.

AI Document Classifier — Einstein classifying uploaded partner documents into categories with confidence scores

Live-Scoring & automatisch erfüllte Dokumentenanforderungen

Auf jedem Reseller-Datensatz spiegelt eine bewertete Checkliste den Dokumentenstatus in Echtzeit via Lightning Message Service — ohne Seiten-Reload. 'Request Missing Documents' legt eine Document_Request__c an und mailt den Primary Contact des Partners; sobald das passende Dokument klassifiziert ist, schließt sich die Anforderung automatisch und der Score steigt von 25% auf 100%.

Reseller compliance checklist reaching 100% with auto-fulfilled document requests

File Hub — Partner-Dokumentenzentrum

Eine Business-Schicht über Salesforces nativem ContentDocument-Storage, die Sender-, Empfänger-, Kategorie- und Record-Link-Semantik ergänzt — mit farbcodierten Kategorie-Kacheln und einer monatlichen Aktivitäts-Heatmap. Private Sharing via Apex-managed Shares, Ghost-Record-Schutz beim Löschen und FLS/CRUD-enforced mit WITH USER_MODE (~91% Controller-Coverage).

File Hub — partner document center with category tiles and activity heatmap

Schichtbasierte Lead-Routing-Engine

Eingehende Leads werden per kapazitätsbewusstem Round-Robin (geringste Last gewinnt) an Reps in aktiven, zeitzonenbewussten Schichten verteilt. Ein 5-Minuten-SLA holt nicht bearbeitete Leads zurück, protokolliert einen SLA_Breach_Log__c-Audit-Datensatz und verteilt sie neu — unter Ausschluss des verletzenden Reps. Ein Platform Event speist das Live-Dashboard — eine 24-Stunden-Weltzeitleiste und ein Champion-Board — ganz ohne Polling.

Lead Shift Dashboard — 24-hour global coverage timeline and champion board

Loan-Erstellung & Sync-Pipeline

Eine Closed-Won-Opportunity erzeugt einen Loan-Datensatz und synchronisiert ihn via Queueable-HTTP-Callout an ein Kernsystem — ein Callout pro Batch, selbst bei Bulk-Inserts. Jeder Versuch wird mit Request/Response-Payload in Loan_Sync_Log__c protokolliert; ein Retry-Limit plus eine 'Retry Now'-Aktion machen sie resilient und auditierbar.

Loan Sync Dashboard — sync status, JSON payload and retry history

Route & Weather Navigator (KI-Sicherheitsurteil)

Eine Google-Maps-Fahrroute (Essen → Ziel) mit Live-Wetter an fünf interpolierten Wegpunkten, abgeschlossen mit einem dreisätzigen Einstein-KI-Sicherheitsurteil (sicher / Vorsicht / nicht losfahren). Google Maps läuft in einer Visualforce-Seite, die via postMessage an die LWC gebrückt ist — der Standard-Workaround für Lightning Web Security.

Route Safety LWC — Essen to Berlin route, 5-waypoint weather, Einstein AI safety verdict

Das Problem

Ich brauchte ein einzelnes Salesforce-Projekt, das Plattform-Breite demonstriert — mehrere Integrations-Patterns, Async-Apex-Varianten, KI-Integration, eigene Datenmodelle und die Secrets-aus-dem-Code-Disziplin, die Produktions-Orgs verlangen. Eine Single-Feature-Demo würde nicht zeigen, wie Engineering-Entscheidungen über eine Org hinweg komponieren.

Architektur

Das Flaggschiff ist ein KI-Partner-Compliance-Dokumentenmanager. Lädt ein Partner eine Datei in den File Hub, baut DocumentIntelligenceService einen Kontext-String (Dateiname, Typ, Absendernotiz, Reseller, die Live-Kategorie-Taxonomie und welche Kategorien ein Ablaufdatum tragen) und ruft ein Einstein Prompt Template ('DocumentClassification', GPT-4o mini) durch den Trust Layer via ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate auf. Das Modell liefert striktes JSON — Kategorie, Confidence (0–100), extrahiertes Ablaufdatum und Zusammenfassung —, das der Service gegen die erlaubte Picklist validiert, auf den File_Hub_Entry__c zurückschreibt und nutzt, um jede passende Document_Request__c automatisch zu schließen; die Compliance-Anforderungen leben in Custom Metadata (Steuerbescheinigung, Versicherung, unterzeichneter Vertrag, Bankverbindung), sodass ComplianceService eine Live-MISSING/EXPIRED/EXPIRING/OK-Matrix und einen Score je Partner (das Compliance-Cockpit) berechnet — alles FLS/CRUD-enforced (WITH USER_MODE) mit @TestVisible-LLM-Mocking. Ein zweites KI-Feature ist die routeWeather-LWC — eine Drei-Integrations-Komposition. Sie hostet eine Visualforce-Seite (RouteMapPage) im iframe (der einzige Weg, Google Maps unter Lightning Web Security zu laden) und kommuniziert via postMessage: Die LWC sendet DRAW_ROUTE, die Seite antwortet mit ROUTE_DONE plus Zielkoordinaten. Die LWC berechnet dann fünf Wegpunkte (Start, 25 %, Mitte, 75 %, Ziel) und feuert fünf parallele Fetches gegen OpenWeatherMap via Promise.all. Sobald das Wetter ankommt, POSTet die LWC ein schlankes Sechs-Felder-pro-Wegpunkt-Payload an den Apex-Service RouteWeatherAnalysisService, der die Daten als Text formatiert und ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate('RouteWeatherAnalysis', input) aufruft. Die GPT-4o-mini-Antwort wird in einer farbcodierten Karte gerendert per Schlagwort-Klassifizierer (storm/ice/hazard → rot; caution/careful → gelb; sonst grün). Drumherum sitzt ein Lead-Queue-Routing-System (LeadQueueScheduler scheduled Batch + Lead_Shift_Event__e Platform Event + leadShiftDashboard LWC), eine Loan-Sync-Pipeline (Loan__c + Loan_Sync_Log__c Custom Objects mit Retry-Scheduler und Audit-Logging), eine Reseller-Matching-Engine (mehrkriterieller Scoring-Service + Opportunity-Trigger + resellerTierBadge LWC) und ein erweiterbares TriggerHandler-Framework, von dem jeder Trigger in der Org erbt.

Der Ansatz

Drei Prinzipien laufen durch jedes Feature. Erstens: Async by default — jeder externe Callout nutzt Queueable oder Schedulable, keine synchronen Trigger-Callouts, keine Governor-Überraschungen unter Last. Zweitens: Secrets aus dem Code — sowohl der Google-Maps- als auch der OpenWeather-API-Key leben in einer API_Config__c-Hierarchical-Custom-Setting, zur Laufzeit gelesen via ApiKeyService Apex-Klasse (Instance-Property für VF, @AuraEnabled-cacheable-Methoden für LWC). Die Visualforce-Seite rendert den Maps-Key via {!JSENCODE(mapsApiKey)}, sodass er nie als Literal im Code erscheint; die LWC awaitet getOpenWeatherApiKey() im connectedCallback. ApiKeyServiceTest liefert 100 % Coverage. Drittens: Jeder Trigger erbt vom selben Kevin-O'Hara-TriggerHandler — Rekursionsschutz, Bypass-Mechanismus, testbare Logik — sodass Routing, Sync, Matching und Contact-Enrichment unter Bulk-Last konsistent verhalten.

Das Ergebnis

Ein Salesforce-Referenz-Sandbox, end-to-end gebaut (privates Repo; Walkthrough auf Anfrage). Sein Flaggschiff ist eine autonome KI-Dokumenten-Compliance-Schleife (Einstein Prompt Templates / Prompt Builder, strukturierte-JSON-Klassifizierung, automatisch erfüllte Anforderungen); drumherum sitzen KI-Routensicherheit, Contact-Enrichment, Lead-Queue-Routing, Loan-Sync und eine Reseller-Matching-Engine — über LWC, Apex, Visualforce, Custom Objects, Custom Metadata, Platform Events, scheduled Batches und Einstein-KI. Die Senior-Engineering-Details (Key-Management via Custom Setting, Trigger-Framework, Async-by-Default, FLS/CRUD mit USER_MODE, gemockte LLM-Tests) sind im Diff sichtbar. Dieselben Patterns übertragen sich direkt auf die Multifeature-Salesforce-Orgs, die mittlere bis große DACH-Unternehmen tatsächlich betreiben.

Externe Integrationen

GitHub & Notion — privat, Walkthrough auf Anfrage