25 KiB
Quick Actions — Feature-Dashboard mit One-Click-Aktionen
Beschreibung und Kontext
Treuhandbüros (Bling, PWG) und andere Kunden wünschen sich ein Cockpit, von dem aus sie ihre häufigsten Aufgaben per Knopfdruck starten können — Budget-Vergleich, Belegverarbeitung, KPI-Dashboard, Cashflow etc. Heute müssen sie dafür den Workspace öffnen und den richtigen Prompt manuell eintippen.
Business-Treiber: Das Feature-Dashboard (z.B. Trustee Dashboard) ist aktuell eine passive Statistik-Seite (Anzahl Positionen, Dokumente, Sync-Status). Mit Quick Actions wird es zum aktiven Cockpit — der Einstiegspunkt für produktive Arbeit. Das macht den Unterschied zwischen "generischem AI-Chat" und "Branchenlösung für Treuhänder".
Abhängigkeiten:
- Trustee Agent-Tools müssen funktionieren (
c-work/1-plan/2026-04-trustee-tooling-and-demo-prep.md) - Workspace SSE-Streaming muss stabil laufen (
c-work/1-plan/2026-04-gateway-int-stability-and-bugfixes.md) - Prompt-Templates aus
c-work/1-plan/2026-04-customer-demo-enablement.md
Risiko bei Nicht-Umsetzung: Kunden sehen PORTA als "noch ein Chat-Tool" statt als branchenspezifische Plattform. Die Hürde vom Login zum Mehrwert bleibt hoch.
Fokus und kritische Details
Ist-Zustand: Trustee Dashboard
frontend_nyla/src/pages/views/trustee/TrusteeDashboardView.tsx zeigt aktuell:
- Stats-Grid: 4 Kacheln (Positionen, Dokumente, Buchhaltungs-Sync, Rollen)
- Info-Sektion: Instanz-Label, Mandant, Buchhaltungssystem
Kein Weg zu einer Aktion — keine Buttons, keine Links zum Workspace, keine Workflows.
Architektur-Entscheid: Zwei Dispatch-Typen
Quick Actions dispatchen zu bestehender Infrastruktur — es wird keine zweite AI-Oberfläche gebaut:
| Typ | Dispatch-Ziel | Wann nutzen |
|---|---|---|
agentPrompt |
Workspace mit vorgefülltem Prompt → Agent startet automatisch | Analyse-Aufgaben (Budget, KPIs, Cashflow, Prognosen, Jahresabschluss) |
workflow |
Graph-Editor System-Template wird direkt getriggert | Automatisierungs-Aufgaben (Belegimport, Daten-Sync, Spesen-Import) |
link |
Navigation zu einer bestehenden Seite | Schnellzugriff (Scan/Upload, Dokumente, Einstellungen) |
Kritische Stellen
- Workspace Pre-Fill: Der Workspace (
WorkspacePage.tsx) hat aktuell keinen Mechanismus für URL-Parameter?prompt=.... Das muss ergänzt werden. - Cross-Feature-Navigation: Eine Trustee Quick Action muss den User zur Workspace-Instanz des gleichen Mandanten navigieren. Das erfordert Auflösung: Trustee-InstanceId → MandateId → Workspace-InstanceId.
- RBAC-Filterung: Quick Actions müssen nach Rolle gefiltert werden. Ein
trustee-clientsoll "Belege hochladen" sehen, aber nicht "Jahresabschluss prüfen". - i18n: Alle Labels müssen mehrsprachig sein (bestehendes
TextMultilingual-Pattern nutzen).
Warum kein eigenes AI-Rendering auf dem Dashboard?
Der Workspace hat bereits: Chat-Rendering, Chart-Anzeige, Datei-Handling, SSE-Streaming, Progressive Summarization, Tool-Ergebnisse. Das zu duplizieren wäre enormer Aufwand. Stattdessen nutzen wir den Workspace als "Execution Engine" und das Dashboard als "Launchpad".
Ziel und Nicht-Ziele
Ziel:
- Feature-Dashboards (Trustee als Pilot, danach CommCoach, Workspace) zeigen kontextspezifische Quick Action Cards
- Klick auf eine
agentPrompt-Card öffnet Workspace mit vorgefülltem Prompt und startet den Agent - Klick auf eine
workflow-Card triggert einen Graph-Editor Workflow - Actions sind RBAC-gefiltert, i18n-ready und per Feature-Instanz konfigurierbar
- Wiederverwendbare
QuickActionBoard-Komponente für alle Features
Explizit NICHT:
- Kein AI-Rendering auf dem Dashboard selbst (kein Chat, keine Charts auf der Trustee-Seite)
- Keine neuen DB-Tabellen — Quick Actions leben im Code (wie
UI_OBJECTS) + optional inFeatureInstance.config - Keine neuen API-Verträge für Workflow-Execution (nutzt bestehenden
POST /{instanceId}/execute) - Kein Prompt-Editor für Endnutzer (kommt ggf. später)
Betroffene Module
- Gateway:
features/trustee/mainTrustee.py(Quick Action Definitionen),features/trustee/routeFeatureTrustee.py(API-Endpoint), ggf.features/workspace/routeFeatureWorkspace.py(Pre-Fill-Support) - Frontend:
pages/views/trustee/TrusteeDashboardView.tsx(Quick Action Board einbinden), neue Komponentecomponents/QuickActionBoard/,pages/views/workspace/WorkspacePage.tsx(URL-Param-Support) - DB-Migration: nein
- Andere Komponenten: Prompt-Templates (Markdown-Dateien, getrennt gepflegt)
Entscheidungen
| Datum | Entscheidung | Begründung |
|---|---|---|
| 2026-04-09 | Quick Actions im Code definieren (wie UI_OBJECTS), nicht in einer DB-Tabelle |
Einfach, versioniert, kein Migrations-Aufwand. Custom-Actions später über FeatureInstance.config |
| 2026-04-09 | Dispatch zu Workspace statt Inline-Rendering auf dem Dashboard | Workspace hat die komplette AI-Infrastruktur (Chat, Charts, Streaming). Kein Sinn in Duplizierung |
| 2026-04-09 | QuickActionBoard als generische Plattform-Komponente, nicht Trustee-spezifisch |
CommCoach, Workspace, RealEstate können dieselbe Komponente nutzen |
| 2026-04-09 | Workspace bekommt URL-Parameter ?prompt=...&autoStart=true |
Einfachster Weg für Cross-Feature-Dispatch. Kein Backend-Spezialweg nötig |
| 2026-04-09 | Prompt-Templates als Konfigurationswert in der Quick Action, nicht als separate Dateien | Prompt gehört zur Aktion — eine Quelle der Wahrheit. Kein File-Lookup zur Laufzeit |
Umsetzungs-Checkliste
Phase 1: Backend — Quick Action Definitionen & API (Gateway)
QUICK_ACTIONSinmainTrustee.pydefinieren
Gleiches Pattern wie UI_OBJECTS, TEMPLATE_ROLES:
QUICK_ACTIONS = [
{
"id": "trustee-process-receipts",
"label": {"de": "Belege verarbeiten", "en": "Process Receipts", "fr": "Traiter les justificatifs"},
"description": {"de": "Belege aus SharePoint importieren, klassifizieren und verbuchen", "en": "Import receipts from SharePoint, classify and book", "fr": "Importer les justificatifs depuis SharePoint, classer et comptabiliser"},
"icon": "mdi-file-document-check-outline",
"color": "#4CAF50",
"category": "import",
"actionType": "workflow",
"config": {
"workflowTemplateCode": "trustee-receipt-import"
},
"requiredRoles": ["trustee-user", "trustee-accountant", "trustee-admin"],
"sortOrder": 1
},
{
"id": "trustee-sync-accounting",
"label": {"de": "Daten synchronisieren", "en": "Sync Accounting Data", "fr": "Synchroniser les données"},
"description": {"de": "Buchhaltungsdaten aus dem externen System aktualisieren", "en": "Refresh accounting data from external system", "fr": "Actualiser les données du système externe"},
"icon": "mdi-sync",
"color": "#FF9800",
"category": "import",
"actionType": "agentPrompt",
"config": {
"prompt": "Aktualisiere die Buchhaltungsdaten aus dem verbundenen Buchhaltungssystem. Nutze refreshTrusteeData mit forceRefresh=true. Zeige mir danach eine Zusammenfassung: Anzahl Konten, Buchungen, Kontakte und den Zeitraum der Daten."
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 2
},
{
"id": "trustee-budget-comparison",
"label": {"de": "Budget-Vergleich", "en": "Budget Comparison", "fr": "Comparaison budgétaire"},
"description": {"de": "Soll/Ist-Vergleich der Buchhaltung mit Budget-Excel", "en": "Compare actuals vs. budget from Excel", "fr": "Comparer les données réelles avec le budget Excel"},
"icon": "mdi-chart-bar",
"color": "#2196F3",
"category": "analyse",
"actionType": "agentPrompt",
"config": {
"prompt": "Ich möchte einen Budget-Soll/Ist-Vergleich durchführen. Bitte:\n1. Frage mich nach der Budget-Datei (Excel) oder suche im Workspace nach einer Datei mit 'Budget' im Namen\n2. Lade die aktuellen Buchhaltungsdaten (refreshTrusteeData falls nötig)\n3. Vergleiche die Soll-Werte aus dem Budget mit den Ist-Werten aus der Buchhaltung pro Konto\n4. Berechne die Abweichung (absolut und prozentual)\n5. Erstelle ein Abweichungs-Chart (Balkendiagramm: Soll vs. Ist pro Konto)\n6. Markiere kritische Abweichungen (>10%) und gib eine kurze Einschätzung",
"suggestFileUpload": true,
"uploadHint": {"de": "Budget-Excel hochladen", "en": "Upload budget Excel"}
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 3
},
{
"id": "trustee-kpi-dashboard",
"label": {"de": "KPI-Dashboard", "en": "KPI Dashboard", "fr": "Tableau de bord KPI"},
"description": {"de": "Kennzahlen berechnen und visualisieren", "en": "Calculate and visualize key metrics", "fr": "Calculer et visualiser les indicateurs clés"},
"icon": "mdi-view-dashboard-outline",
"color": "#9C27B0",
"category": "analyse",
"actionType": "agentPrompt",
"config": {
"prompt": "Erstelle ein KPI-Dashboard basierend auf den aktuellen Buchhaltungsdaten. Berechne und visualisiere:\n1. **Bruttogewinn** und Bruttogewinnmarge\n2. **EBIT** (Betriebsergebnis)\n3. **Gewinnmarge** (Reingewinn / Umsatz)\n4. **Eigenkapitalquote** und Check auf hälftigen Kapitalverlust (OR Art. 725)\n5. **Liquiditätsgrad 1-3** (Cash Ratio, Quick Ratio, Current Ratio)\n6. **Überschuldungs-Check**\n\nErstelle für jede Kennzahl einen kurzen Kommentar (gut/kritisch/Handlungsbedarf). Erstelle mindestens 2 Charts: ein Übersichts-Chart der Margen und ein Liquiditäts-Chart."
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 4
},
{
"id": "trustee-cashflow",
"label": {"de": "Cashflow-Rechnung", "en": "Cash Flow Statement", "fr": "Tableau des flux de trésorerie"},
"description": {"de": "Cashflow berechnen und analysieren", "en": "Calculate and analyze cash flow", "fr": "Calculer et analyser le flux de trésorerie"},
"icon": "mdi-cash-multiple",
"color": "#009688",
"category": "analyse",
"actionType": "agentPrompt",
"config": {
"prompt": "Erstelle eine Cashflow-Rechnung basierend auf den aktuellen Buchhaltungsdaten:\n1. **Operativer Cashflow:** Starte vom Reingewinn, bereinige um nicht-cash-wirksame Positionen (Abschreibungen, Rückstellungen, Wertberichtigungen)\n2. **Investitions-Cashflow:** Investitionen in Sachanlagen, Finanzanlagen\n3. **Finanzierungs-Cashflow:** Darlehensaufnahmen/-rückzahlungen, Dividenden, Kapitalerhöhungen\n4. **Netto-Cashflow** und Veränderung der liquiden Mittel\n\nWarne bei kritischen Werten. Erstelle ein Wasserfall-Chart oder gestapeltes Balkendiagramm der drei Cashflow-Bereiche."
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 5
},
{
"id": "trustee-year-end-check",
"label": {"de": "Jahresabschluss prüfen", "en": "Year-End Review", "fr": "Contrôle de clôture annuelle"},
"description": {"de": "Automatische Prüfungen für den Jahresabschluss", "en": "Automated year-end review checks", "fr": "Contrôles automatisés de clôture"},
"icon": "mdi-clipboard-check-outline",
"color": "#795548",
"category": "abschluss",
"actionType": "agentPrompt",
"config": {
"prompt": "Führe eine automatische Jahresabschluss-Prüfung durch:\n1. **Saldovalidierung:** Prüfe alle Bilanzkonten auf Plausibilität (negative Saldi wo nicht erwartet, ungewöhnlich hohe Saldi)\n2. **Vorjahresvergleich:** Vergleiche Bilanz- und ER-Positionen mit dem Vorjahr, markiere Abweichungen >20%\n3. **Abgrenzungen:** Identifiziere potenzielle transitorische Aktiven/Passiven (regelmässige Aufwände ohne Dezember-Buchung, Erträge im Voraus)\n4. **Gesetzliche Prüfungen:** Hälftiger Kapitalverlust (OR 725), Überschuldung, Mindestkapital\n5. **MWST-Plausibilisierung:** Vorsteuer vs. geschätzter Aufwand, Umsatzsteuer vs. Umsatz\n\nErstelle eine Checkliste mit Status (OK / Warnung / Kritisch) pro Prüfpunkt."
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 6
},
{
"id": "trustee-forecast",
"label": {"de": "Prognose erstellen", "en": "Create Forecast", "fr": "Créer une prévision"},
"description": {"de": "Trend-Analyse und Prognose der nächsten Monate", "en": "Trend analysis and forecast for coming months", "fr": "Analyse de tendance et prévision"},
"icon": "mdi-chart-timeline-variant",
"color": "#E91E63",
"category": "analyse",
"actionType": "agentPrompt",
"config": {
"prompt": "Erstelle eine Finanzprognose basierend auf den historischen Buchhaltungsdaten:\n1. Analysiere die Umsatz- und Aufwandsentwicklung der letzten 6 Monate (monatliche Aggregation)\n2. Identifiziere Trends und Saisonalitäten\n3. Prognostiziere Umsatz, Aufwand und Gewinn für die nächsten 3 Monate\n4. Erstelle ein Chart mit Ist-Werten und Prognose-Korridor (Best/Expected/Worst Case)\n5. Markiere Risiken: \"Wenn der Trend anhält, passiert X\"\n\nNutze eine einfache lineare Extrapolation mit Saisonalitätskorrektur wo sinnvoll."
},
"requiredRoles": ["trustee-accountant", "trustee-admin"],
"sortOrder": 7
},
{
"id": "trustee-upload-receipt",
"label": {"de": "Beleg hochladen", "en": "Upload Receipt", "fr": "Télécharger un justificatif"},
"description": {"de": "Beleg scannen oder als Datei hochladen", "en": "Scan or upload a receipt", "fr": "Scanner ou télécharger un justificatif"},
"icon": "mdi-camera-document-outline",
"color": "#607D8B",
"category": "schnellzugriff",
"actionType": "link",
"config": {
"targetView": "scan-upload"
},
"requiredRoles": ["trustee-user", "trustee-client", "trustee-accountant", "trustee-admin"],
"sortOrder": 8
},
]
-
getQuickActions()Funktion inmainTrustee.pyanalog zugetUiObjects(),getTemplateRoles() -
API-Endpoint
GET /api/trustee/{instanceId}/quick-actionsinrouteFeatureTrustee.py- Liest
QUICK_ACTIONS+ optionalFeatureInstance.config.get("quickActions", []) - Filtert nach User-Rollen (RBAC): nur Actions deren
requiredRolesmit den Rollen des Users auf dieser Instanz übereinstimmen - Sortiert nach
sortOrder - Gruppiert nach
category(optional, Frontend kann auch selbst gruppieren) - Response:
{ "actions": [...], "categories": [{ "id": "import", "label": {...} }, ...] }
- Liest
Phase 2: Frontend — QuickActionBoard Komponente
- Neue Komponente
components/QuickActionBoard/QuickActionBoard.tsx
Generische, wiederverwendbare Komponente:
interface QuickAction {
id: string;
label: string; // bereits in User-Sprache aufgelöst
description: string;
icon: string;
color: string;
category: string;
actionType: 'agentPrompt' | 'workflow' | 'link';
config: Record<string, any>;
}
interface QuickActionBoardProps {
actions: QuickAction[];
onDispatch: (action: QuickAction) => void;
loading?: boolean;
}
UI:
-
Responsive Card-Grid (
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr))) -
Jede Card: Icon (farbig) + Titel + Beschreibung (1-Zeiler) + Hover-Effekt
-
Kategorien als optionale Section-Header
-
Loading-Skeleton während API-Call
-
Dark-Theme Support (bestehende CSS-Variablen nutzen)
-
Kein eigener State — rein präsentational mit
onDispatch-Callback -
CSS in
components/QuickActionBoard/QuickActionBoard.module.css- Konsistentes Design mit bestehenden
TrusteeViews.module.cssKacheln (.statCardPattern) - Hover: leichter Scale + Shadow-Verstärkung
- Active/Clicked: kurzer visueller Feedback (Pulse oder Farb-Flash)
- Icon-Rendering:
mdi-*Icons aus bestehender Icon-Library oder als Unicode/SVG Fallback
- Konsistentes Design mit bestehenden
Phase 3: Frontend — Dashboard-Integration
TrusteeDashboardView.tsxerweitern
Unter dem bestehenden statsGrid und infoSection:
// Nach der infoSection:
<QuickActionBoard
actions={quickActions}
onDispatch={_handleQuickAction}
loading={actionsLoading}
/>
Dispatch-Handler:
const _handleQuickAction = (action: QuickAction) => {
switch (action.actionType) {
case 'agentPrompt':
_navigateToWorkspaceWithPrompt(action.config);
break;
case 'workflow':
_triggerWorkflow(action.config);
break;
case 'link':
_navigateToView(action.config.targetView);
break;
}
};
-
API-Hook
useTrusteeQuickActions(instanceId)inhooks/useTrustee.ts- Fetcht
GET /api/trustee/{instanceId}/quick-actions - Cached Response (SWR-Pattern oder einfacher State)
- Resolved
label/descriptionin die aktive Sprache (wie bei Navigation-Labels)
- Fetcht
-
Trustee API Funktion
fetchQuickActions()inapi/trusteeApi.ts
Phase 4: Frontend — Workspace Pre-Fill (Cross-Feature-Dispatch)
- URL-Parameter-Support in
WorkspacePage.tsx
Workspace erkennt URL-Suchparameter:
?prompt=<encodedText>→ Füllt Prompt-Feld vor&autoStart=true→ Startet den Agent automatisch nach dem Laden&sourceFeature=trustee→ Optional: Kontext-Hinweis woher der User kommt&sourceInstanceId=<id>→ Optional: Trustee-Instanz für Feature-Data-Zugriff
Implementierung:
useEffect(() => {
const params = new URLSearchParams(window.location.search);
const prompt = params.get('prompt');
const autoStart = params.get('autoStart') === 'true';
if (prompt) {
setInputText(decodeURIComponent(prompt));
// URL bereinigen (Params entfernen, damit Reload nicht erneut startet)
window.history.replaceState({}, '', window.location.pathname);
if (autoStart) {
// Kurze Verzögerung damit UI gerendert ist
setTimeout(() => _handleSend(), 300);
}
}
}, []);
- Workspace-Instanz-Auflösung für Cross-Feature-Navigation
Helper-Funktion in Trustee Dashboard:
const _navigateToWorkspaceWithPrompt = async (config: QuickActionConfig) => {
// 1. Workspace-Instanz des gleichen Mandanten finden
const workspaceInstance = instances.find(
i => i.featureCode === 'workspace' && i.mandateId === currentMandateId
);
if (!workspaceInstance) { /* Fehlerbehandlung */ }
// 2. Navigation mit Prompt-Parametern
const params = new URLSearchParams({
prompt: config.prompt,
autoStart: 'true',
sourceFeature: 'trustee',
sourceInstanceId: instanceId,
});
navigate(`/features/workspace/${workspaceInstance.id}/dashboard?${params}`);
};
Phase 5: Workflow-Dispatch (für actionType: "workflow")
- Graph-Editor Workflow triggern aus dem Trustee Dashboard
Für actionType: "workflow": Nutzt bestehenden POST /api/graphicalEditor/{geInstanceId}/execute:
const _triggerWorkflow = async (config: WorkflowActionConfig) => {
// 1. GraphicalEditor-Instanz des gleichen Mandanten finden
const geInstance = instances.find(
i => i.featureCode === 'graphicalEditor' && i.mandateId === currentMandateId
);
// 2. System-Template-Workflow finden (nach templateCode)
const workflows = await fetchWorkflowsByTemplate(geInstance.id, config.workflowTemplateCode);
// 3. Ausführung triggern
const run = await executeWorkflow(geInstance.id, workflows[0].id);
// 4. Feedback: Toast "Workflow gestartet" + optional Link zur Run-Ansicht
showToast({ message: t('quickActions.workflowGestartet'), action: { label: t('quickActions.details'), onClick: () => navigateToRun(run.id) } });
};
- API-Funktionen in
api/graphicalEditorApi.ts(falls nicht vorhanden):fetchWorkflowsByTemplate(),executeWorkflow()
Querschnitt-Checks
- API-Endpunkte:
GET /api/trustee/{instanceId}/quick-actions(neu) - DB-Schema / Migration: nein
- Frontend-Komponenten:
QuickActionBoard(neu, generisch),TrusteeDashboardView(erweitert) - RBAC / Permissions: Filterung über
requiredRolesim API-Endpoint - Neutralisierung betroffen? nein (Prompts gehen durch normale Workspace-Pipeline)
- Navigation / Routing: Workspace URL-Parameter-Support
- Billing-Impact? nein (Agent-Calls laufen über bestehende Billing-Pipeline)
- i18n: Alle Labels in
QUICK_ACTIONSnutzenTextMultilingual-Format
Akzeptanzkriterien
| # | Kriterium (Given-When-Then) | Prio |
|---|---|---|
| 1 | Given Trustee Dashboard, When ein User mit Rolle trustee-accountant die Seite öffnet, Then sieht er mindestens 6 Quick Action Cards (Belege, Sync, Budget, KPIs, Cashflow, Jahresabschluss) in einem Card-Grid unterhalb der Statistiken |
must |
| 2 | Given Quick Action "Budget-Vergleich" (Typ agentPrompt), When der User auf die Card klickt, Then wird er zum Workspace navigiert mit dem vorgefüllten Prompt und der Agent startet automatisch |
must |
| 3 | Given Quick Action "Belege verarbeiten" (Typ workflow), When der User auf die Card klickt, Then wird der zugehörige Graph-Editor Workflow getriggert und der User erhält eine Bestätigung |
must |
| 4 | Given Quick Action "Beleg hochladen" (Typ link), When der User auf die Card klickt, Then wird er zur Scan/Upload-Seite der aktuellen Trustee-Instanz navigiert |
must |
| 5 | Given ein User mit Rolle trustee-client, When er das Trustee Dashboard öffnet, Then sieht er nur die Quick Actions für seine Rolle (z.B. "Beleg hochladen"), nicht die Accountant-Aktionen (Budget, KPIs etc.) |
must |
| 6 | Given Dark Theme aktiv, When das Dashboard mit Quick Actions gerendert wird, Then sind alle Cards visuell korrekt (Farben, Kontraste, Hover-Effekte) im Dark Mode | should |
| 7 | Given Workspace geöffnet via Quick Action mit autoStart=true, When der Agent gestartet wird, Then enthält der System-Prompt Kontext über die Trustee-Instanz und der Agent kann sofort auf Trustee-Daten zugreifen |
should |
| 8 | Given schmales Viewport (< 768px), When das Dashboard angezeigt wird, Then sind die Quick Action Cards in einem 1-2 Spalten Grid und weiterhin klickbar | should |
Testplan
| ID | AC | Art | Automatisiert | Repo-Pfad / Methode | Status |
|---|---|---|---|---|---|
| T1 | 1, 5 | api | ja | gateway/tests/features/trustee/test_quick_actions_api.py — Endpoint liefert gefilterte Actions pro Rolle |
pending |
| T2 | 2 | e2e | nein | Manuell: Card klicken → Workspace öffnet mit Prompt → Agent startet | pending |
| T3 | 3 | e2e | nein | Manuell: Workflow-Card klicken → Workflow läuft → Bestätigung sichtbar | pending |
| T4 | 4 | e2e | nein | Manuell: Link-Card klicken → korrekte Navigation | pending |
| T5 | 6 | visual | nein | Manuell: Dark/Light Mode vergleichen | pending |
| T6 | 7 | e2e | nein | Manuell: Budget-Vergleich aus Quick Action → Agent nutzt Trustee-Daten korrekt | pending |
| T7 | 8 | visual | nein | Manuell: Browser-Fenster schmaler als 768px | pending |
Spätere Erweiterungen (nicht in Scope)
| Idee | Beschreibung |
|---|---|
| Custom Quick Actions pro Mandant | Admin kann eigene Actions definieren (in FeatureInstance.config.quickActions), die mit den System-Actions gemergt werden |
| Workspace Empty State | Quick Actions des aktiven Features im Workspace Empty State anzeigen (wenn kein Chat offen) |
| Inline-Ergebnis-Preview | Nach Agent-Ausführung: Zusammenfassung und Charts auf dem Dashboard selbst anzeigen (statt nur im Workspace) |
| Favoriten / Pinned Actions | User kann Actions pinnen; gepinnte Actions erscheinen zuoberst oder auf einer persönlichen "Home"-Seite |
| CommCoach Quick Actions | "Mietergespräch üben", "Nebenkostenfragen trainieren" etc. auf dem CommCoach Dashboard |
| Prompt-Editor | Power-User können Prompts der Quick Actions anpassen (Mandanten-spezifisch) |
Links
- Kundenwünsche:
local/notes/use-cases-inputs-customers.md - Customer Demo Enablement:
c-work/1-plan/2026-04-customer-demo-enablement.md - Trustee Tooling:
c-work/1-plan/2026-04-trustee-tooling-and-demo-prep.md - Trustee Dashboard (Frontend):
frontend_nyla/src/pages/views/trustee/TrusteeDashboardView.tsx - Trustee Feature (Gateway):
gateway/modules/features/trustee/mainTrustee.py - Trustee Routes (Gateway):
gateway/modules/features/trustee/routeFeatureTrustee.py - Workspace Routes (Gateway):
gateway/modules/features/workspace/routeFeatureWorkspace.py - Workspace Page (Frontend):
frontend_nyla/src/pages/views/workspace/WorkspacePage.tsx - FeatureView Registry (Frontend):
frontend_nyla/src/pages/FeatureView.tsx - Quick Action Board (Frontend, neu):
frontend_nyla/src/components/QuickActionBoard/ - Navigation API:
wiki/b-reference/platform/navigation.md
Abschluss
- b-reference/ aktualisiert (
b-reference/gateway/features/trustee.md— neu anlegen mit Quick Actions) - b-reference/frontend-nyla/architecture.md aktualisiert (QuickActionBoard-Komponente)
- TOPICS.md aktualisiert (neues Thema "Quick Actions")
- Dieses Dokument → z-archive/ verschoben