Chains - Workflow-Automatisierung
Visuelle Chain-Engine für komplexe Automatisierungs-Workflows
Chains ermöglicht es, komplexe Automatisierungs-Workflows visuell zu gestalten und auszuführen. Verfügbar für Dokumentenverarbeitung, ELO-Integration, Klassifizierung, Export und mehr.
Übersicht
Chains ist eine vollständig integrierte Workflow-Automatisierungs-Engine für ELONIQ. Sie können damit:
- Komplexe Multi-Step-Prozesse visuell modellieren
- Dokumente zwischen Systemen automatisiert verarbeiten und verschieben
- KI-basierte Klassifizierung und Extraktion integrieren
- Fehlerbehandlung und Wiederholungen konfigurieren
- Workflows durch Events (Datei-Upload, Webhook, Zeitplan) auslösen
- Verschiedene DMS/ERP-Systeme orchestrieren (ELO, SharePoint, Datenbanken, REST)
Kernfeatures
- Visueller Editor — Drag-and-Drop Node-Editor mit Live-Preview
- 10+ Node-Typen — Action, Decision, Loop, AI, Parallel, Try/Catch, Delay, User-Task, etc.
- Module-Integrationen — Direkte Aktionen für elobase, eloimporter, documentclassifier, database, u.v.m.
- AI-Tools — LLM-gestützte Textklassifizierung, Extraktion, Zusammenfassung
- Variable & Templating — Globale Variablen, {{dot-notation}}, Datenflussverfolgung
- Error Handling — Retry-Logik, Try/Catch-Blöcke, bedingte Branches
- Monitoring — Vollständige Lauf-Historie, Logs, Performance-Metriken
Funktionen
Node-Typen
- Trigger/Start — Initialisiert einen Chain-Run
- Action — Führt Module-spezifische Operationen aus
- Decision — Bedingte Verzweigung (if/else)
- Loop — Iteration über Arrays/Ergebnisse
- Parallel — Concurrent-Ausführung mehrerer Branches
- AI — Claude-LLM mit Tools und Prompts
- User Task — Manuelle Genehmigung/Input
- Delay — Wartet eine bestimmte Zeit
- Try/Catch — Error-Handling mit Fallback
- End — Terminal-Node
Verfügbare Module-Aktionen
Jedes Modul registriert spezifische Aktionen. Siehe Aktions-Referenz unten.
Verwendung
Schritt 1: Chain erstellen
- Navigieren Sie zu
Automatisierung > Chains - Klicken Sie Neue Chain oder Aus Vorlage
- Geben Sie Namen und Beschreibung ein
- Klicken Sie Erstellen
Schritt 2: Chain-Logik aufbauen
- Klicken Sie Editieren um den visuellen Editor zu öffnen
- Fügen Sie einen Start-Node hinzu (falls nicht vorhanden)
- Klicken Sie Node hinzufügen und wählen Sie Typ + Modul
- Konfigurieren Sie Parameter (Template-Variablen möglich:
{{variable}}) - Verbinden Sie Nodes mit Edges — ziehen Sie vom Output zum Input
Schritt 3: Trigger konfigurieren
- Öffnen Sie den Trigger-Tab im Editor
- Klicken Sie Trigger hinzufügen
- Wählen Sie Typ (File Watcher, Webhook, Schedule, Manual)
- Konfigurieren Sie Bedingungen (z.B. Dateimuster, Cron)
Schritt 4: Testen
- Klicken Sie Testen um einen Testlauf zu starten
- Überprüfen Sie Logs und Variablen in der Lauf-Historie
- Iterieren Sie, bis das Verhalten stimmt
Schritt 5: Aktivieren & Monitoring
- Markieren Sie die Chain als Aktiv
- Klicken Sie Speichern
- Überwachen Sie Ausführungen in der Lauf-Historie
Best Practices
- Kleine, fokussierte Chains — Teilen Sie große Workflows in kleinere Chains auf; verwenden Sie den
invoke_chainAI-Tool um sie zu orchestrieren - Error Handling — Verwenden Sie Try/Catch oder Decision-Nodes um Fehler zu behandeln. Nie stillen Fehler einfach ignorieren.
- Logging — Nutzen Sie
log-Aktionen um Debug-Informationen zu speichern. Das hilft später bei der Fehlersuche. - Variable-Naming — Verwenden Sie aussagekräftige Namen:
source_file,elo_obj_id,dc_fields. Behalten Sie die Konventionen bei. - Timeouts — Setzen Sie Timeouts auf lange Operationen (Klassifizierung, Upload):
timeout: "5m" - Retry-Strategien — Nutzen Sie
retryfür flüchtige Fehler (Netzwerk, Timeouts), aber nicht für logische Fehler - Variable-Expand in Pfaden — Vermeiden Sie hardcodierte Pfade; nutzen Sie {{variable}}-Substitution für Flexibilität
- Testing vor Produktion — Testen Sie mit echten (aber Test-)Dokumenten vor der Aktivierung
Beispiele
Beispiel 1: Datei-Import + Klassifizierung + Archivierung
Start (File Watcher: *.pdf in /inbox)
↓
classify_manual_fallback Chain
├→ documentclassifier.classify
└→ Decision: dc_confidence >= 0.9?
├→ [Yes] elobase.upload → elobase.update_metadata
└→ [No] send_mail ("Manuelle Prüfung erforderlich")Beispiel 2: ERP-Daten-Anreicherung
Start (Webhook: /chain/enrich)
↓
database.query (SELECT * FROM customers WHERE id = {{customer_id}})
↓
elobase.update_metadata (mit db_result_first Feldern)
↓
send_discord (Status: "Erfolgreich angereichert")Beispiel 3: Parallel-Verarbeitung
Start (Webhook: /export)
↓
Parallel Node:
├→ Branch 1: eloexporter.export_document → store PDF
├→ Branch 2: elometadata.update_from_source → sync ERP
└→ Branch 3: database.query → update log table
↓
End ("Alle Branches abgeschlossen")