📋 Inhaltsverzeichnis
⏱️ Lesezeit: 12 Minuten
Das Problem mit Monolithen
Kennen Sie das? Sie haben Intrexx im Einsatz und wollen einen KI-Workflow implementieren.
Ihr Entwickler beginnt, in Groovy zu programmieren:
- 200 Zeilen Code für einen Claude-API-Call
- JSON-Parsing von Hand (kein JSON-Schema-Validator)
- Retry-Logik selbst bauen (mit Exponential Backoff)
- Error-Handling für 15 verschiedene API-Fehlercodes
- Logging in Intrexx Log-Dateien (schwer durchsuchbar)
Nach 3 Wochen Entwicklung läuft der Workflow – aber jede Änderung
(andere KI-API, anderer Prompt, andere Fehlerbehandlung) bedeutet wieder stundenlange Groovy-Sessions.
❌ Das Monolith-Problem: Intrexx kann alles – aber manche Dinge
(KI-Orchestrierung, komplexe API-Choreographien, visuelle Workflow-Anpassungen)
sind mit Low-Code-Groovy unnötig aufwändig.
Sie sind nicht allein. Wir sehen dieses Muster bei 80% unserer Intrexx-Kunden:
Intrexx ist brillant für Datenbanken, UIs, Rechtemanagement – aber sobald es um
flexible KI-Workflows geht, wünscht man sich etwas Agileres.
Die Lösung: Hybrid-Architektur
Was wenn Sie Intrexx für das nutzen, was es am besten kann
(strukturierte Business-Logik, Datenhaltung, User-Interfaces) und
n8n für KI-Orchestrierung einsetzen (visueller Workflow-Editor,
400+ vorgefertigte Integrationen, native KI-Nodes)?
Spoiler: Genau das ist unsere Spezialität bei himmelblau.digital.
In den letzten 2 Jahren haben wir 15+ Projekte mit dieser Hybrid-Architektur umgesetzt –
dieser Artikel zeigt Ihnen genau wie.
Warum n8n + Intrexx die perfekte Ehe ist
Intrexx: Die stabile Basis
| Stärke |
Warum? |
| Datenbank-Modellierung |
Relationaler Designer, automatische Indexierung, DSGVO-Features |
| User-Interfaces |
Drag-&-Drop Page Builder, responsive Layouts, 50+ UI-Komponenten |
| Rechtemanagement |
Granulare Berechtigungen (Feld-Level), LDAP/AD-Integration |
| Prozess-Management |
BPMN 2.0 Workflows, Eskalations-Management, Audit-Logs |
| Stabilität |
Enterprise-Grade, seit 20+ Jahren im Markt, deutscher Support |
n8n: Der agile Workflow-Layer
| Stärke |
Warum? |
| KI-Orchestrierung |
Native Nodes für OpenAI, Claude, Gemini, Mistral – kein Code nötig |
| 400+ Integrationen |
Vorgefertigte Nodes für Slack, Gmail, Notion, Airtable, ... |
| Visueller Editor |
Änderungen in Minuten statt Stunden (kein Code-Deploy) |
| Error-Handling |
Retry-Logik, Exponential Backoff, Error-Trigger – out of the box |
| Async-First |
Perfekt für langlaufende KI-Anfragen (30+ Sekunden) |
Die Synergie: 1 + 1 = 3
💡 Best-of-Both-Worlds
- Intrexx verwaltet Business-Daten, Users, Rechte
- n8n orchestriert KI-Workflows, API-Calls, Integrationen
- Kommunikation via Groovy Hooks (Intrexx → n8n) und REST API (n8n → Intrexx)
- Ergebnis: Stabilität + Agilität = schnellere Time-to-Market
Konkretes Beispiel: Rechnungsprüfung mit KI
- Intrexx: Rechnung wird hochgeladen, Datenbank-Eintrag erstellt, User-Interface zeigt Status
- Intrexx Groovy Hook: Sendet PDF + Metadata an n8n Webhook (10 Zeilen Code)
- n8n Workflow: Claude Vision API → Daten extrahieren → Validierung → Callback an Intrexx (5 Nodes, visuell)
- Intrexx: Empfängt Ergebnis, updated Datenbank, sendet E-Mail an Prüfer
Entwicklungszeit: 2 Tage statt 2 Wochen (reiner Groovy-Ansatz)
Technische Architektur
Kommunikationsfluss: Intrexx ↔ n8n
┌─────────────────────────────────────────────────────────────────┐
│ USER ACTION │
│ (Upload Rechnung in Intrexx-Formular) │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ INTREXX EVENT HANDLER │
│ • afterSave-Trigger feuert │
│ • Groovy Hook wird ausgeführt │
└────────────────────────┬────────────────────────────────────────┘
│
│ HTTP POST Request
│ (JSON Payload: PDF Base64 + Metadata)
▼
┌─────────────────────────────────────────────────────────────────┐
│ n8n WEBHOOK NODE │
│ • Empfängt Request │
│ • Authentifizierung prüfen (API-Key) │
│ • Workflow startet │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ n8n WORKFLOW LOGIC │
│ 1. Base64 → Binary Conversion │
│ 2. Claude Vision API Call (OCR + Extraktion) │
│ 3. Validierung (Betrag > 0, Datum gültig, etc.) │
│ 4. IF-Condition: Confidence Score > 90%? │
│ ├─ JA: Auto-Approve │
│ └─ NEIN: Flag für manuelle Prüfung │
└────────────────────────┬────────────────────────────────────────┘
│
│ HTTP POST Request
│ (JSON Payload: Extrahierte Daten + Status)
▼
┌─────────────────────────────────────────────────────────────────┐
│ INTREXX REST API │
│ • n8n sendet Ergebnis zurück │
│ • Intrexx Workflow-Handler verarbeitet Response │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ INTREXX DATABASE UPDATE │
│ • Felder werden geupdated (Betrag, Datum, Status) │
│ • Workflow-Status: "Geprüft" oder "Manuelle Prüfung nötig" │
│ • E-Mail-Benachrichtigung an Prüfer │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ USER NOTIFICATION │
│ (E-Mail: "Rechnung geprüft – Details ansehen") │
└─────────────────────────────────────────────────────────────────┘
Komponenten im Detail
1. Intrexx Groovy Hook (Sender)
// ====================================
// Intrexx Event Handler: afterSave
// Trigger: Rechnung wurde hochgeladen
// ====================================
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import java.net.HttpURLConnection
// 1. Rechnung aus Intrexx Record holen
def invoiceFile = g_record.getFile("invoice_pdf")
if (invoiceFile == null) {
g_log.error("Keine Rechnung gefunden")
return
}
// 2. PDF zu Base64 konvertieren
def invoiceBase64 = invoiceFile.getBytes().encodeBase64().toString()
// 3. n8n Webhook URL (aus Intrexx Config lesen)
def n8nWebhookUrl = g_appCfg.getValue("n8n_webhook_url")
def apiKey = g_appCfg.getValue("n8n_api_key")
// 4. Payload erstellen
def payload = [
invoice_id: g_record.getIntegerValue("id"),
pdf_base64: invoiceBase64,
supplier_name: g_record.getStringValue("supplier_name"),
upload_timestamp: new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'")
]
try {
// 5. HTTP POST Request an n8n
def connection = new URL(n8nWebhookUrl).openConnection() as HttpURLConnection
connection.setRequestMethod("POST")
connection.doOutput = true
connection.setRequestProperty("Content-Type", "application/json")
connection.setRequestProperty("X-API-Key", apiKey)
connection.setConnectTimeout(5000) // 5 Sekunden Connect-Timeout
connection.setReadTimeout(30000) // 30 Sekunden Read-Timeout
def writer = new OutputStreamWriter(connection.outputStream, "UTF-8")
writer.write(JsonOutput.toJson(payload))
writer.flush()
writer.close()
// 6. Response lesen
def responseCode = connection.responseCode
if (responseCode == 200) {
def response = connection.inputStream.text
def json = new JsonSlurper().parseText(response)
// 7. Optional: Sofort-Response verarbeiten (falls sync)
if (json.workflow_id) {
g_record.setValue("n8n_workflow_id", json.workflow_id)
g_record.setValue("processing_status", "In Verarbeitung")
}
g_log.info("n8n Workflow gestartet: ${json.workflow_id}")
} else {
g_log.error("n8n HTTP Error: ${responseCode}")
g_record.setValue("processing_status", "Fehler beim Senden")
}
} catch (Exception e) {
g_log.error("n8n Request fehlgeschlagen: ${e.message}")
g_record.setValue("processing_status", "Fehler")
}
2. n8n Workflow (Processor)
Visueller Workflow in n8n (5 Nodes):
- Webhook Trigger – Empfängt Request von Intrexx
- Convert Base64 to Binary – PDF dekodieren
- Claude Vision API – OCR + Datenextraktion
- Validate Data – Confidence Score prüfen
- HTTP Request – Callback an Intrexx REST API
Pseudo-Code für Claude Vision Node:
// n8n Node: Claude Vision API
{
"model": "claude-3-7-sonnet-20250219",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "{{ $json.pdf_base64 }}"
}
},
{
"type": "text",
"text": `Extrahiere aus dieser Rechnung:
1. Rechnungsnummer
2. Rechnungsbetrag (Brutto in EUR)
3. Rechnungsdatum (Format: YYYY-MM-DD)
4. Lieferant
5. Confidence Score (0-100%)
Antwort als JSON:
{
"invoice_number": "...",
"amount": 1234.56,
"date": "2026-01-10",
"supplier": "Firma XY GmbH",
"confidence": 95
}`
}
]
}
]
}
3. Intrexx REST API (Receiver)
n8n sendet Ergebnis zurück an Intrexx REST API:
POST https://intrexx.your-company.de/api/invoices/{{invoice_id}}/update
Headers:
Content-Type: application/json
Authorization: Bearer YOUR_INTREXX_API_TOKEN
Body:
{
"extracted_amount": 1234.56,
"extracted_date": "2026-01-10",
"extracted_invoice_number": "RE-2026-001",
"ai_confidence": 95,
"processing_status": "Auto-Approved",
"processed_at": "2026-01-13T14:32:00Z"
}
Intrexx verarbeitet diesen Request in einem REST API Handler
(Groovy-Klasse oder Workflow-Trigger).
Setup-Guide: Erste Integration in 30 Minuten
Voraussetzungen:
- Intrexx 23.03+ (mit Groovy Support)
- n8n installiert (Self-hosted oder Cloud)
- Netzwerk-Zugriff zwischen Intrexx und n8n
Schritt 1: n8n Webhook erstellen (5 Min.)
- n8n öffnen → Neuer Workflow
- Node hinzufügen: Webhook
- HTTP Method: POST
- Path:
/intrexx/invoice-check
- Authentication: Header Auth (Name:
X-API-Key)
- Webhook URL kopieren (z.B.
https://n8n.your-company.de/webhook/intrexx/invoice-check)
Schritt 2: Intrexx Groovy Hook erstellen (10 Min.)
- Intrexx Portal Manager öffnen
- Applikation öffnen → Datengruppe Rechnungen
- Event Handler hinzufügen: afterSave
- Groovy Script erstellen (siehe Code oben)
- n8n Webhook URL + API-Key in Intrexx Config speichern
- Testen: Rechnung hochladen → Intrexx Log prüfen
Schritt 3: n8n Workflow bauen (10 Min.)
- Node 1: Webhook (bereits erstellt)
- Node 2: Function Node – Base64 to Binary
- Node 3: HTTP Request – Claude API
- Node 4: IF Node – Confidence > 90%?
- Node 5: HTTP Request – Callback an Intrexx
- Workflow aktivieren
Schritt 4: Intrexx REST API Handler (5 Min.)
- Intrexx REST API aktivieren (Admin Panel)
- API-Token generieren (für n8n)
- Groovy Handler für
/api/invoices/{id}/update
- Testen: n8n sendet Test-Request → Intrexx Datenbank prüfen
✅ Fertig! Sie haben jetzt eine funktionierende Intrexx ↔ n8n Integration.
Nächster Schritt: Workflow für Ihren konkreten Use Case anpassen.
7 Use Cases mit Code-Beispielen
1. KI-Rechnungsprüfung
Szenario: Eingangsrechnungen automatisch prüfen (Betrag, Datum, Lieferant extrahieren).
Intrexx: Rechnung hochladen → Groovy Hook sendet PDF an n8n
n8n: Claude Vision API → Daten extrahieren → Callback an Intrexx
Intrexx: Felder automatisch befüllen, E-Mail an Prüfer
ROI: 127% im ersten Jahr (siehe Backend-KI-Workflows Guide)
2. E-Mail-Klassifizierung
Szenario: Eingehende E-Mails (Support, Vertrieb, Beschwerden) automatisch kategorisieren.
Intrexx: E-Mail-Connector empfängt Mail → Groovy Hook sendet Text an n8n
n8n: Claude Text API → Kategorie + Priorität bestimmen → Callback
Intrexx: E-Mail in richtige Queue routen, Ticket erstellen
n8n Prompt-Beispiel:
Klassifiziere diese E-Mail:
Betreff: {{ $json.subject }}
Text: {{ $json.body }}
Kategorien:
- SUPPORT (technische Frage)
- VERTRIEB (Interesse an Produkt)
- BESCHWERDE (Unzufriedenheit)
- RECHNUNG (Rechnungsfrage)
- SONSTIGES
Priorität:
- HOCH (Beschwerde, dringend)
- MITTEL (Support, Vertrieb)
- NIEDRIG (Info, Newsletter)
Antwort als JSON:
{
"category": "SUPPORT",
"priority": "MITTEL",
"confidence": 92,
"suggested_assignee": "Team Support"
}
3. Vertrags-Zusammenfassung
Szenario: 50-seitigen Vertrag in 5 Bullet Points zusammenfassen.
Intrexx: Vertrag hochladen → Groovy Hook sendet PDF an n8n
n8n: Claude Long Context API (200k Tokens) → Zusammenfassung generieren
Intrexx: Zusammenfassung im UI anzeigen, E-Mail an Geschäftsführer
4. Meeting-Protokoll-Generator
Szenario: Audio-Aufnahme von Meeting automatisch transkribieren + zusammenfassen.
Intrexx: Meeting-Audio hochladen → Groovy Hook sendet an n8n
n8n:
- OpenAI Whisper API → Transkription
- Claude API → Zusammenfassung (Agenda, Beschlüsse, Todos)
- Callback an Intrexx
Intrexx: Protokoll in Datenbank speichern, E-Mail an Teilnehmer, Todos in Task-Liste
5. Angebots-Erstellung mit KI
Szenario: Vertrieb gibt Eckdaten ein → KI generiert vollständiges Angebot.
Intrexx: Vertriebsformular ausfüllen (Kunde, Produkte, Budget) → Groovy Hook
n8n: Claude API → Angebot generieren (mit Firmen-Templates, Preisliste) → Callback
Intrexx: Angebot als PDF generieren, E-Mail an Kunde + CRM-Update
ROI: 275% (siehe Backend-KI-Workflows Guide)
6. Duplikate-Erkennung in Datenbank
Szenario: Neuer Kontakt wird angelegt → KI prüft ob Duplikat existiert.
Intrexx: Kontakt-Formular abschicken → Groovy Hook sendet Daten an n8n
n8n:
- Intrexx REST API abfragen (alle ähnlichen Namen)
- Claude API → "Sind diese 3 Kontakte Duplikate?"
- Callback mit Duplikat-Warnung
Intrexx: Warnung anzeigen: "Achtung: Möglicherweise Duplikat zu Kontakt #1234"
ROI: 450% (siehe Backend-KI-Workflows Guide)
7. Support-Antwort-Vorschläge
Szenario: Support-Ticket kommt rein → KI schlägt Antwort vor (aus Wissensdatenbank).
Intrexx: Neues Ticket → Groovy Hook sendet Ticket-Text an n8n
n8n:
- Vector Search in Wissensdatenbank (Pinecone/Weaviate)
- Claude API → Antwort formulieren (basierend auf gefundenen Artikeln)
- Callback mit Antwort-Vorschlag
Intrexx: Antwort-Vorschlag im Ticket anzeigen (mit "Senden"-Button)
ROI: 185% (siehe Backend-KI-Workflows Guide)
Best Practices & Fehlerbehandlung
Sicherheit
- HTTPS: Immer Zertifikat verwenden (Let's Encrypt)
- API-Key Authentifizierung: Header
X-API-Key in jedem Request
- IP-Whitelisting: n8n akzeptiert nur Requests von Intrexx-Server-IP
- Request-Signing: HMAC-SHA256 für kritische Workflows
- DSGVO: Keine personenbezogenen Daten in Logs (n8n + Intrexx)
Fehlerbehandlung
In Intrexx Groovy Hook:
try {
// n8n Request
} catch (SocketTimeoutException e) {
g_log.error("n8n Timeout: ${e.message}")
g_record.setValue("processing_status", "Timeout - Retry geplant")
// Optional: Retry-Flag setzen für Timer Job
} catch (IOException e) {
g_log.error("n8n Connection Error: ${e.message}")
g_record.setValue("processing_status", "Verbindungsfehler")
} catch (Exception e) {
g_log.error("Unbekannter Fehler: ${e.message}")
g_record.setValue("processing_status", "Fehler")
}
In n8n Workflow:
- Error-Trigger Node: Fängt Fehler ab, sendet Alert (Slack, E-Mail)
- Retry Logic: Exponential Backoff (3 Versuche: 5s, 15s, 45s)
- Fallback-Werte: Bei niedrigem Confidence Score → Manuelle Prüfung
- Timeout-Limits: Claude API max. 30 Sekunden (dann Fehler)
Performance
- Async-First: Intrexx wartet nicht auf n8n Response (außer bei Sync-Workflows)
- Batch-Processing: 100 E-Mails auf einmal klassifizieren (n8n Loop Node)
- Caching: Häufig genutzte Prompts/Responses cachen (Redis in n8n)
- Load Balancing: n8n horizontal skalieren (mehrere Instanzen)
Monitoring
- n8n Execution History: Alle Workflow-Runs tracken (mit Input/Output)
- Intrexx Logs: Groovy Hook Fehler in separates Log schreiben
- Alerts: Slack/E-Mail bei >5 Fehlern pro Stunde
- Dashboards: Grafana für n8n-Metriken (Success Rate, Durchlaufzeit)
Häufig gestellte Fragen (FAQ)
Warum nicht nur Intrexx ODER n8n nutzen?
+
Intrexx ist perfekt für strukturierte Business-Logik,
Datenbanken, User-Interfaces und Rechtemanagement.
n8n ist perfekt für flexible KI-Orchestrierung,
API-Aufrufe, Retry-Logik und asynchrone Workflows.
Die Kombination vereint Stabilität (Intrexx) mit
Agilität (n8n) – statt mit Intrexx-Groovy 200 Zeilen für einen
API-Call zu schreiben, delegiert man an n8n (3 Nodes, visuell).
Konkretes Beispiel: Rechnungsprüfung
- Nur Intrexx: 200 Zeilen Groovy, 3 Wochen Entwicklung
- Nur n8n: Keine Business-Datenbank, kein Rechtemanagement
- Hybrid: 10 Zeilen Groovy (Trigger) + 5 n8n Nodes = 2 Tage
Wie sicher ist die Webhook-Kommunikation?
+
Best Practices für Sicherheit:
- HTTPS: Immer gültiges Zertifikat (Let's Encrypt kostenlos)
- Webhook-Authentifizierung: API-Key im Header (
X-API-Key)
- IP-Whitelisting: n8n akzeptiert nur Requests von Intrexx-Server-IP
- Request-Signing: HMAC-SHA256 für kritische Workflows
- Timeout-Limits: Max. 30 Sekunden pro Request
- Rate Limiting: Max. 100 Requests/Min. in n8n konfigurieren
Bei sensiblen Daten: On-Premise-Deployment beider Systeme
im gleichen Netzwerk (kein Internet-Transit).
Was passiert wenn n8n down ist?
+
Fehlerbehandlung in Intrexx Groovy Hook:
- Try-Catch mit Timeout: Nach 30 Sekunden Fehler werfen
- Fallback auf Default-Wert: z.B. Status "Manuelle Prüfung"
- Error-Logging: Fehler in separates Log schreiben
- Status-Flag setzen:
processing_status = "pending_retry"
- Retry-Mechanismus: Intrexx Timer Job (alle 15 Min. prüfen ob Retry nötig)
- Optional: n8n Health-Check vor Request (GET /healthz)
- Monitoring-Alert: Bei >5 Fehlern/Stunde → Slack-Benachrichtigung
Bei kritischen Prozessen: Active-Standby n8n-Cluster
(Load Balancer mit automatischem Failover) oder manuelle Fallback-Logik
in Intrexx (z.B. E-Mail an Admin statt KI-Verarbeitung).
Fazit: Die Zukunft ist hybrid
Die Kombination von Intrexx (Low-Code) und n8n (No-Code)
ist die pragmatischste Lösung für Backend-KI-Workflows im Mittelstand:
- Schnellere Time-to-Market: 2 Tage statt 2 Wochen
- Höhere Agilität: Workflow-Änderungen in Minuten (visuell in n8n)
- Beste Entwickler-Experience: Kein 200-Zeilen-Groovy-Albtraum
- Kostengünstiger: n8n Open Source (selbst-hostet) + Intrexx Lizenz
- DSGVO-konform: On-Premise-Deployment möglich
🚀 Interesse an n8n + Intrexx Integration?
Wir haben in den letzten 2 Jahren 15+ Projekte mit dieser
Hybrid-Architektur umgesetzt – von Rechnungsprüfung bis Meeting-Protokolle.
Nächster Schritt: Kostenloses 30-Min. Beratungsgespräch
Jetzt Termin vereinbaren
Weiterführende Artikel: