OrchIQ Dokumentation

Benutzerhandbuch und vollständige technische Referenz für alle 57+ Node-Typen.

🚀 Schnellstart 📖 Konzepte ⚙️ Workflows erstellen 📊 Monitoring 🔌 Node-Referenz 🔑 Credentials
🚀
Wir befinden uns in der Beta-Phase
Während der Beta sind alle Features kostenlos verfügbar. Der Free-Plan hat temporär die Limits des Flow-Plans: 5 Workflows · 1.000 Ausführungen/Monat. Kostenpflichtige Pläne (Flow, Pipeline, Orchestra) werden nach der Beta-Phase freigeschaltet.

🚀 Schnellstart

In wenigen Minuten zum ersten laufenden Workflow:

  1. Account anlegen

    Registriere dich unter /register. Nach der E-Mail-Bestätigung bist du direkt im Dashboard.

  2. Credentials hinterlegen (optional)

    Gehe zu Credentials in der Seitenleiste und füge API-Keys oder OAuth-Tokens für externe Dienste hinzu.

  3. Neuen Workflow erstellen

    Klicke auf Neuer Workflow, vergib einen Namen und öffne den visuellen Editor.

  4. Nodes hinzufügen

    Ziehe Nodes aus der Node-Palette auf die Canvas. Verbinde Ausgänge mit Eingängen durch Kanten.

  5. Workflow testen & ausführen

    Klicke auf Ausführen. Im Execution-Panel siehst du den Live-Status jedes Nodes in Echtzeit.

  6. Veröffentlichen

    Sobald alles funktioniert, veröffentliche den Workflow. Nur veröffentlichte Workflows können über Webhooks oder Cron ausgelöst werden.

Tipp Nutze den Trigger-Node mit vordefinierten Testdaten, um Workflows während der Entwicklung schnell manuell zu starten.

📖 Konzepte

🗺️

Workflow

Ein gerichteter azyklischer Graph (DAG) aus Nodes und Kanten. Hat Status Draft oder Published.

🔲

Node

Eine Verarbeitungseinheit mit Eingängen, Ausgängen und einer Konfiguration. Jeder Node hat einen eindeutigen Typ.

➡️

Kante (Edge)

Verbindet den Ausgang eines Nodes mit dem Eingang eines anderen. Bestimmt den Datenfluss.

📦

Execution

Ein einzelner Lauf eines Workflows. Enthält Status, Start-/Endzeit, Eingabedaten und Node-Ergebnisse.

🔑

Credential

Verschlüsselt gespeicherter API-Key, OAuth-Token oder Passwort. Wird in Nodes per ID referenziert.

💾

Variable

Daten, die zwischen Nodes fließen. Jeder Node schreibt sein Ergebnis in den gemeinsamen Execution-Context.

Ausführungsmodell

OrchIQ baut aus dem Workflow einen DAG und ermittelt topologische Wellen. Alle Nodes einer Welle werden parallel ausgeführt. Erst wenn alle Nodes einer Welle abgeschlossen sind, startet die nächste.

DAG-Executor Nodes, die nicht voneinander abhängen, laufen automatisch parallel. Du musst keine Parallelität manuell konfigurieren.

Datenpfade

Node-Ausgaben sind über Punktnotation zugänglich: nodeName.outputField. In Feldern mit Variablen-Support kannst du ${nodeName.field} verwenden.

Beispiel: Ein HTTP-Node namens fetch gibt ${fetch.body.items} zurück, das ein Loop-Node iterieren kann.

⚙️ Workflows erstellen

Editor-Oberfläche

  • Canvas — Ziehe Nodes, pan mit Mausrad/Trackpad, zoom mit Ctrl+Scroll
  • Node-Palette — Linke Seitenleiste, alle verfügbaren Node-Typen nach Kategorie
  • Node-Konfiguration — Klicke auf einen Node, um seine Einstellungen rechts zu öffnen
  • Mini-Map — Rechts unten für große Workflows

Nodes verbinden

Ziehe vom orangen Ausgangs-Handle eines Nodes auf den Eingangs-Handle eines anderen. Eine Kante wird erstellt. Kanten können auch gelöscht werden (Klick → Entf).

Bedingungen (Branches)

Der Condition-Node hat zwei Ausgänge: true und false. Verbinde jeden Ausgang mit einem anderen Zweig des Workflows.

Versionierung

Jeder gespeicherte Stand wird als Version angelegt. Im Versions-Panel kannst du ältere Stände einsehen und wiederherstellen (Rollback).

Achtung Nur als Published markierte Workflows reagieren auf eingehende Webhooks oder geplante Trigger. Drafts können nur manuell gestartet werden.

📊 Ausführen & Monitoring

Execution-Dashboard

Unter Ausführungen findest du alle vergangenen und laufenden Executions mit Status, Dauer und Zeitstempel.

Echtzeit-Status

Während eine Execution läuft, werden Node-Statusänderungen (pending → running → success/failed) per Socket.IO live übertragen und im Editor direkt auf den Nodes angezeigt.

Node-Ergebnisse

Klicke in der Execution-Detailansicht auf einen beliebigen Node, um dessen Eingaben, Ausgaben und Logs zu sehen.

Fehlerbehandlung & Retry

  • Schlägt ein Node fehl, stoppt die Execution standardmäßig und markiert alle nachfolgenden Nodes als übersprungen.
  • Mit dem Error Handler-Node kannst du Fehler abfangen und gezielt darauf reagieren.
  • Executions können manuell erneut ausgelöst werden (gleiche Eingabedaten).

Leerer Output (NO_OUTPUT)

Standardmäßig erwartet OrchIQ, dass jeder Node einen nicht-leeren Output zurückgibt. Gibt ein Node null oder ein leeres Objekt zurück, schlägt die Execution mit Fehlercode NO_OUTPUT fehl.

Ausgenommen sind Nodes, die konstruktionsbedingt keinen Ausgabewert haben: condition, loop, trigger, webhook, timer, email-trigger, error-handler.

allowEmptyOutput Wenn ein Node absichtlich keinen Wert zurückgeben soll (z. B. ein Logging-Node oder ein Webhook-Respond am Ende), aktiviere in den Node-Einstellungen das Feld Allow empty output. Die nachfolgenden Nodes erhalten dann ein leeres Objekt als Eingabe und die Execution läuft normal weiter.

🔑 Credentials

Credentials werden verschlüsselt in der Datenbank gespeichert und nie in Klartext im Frontend angezeigt. Jeder Credential-Eintrag hat einen Typ (z. B. API Key, OAuth2, SMTP) und einen Namen.

Credential-Typen

TypVerwendung
api_keyOpenAI, Anthropic, generische REST-APIs
bearer-tokenHTTP-APIs mit Bearer-Token-Authentifizierung
basic-authHTTP-APIs mit Basic Auth (User + Passwort)
http-headerBeliebige HTTP-Header (z. B. X-API-Key)
oauth2Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs, Outlook
smtpSMTP-Mailserver (Host, Port, User, Passwort)
imapIMAP-Postfach (Host, Port, User, Passwort)
awsAWS S3 (Access Key ID + Secret)
sshSSH (Host, User, Passwort oder Private Key)
ollamaLokale Ollama-Instanz (URL)
postgresPostgreSQL-Verbindung (Host, Port, Datenbank, Benutzername, Passwort)
mongodbMongoDB-Verbindung (Host, Port, Datenbank, Benutzername, Passwort, Auth-DB)
mysqlMySQL / MariaDB-Verbindung (Host, Port, Datenbank, Benutzername, Passwort)
redisRedis-Verbindung (URL, Passwort, DB-Index)
qdrantQdrant Vektordatenbank (API-Key)

💾 Variablen & Datenpfade

Der Execution-Context ist ein JSON-Objekt. Jeder Node schreibt sein Ergebnis unter seinem Node-Namen (lowercase, Leerzeichen durch _ ersetzt).

Zugriff auf Ausgaben

Syntax in Konfigurationsfeldern: ${nodeId.path.to.value}

BeispielBedeutung
${trigger.data.email}Feld email aus den Trigger-Eingabedaten
${http_fetch.body.items[0].id}Erstes Element der Items-Liste aus HTTP-Response
${ai_agent.result}Text-Ausgabe des AI-Agent-Nodes
${loop.item}Aktuelles Element im Loop (Branch loop)
${loop.results}Array aller Iterations-Ergebnisse (Branch done)

Map Variables

Mit dem Map Variables-Node kannst du Werte umbenennen, kombinieren oder neu strukturieren, ohne JavaScript schreiben zu müssen.

Globale Variablen

Über den "Vars"-Button im Editor-Header definierst du Workflow-weite Variablen, die in jedem Node verfügbar sind.

FeldBeschreibung
NameBezeichner der Variable, z. B. apiBaseUrl
StandardwertOptionaler Default-Wert (JSON oder String). Typ wird automatisch erkannt.
BeschreibungOptionale Dokumentation für das Team

Referenzierung: ${variableName} in jedem Konfigurationsfeld. Autocomplete zeigt verfügbare Variablen beim Tippen.

Überschreiben: Beim manuellen Ausführen können Variablen per JSON überschrieben werden — z. B. für Staging- vs. Produktions-URLs.

System-Variablen stehen automatisch zur Verfügung:
${currentDate}, ${currentTime}, ${currentTimestamp}, ${currentISODate}, ${currentYear}, ${currentMonth}, ${currentDay}, ${currentDayOfWeek}

📋 Data Storage

Data Storage ermöglicht das Anlegen und Verwalten strukturierter Datentabellen direkt im System. Verfügbar ab dem Pipeline-Plan.

Anwendungsfälle

  • Serverlisten: Hostnamen, IPs und SSH-Credentials als Referenz — per Loop durchiterieren und remote Befehle ausführen
  • Kontaktlisten: E-Mail-Adressen und Namen für Benachrichtigungs-Workflows
  • Konfigurationen: Umgebungsspezifische Einstellungen für verschiedene Workflows

Spaltentypen

  • string — Text
  • number — Zahlenwert
  • boolean — Ja/Nein
  • credential — Referenz auf ein Credential (nur die ID, nie das Secret)

Credential-Referenzen

Spalten vom Typ credential speichern nur die Credential-ID. Bei der Workflow-Ausführung wird die ID als normales Feld ausgegeben. Die Ziel-Node (z.B. SSH) empfängt die ID per ${item.sshCredential} in ihrer credentialId-Config — der Executor löst die Credential-ID auf und entschlüsselt intern. Passwörter und Keys erscheinen nie in Outputs oder Logs.

Gelöschte Credentials: Wird ein referenziertes Credential gelöscht, schlägt die Ziel-Node mit dem Fehler „Credential nicht gefunden" fehl. Es findet kein Cascade-Delete statt.

Workflow-Nodes

Drei Nodes stehen für die Nutzung in Workflows bereit:

  • Data Storage: Lesen — Einträge laden, optional filtern und limitieren
  • Data Storage: Schreiben — Einträge erstellen oder per Upsert aktualisieren
  • Data Storage: Löschen — Einträge nach Feld-Abgleich oder alle entfernen

Details zu Konfiguration und Output: siehe Node-Referenz.

🔗 Git-Integration

Synchronisiere Workflow-Definitionen mit GitHub oder GitLab — für Backup, Versionskontrolle und Team-Kollaboration.

Einrichtung

Öffne den Git-Dialog im Workflow-Editor (Git-Icon im Header). Dort konfigurierst du:

FeldBeschreibung
Git-CredentialAuswahl oder Neuanlage eines Credentials mit Repository-URL und Access Token (GitHub PAT oder GitLab Token)
BranchZiel-Branch (Standard: main). Verfügbare Branches können per Klick geladen werden.
DateipfadPfad zur JSON-Datei im Repository, z. B. workflows/mein-workflow.json

Funktionen

AktionBeschreibung
PushAktuelle Workflow-Definition als JSON committen und auf den gewählten Branch pushen. Optionale Commit-Message.
PullWorkflow-Definition aus dem Repository laden. Erstellt automatisch eine neue Draft-Version — veröffentlichte Versionen werden nicht überschrieben.
Branches ladenVerfügbare Branches vom Repository abrufen und im Dropdown anzeigen.
Unterstützte Anbieter: GitHub (github.com) und GitLab (gitlab.com oder Self-Hosted). Der Anbieter wird automatisch aus der Repository-URL erkannt.

🔐 Zwei-Faktor-Authentifizierung (2FA)

Schütze dein Konto mit einem zusätzlichen Sicherheitsfaktor. OrchIQ unterstützt TOTP-basierte 2FA mit jeder gängigen Authenticator-App (Google Authenticator, Authy, 1Password, Bitwarden etc.).

2FA aktivieren

  1. Öffne Profil → Sicherheit
  2. Klicke „2FA aktivieren"
  3. Scanne den angezeigten QR-Code mit deiner Authenticator-App (oder gib den manuellen Key ein)
  4. Gib den 6-stelligen Bestätigungscode aus der App ein
  5. Speichere die angezeigten Backup-Codes sicher ab — jeder Code ist nur einmal verwendbar

Login mit 2FA

Nach der Aktivierung wird bei jedem Login nach Email und Passwort ein zweiter Schritt angezeigt: Gib den aktuellen 6-stelligen Code aus deiner Authenticator-App ein. Alternativ kannst du einen deiner Backup-Codes verwenden.

Backup-Codes

Bei der Einrichtung erhältst du 10 einmalige Backup-Codes. Diese dienen als Fallback, falls du keinen Zugriff auf deine Authenticator-App hast. Jeder Code kann nur einmal verwendet werden.

Wichtig: Bewahre deine Backup-Codes an einem sicheren Ort auf. Ohne Authenticator-App und ohne Backup-Codes ist kein Login möglich.

2FA deaktivieren

Unter Profil → Sicherheit → „2FA deaktivieren" kannst du die Zwei-Faktor-Authentifizierung mit deinem Passwort wieder abschalten.

🔌 Node-Referenz

Vollständige Beschreibung aller 57+ Node-Typen mit Einstellungen, Eingaben und Ausgaben.

🤖

KI & Intelligenz

OpenAI, Anthropic Claude, Ollama — Completions, Chat, Tool-Calling

🤖
AI Agent
Typ: ai-agent

Sendet einen Prompt an ein KI-Modell und gibt das Ergebnis zurück. Unterstützt strukturierte JSON-Ausgabe (inkl. JSON-Schema für OpenAI, Anthropic und Ollama v0.5+), Temperature-Kontrolle und verschiedene Anbieter. Tool-Calling und Credentials werden im „Tools"-Tab konfiguriert.

Einstellungen

FeldTypPfl.Beschreibung
providerselectJaopenai · anthropic · openrouter · ollama · generic
credentialIdcredentialJaProvider-spezifischer API-Key (nicht bei ollama). Über OpenRouter stehen 200+ Modelle verschiedener Anbieter zur Verfügung.
modelstringJaModellname, z. B. gpt-4o, claude-sonnet-4-6, meta-llama/llama-3-70b-instruct
ollamaUrlstringOptOllama-Basis-URL, z. B. http://localhost:11434
systemMessagetextareaOptSystem-Prompt; setzt Verhalten und Kontext
prompttextareaJaUser-Prompt; unterstützt Variablen ${nodeId.field}
outputFormatselectOpttext (Standard) · json · json_schema
outputSchematextareaOptJSON-Schema für json_schema-Ausgabe. Bei Ollama (v0.5+) wird das Schema direkt übergeben und erzwingt strukturierte Ausgabe auf Modell-Ebene.
temperaturenumberOpt0–2, Standard 0.7
maxTokensnumberOptMaximale Ausgabe-Tokens
timeoutnumberOptTimeout in ms (Standard 30000)
topPnumberOptNucleus sampling 0–1
frequencyPenaltynumberOpt-2 bis 2 (nur OpenAI)
presencePenaltynumberOpt-2 bis 2 (nur OpenAI)
stopSequencesstringOptKommagetrennte Stop-Sequenzen
genericUrlstringOptEndpunkt für generic-Provider
Outputresultusagemodel
💬
AI Chat
Typ: ai-chat

Multi-Turn-Chat mit Verlauf. Ideal für gesprächsbasierte Flows, Agenten mit Tool-Calling und interaktive KI-Assistenten. Speichert Konversationsverlauf pro Session-ID. Konfiguration und Tools werden in separaten Tabs angezeigt.

FeldTypPfl.Beschreibung
providerselectJaopenai · anthropic · openrouter · ollama
credentialIdcredentialJaProvider-spezifischer API-Key
modelstringJaModellname
sessionIdstringJaEindeutige Session-ID für Verlaufs-Tracking
userMessagetextareaJaAktuelle User-Nachricht
systemMessagetextareaOptSystem-Prompt (nur erste Nachricht)
toolsjsonOptTool-Definitionen für Function-Calling — konfigurierbar im „Tools"-Tab des Node-Dialogs. Unterstützt HTTP, PostgreSQL, MongoDB, Redis, Qdrant. Pro Tool kann eine Credential ausgewählt werden.
maxHistoryMessagesnumberOptMax. Nachrichten im Verlauf (Standard 20)
maxIterationsnumberOptMax. Tool-Call-Iterationen (Standard 10)
temperaturenumberOpt0–2
maxTokensnumberOptMaximale Ausgabe-Tokens
outputFormatselectOpttext (Standard) · json · json_schema
outputSchematextareaOptJSON-Schema für json_schema-Ausgabe. Bei Ollama (v0.5+) wird das Schema direkt als format-Feld übergeben und strukturiert die Ausgabe auf Modell-Ebene.
clearHistorybooleanOptVerlauf vor dieser Ausführung löschen
OutputresponsetoolCallsusage

Trigger & Webhooks

Startpunkte für Workflow-Ausführungen — manuell, HTTP, E-Mail, Timer/Cron, Chat Widget

▶️
Trigger
Typ: trigger

Startpunkt jedes Workflows. Definiert initiale Testdaten für manuelle Ausführungen. Muss der erste Node sein.

FeldTypPfl.Beschreibung
datajsonOptInitiale Testdaten (JSON-Objekt) für manuelle Ausführungen
Outputdata
🔗
Webhook
Typ: webhook

Empfängt eingehende HTTP-Requests und startet den Workflow. Die generierte URL wird nach dem Speichern angezeigt.

FeldTypPfl.Beschreibung
pathstringJaURL-Pfad, z. B. /my-hook
methodselectJaGET · POST · PUT · DELETE
tokenstringOptBearer-Token zur Absicherung der Webhook-URL
Outputbodyheadersquerymethod
↩️
Respond to Webhook
Typ: respond-to-webhook

Sendet eine HTTP-Antwort an den ursprünglichen Webhook-Aufrufer. Muss nach einem Webhook-Node verwendet werden.

FeldTypPfl.Beschreibung
statusCodenumberJaHTTP-Statuscode, z. B. 200, 201, 400
bodyjsonOptAntwort-Body (JSON-Objekt)
headersjsonOptZusätzliche Response-Header
📧
Email Trigger
Typ: email-trigger

Überwacht ein IMAP-Postfach per Polling und startet den Workflow bei neuen E-Mails.

FeldTypPfl.Beschreibung
hoststringJaIMAP-Server-Hostname
portnumberJaStandard: 993 (SSL) oder 143
securebooleanOptTLS verwenden (Standard: true)
credentialIdcredentialJaIMAP-Credentials (User + Passwort)
mailboxstringOptPostfach-Ordner (Standard: INBOX)
pollIntervalnumberOptPolling-Intervall in Sekunden (Standard: 60)
onlyUnseenbooleanOptNur ungelesene E-Mails abrufen
markAsReadbooleanOptE-Mails nach Abruf als gelesen markieren
maxEmailsnumberOptMax. E-Mails pro Durchlauf (Standard: 10)
includeAttachmentContentbooleanOptAnhänge als Base64 einschließen
Outputemailscount
Timer / Cron
Typ: timer

Startet einen Workflow automatisch nach einem festen Intervall oder einem Cron-Zeitplan. Läuft nur wenn der Workflow veröffentlicht ist. Verteiltes Locking verhindert Doppelausführungen in Multi-Instance-Setups.

Einstellungen

FeldTypPfl.Beschreibung
scheduleTypeselectJainterval (jede N Sekunden/Minuten/Stunden/Tage) · cron (5-Feld-Cron-Ausdruck)
intervalValuenumberOptIntervall-Wert (Standard: 5) — nur für interval
intervalUnitselectOptseconds · minutes · hours · days (Standard: minutes)
cronExpressionstringOpt5-Feld-Cron-Ausdruck, z. B. 0 9 * * 1-5 (werktags 09:00 Uhr) — nur für cron
Voreingestellte Cron-Ausdrücke Im Editor stehen Schnellauswahl-Chips bereit: Jede Minute, Jede Stunde, Täglich Mitternacht, Jeden Montag, Ersten des Monats, Jeden Werktag.
Achtung Der Timer-Node muss der erste (und einzige Startnode) des Workflows sein. Der Node erscheint im Canvas mit der konfigurierten Zeitangabe als Untertitel. Nur veröffentlichte Workflows werden durch den Timer ausgelöst.
OutputscheduledAttriggerType
✈️
Telegram Trigger
Typ: telegram-trigger

Startet einen Workflow bei eingehenden Telegram-Updates via Bot-Webhook. Unterstützt alle Bot API 7.x Update-Typen (Nachrichten, Callbacks, Polls, Payments, Membership u. v. m.). Der Webhook wird beim Aktivieren des Workflows automatisch bei Telegram registriert.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaTelegram Bot Token Credential (Bot Token + optionale Base URL)
allowedUpdatesjsonOptJSON-Array mit Update-Typen, z. B. ["message","callback_query"]. Leeres Array = alle Typen empfangen.
Update-Typen message, edited_message, channel_post, callback_query, inline_query, poll, poll_answer, my_chat_member, chat_member, chat_join_request, chat_boost, shipping_query, pre_checkout_query und weitere.
Output update updateType updateId payload chatId userId text messageId data
💬
Chat Widget
Typ: chat-widget

Erzeugt ein einbettbares Chat-Widget, das per <script>-Tag auf externen Websites eingebunden wird. Eingehende Nachrichten starten den Workflow. Antworten werden per Respond to Chat-Node zurückgesendet. Zwei Anzeigemodi: Bubble (Floating-Button) oder Inline (in einem Container-Div). Das Widget nutzt Shadow DOM für vollständige Style-Isolation.

Einstellungen

FeldTypPfl.Beschreibung
displayModeselectOptbubble (Standard) oder inline
titlestringOptTitel im Chat-Header (Standard: "Chat")
subtitlestringOptUntertitel im Chat-Header
welcomeMessagestringOptErste Nachricht die beim Öffnen angezeigt wird
placeholderTextstringOptPlatzhalter im Eingabefeld
responseTimeoutnumberOptMaximale Wartezeit auf Antwort in Sekunden (Standard: 30, Max: 300)
allowedOriginstextareaOptErlaubte Domains, eine pro Zeile. Wildcards möglich: https://*.example.com. Leer = nur Preview-URL funktioniert.

Design

FeldTypBeschreibung
primaryColorcolorHaupt-Akzentfarbe (Standard: #6366f1)
backgroundColorcolorHintergrundfarbe des Chat-Fensters
textColorcolorTextfarbe
logoUrlstringURL zu einem Logo-Bild im Header
positionselectbottom-right (Standard) oder bottom-left — nur bei Bubble-Modus
bubbleSizenumberGröße des Bubble-Buttons in Pixeln (Standard: 60)
borderRadiusnumberEckenradius des Chat-Fensters (Standard: 16)
customCsstextareaEigenes CSS das innerhalb des Shadow DOM injiziert wird

Einbettung

Script-Tag: <script src="https://app.orchiq.io/chat-widget/{widgetId}/widget.js"></script>
Preview-URL: https://app.orchiq.io/chat-widget/{widgetId}/preview — lädt den Chat direkt inline zum Testen.

Sicherheit

Domain-Whitelisting: Wenn allowedOrigins konfiguriert ist, werden CORS-Header und Origin-Prüfung aktiv. Requests von nicht erlaubten Domains werden mit 403 abgelehnt. Die Preview-URL funktioniert immer. Wildcard-Subdomains werden unterstützt (https://*.example.com).
Output message sessionId widgetId timestamp metadata
💬
Respond to Chat
Typ: respond-to-chat

Sendet eine Antwort an das Chat Widget zurück. Muss nach einem Chat Widget-Trigger verwendet werden. Die Antwort wird im Chat-Fenster des Nutzers als Bot-Nachricht angezeigt.

FeldTypPfl.Beschreibung
responseTexttextareaJaAntworttext der im Chat angezeigt wird. Unterstützt Variablen-Interpolation.
responseDatajsonOptZusätzliche strukturierte Daten die mit der Antwort mitgesendet werden (z. B. Buttons, Links).
Typischer Workflow: Chat Widget → AI Agent (verarbeitet Nachricht) → Respond to Chat (sendet KI-Antwort zurück)
🌐

HTTP & API

REST-Anfragen, Datei-Downloads

🌐
HTTP Request
Typ: http-request

Führt einen HTTP POST-Request aus. Für GET-Requests verwende URL-Parameter im Pfad oder den File-Download-Node.

FeldTypPfl.Beschreibung
urlstringJaZiel-URL (Variablen unterstützt)
headersjsonOptRequest-Header als JSON-Objekt
bodyjsonOptRequest-Body als JSON-Objekt
timeoutnumberOptTimeout in ms (Standard: 30000)
throwOnErrorbooleanOptFehler bei HTTP 4xx/5xx werfen (Standard: true)
OutputbodystatusCodeheaders
⬇️
File Download
Typ: file-download

Lädt eine Datei von einer URL herunter und gibt den Inhalt als Base64 oder Text zurück.

FeldTypPfl.Beschreibung
urlstringJaDownload-URL
outputFormatselectOptbase64 (Standard) · text
timeoutnumberOptTimeout in ms (Standard: 30000)
OutputcontentmimeTypesize
📧

E-Mail

Gmail, SMTP, Outlook, IMAP

📤
Gmail Send
Typ: gmail-send

Sendet eine E-Mail über die Gmail API (OAuth2). HTML-Inhalte werden unterstützt.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGmail OAuth2-Credential
tostringJaEmpfänger-E-Mail(s), kommagetrennt
subjectstringJaBetreff
bodytextareaJaE-Mail-Text (HTML erlaubt)
ccstringOptCC-Empfänger, kommagetrennt
bccstringOptBCC-Empfänger, kommagetrennt
OutputmessageIdthreadId
📥
Gmail List
Typ: gmail-list

Listet E-Mails aus Gmail mit optionalem Suchfilter (Gmail-Suchoperatoren werden unterstützt).

FeldTypPfl.Beschreibung
credentialIdcredentialJaGmail OAuth2-Credential
querystringOptGmail-Suchanfrage, z. B. from:boss@example.com is:unread
maxResultsnumberOptMax. Ergebnisse (Standard: 10)
Outputmessagescount
✉️
SMTP Send
Typ: smtp-send

Sendet E-Mails über einen beliebigen SMTP-Server. Kompatibel mit Mailgun, SendGrid, Postfix usw.

FeldTypPfl.Beschreibung
credentialIdcredentialJaSMTP-Credential (Host, Port, User, Passwort)
tostringJaEmpfänger, kommagetrennt
subjectstringJaBetreff
fromstringOptAbsender-Adresse (überschreibt Credential-Default)
bodytextareaJaE-Mail-Inhalt
isHtmlbooleanOptBody als HTML senden
ccstringOptCC
bccstringOptBCC
OutputmessageIdaccepted
📨
Outlook Send
Typ: outlook-send

Sendet E-Mails über Microsoft 365 / Outlook via Microsoft Graph API (OAuth2).

FeldTypPfl.Beschreibung
credentialIdcredentialJaMicrosoft OAuth2-Credential
tostringJaEmpfänger, kommagetrennt
subjectstringJaBetreff
bodytextareaJaE-Mail-Inhalt
isHtmlbooleanOptHTML-Modus
ccstringOptCC
bccstringOptBCC
OutputmessageId
📫
IMAP
Typ: imap

Führt IMAP-Operationen auf einzelnen E-Mails durch (lesen, verschieben, löschen, flaggen).

FeldTypPfl.Beschreibung
credentialIdcredentialJaIMAP-Credentials
hoststringJaIMAP-Hostname
portnumberJaPort (Standard: 993)
securebooleanOptTLS
operationselectJamarkRead · markUnread · move · copy · delete · flag · unflag
emailUidstringJaUID der Ziel-E-Mail
mailboxstringOptQuell-Postfach (Standard: INBOX)
Outputsuccess
☁️

Cloud & Storage

Amazon S3, Nextcloud — Upload, Download, Listen, Ordner-Management

⬆️
S3 Upload
Typ: s3-upload

Lädt Daten in einen Amazon S3-Bucket. Inhalt kann Base64 oder Text sein.

FeldTypPfl.Beschreibung
credentialIdcredentialJaAWS-Credential (Access Key + Secret)
bucketstringJaS3-Bucket-Name
keystringJaS3-Objektpfad / Dateiname
contentstringJaDateiinhalt (Base64 oder Text)
mimeTypestringOptContent-Type, z. B. application/pdf
isBase64booleanOptContent ist Base64-kodiert
Outputurlkeybucket
⬇️
S3 Download
Typ: s3-download

Lädt ein Objekt aus S3 herunter.

FeldTypPfl.Beschreibung
credentialIdcredentialJaAWS-Credential
bucketstringJaBucket-Name
keystringJaObjekt-Key
outputFormatselectOptbase64 (Standard) · text
OutputcontentcontentTypesize
📋
S3 List
Typ: s3-list

Listet Objekte in einem S3-Bucket, optional gefiltert nach Präfix.

FeldTypPfl.Beschreibung
credentialIdcredentialJaAWS-Credential
bucketstringJaBucket-Name
prefixstringOptPfad-Präfix für Filterung
maxKeysnumberOptMax. Ergebnisse (Standard: 100)
Outputobjectscount
☁️
Nextcloud Upload
Typ: nextcloud-upload

Lädt eine Datei in eine Nextcloud-Instanz hoch (WebDAV).

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential (URL, User, Passwort)
remotePathstringJaZielpfad auf Nextcloud, z. B. /Dokumente/bericht.pdf
contentstringJaDateiinhalt als Base64 oder Text
isBase64booleanOptInhalt ist Base64-kodiert
mimeTypestringOptContent-Type der Datei
Outputpathurlsize
⬇️
Nextcloud Download
Typ: nextcloud-download

Lädt eine Datei von Nextcloud herunter.

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential
remotePathstringJaPfad zur Datei auf Nextcloud
outputFormatselectOptbase64 (Standard) · text
OutputcontentmimeTypesize
📂
Nextcloud List
Typ: nextcloud-list

Listet Dateien und Ordner in einem Nextcloud-Verzeichnis.

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential
remotePathstringJaOrdnerpfad, z. B. /Dokumente
Outputfilescount
📁
Nextcloud Ordner erstellen
Typ: nextcloud-create-folder

Erstellt einen neuen Ordner auf Nextcloud (inkl. verschachtelter Pfade).

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential
remotePathstringJaNeuer Ordnerpfad, z. B. /Archiv/2026
Outputpathcreated
🗑️
Nextcloud Delete
Typ: nextcloud-delete

Löscht eine Datei oder einen Ordner auf Nextcloud.

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential
remotePathstringJaPfad zur Datei/Ordner
Outputdeletedpath
↔️
Nextcloud Move / Umbenennen
Typ: nextcloud-move

Verschiebt oder benennt eine Datei/Ordner auf Nextcloud um.

FeldTypPfl.Beschreibung
credentialIdcredentialJaNextcloud-Credential
fromPathstringJaQuellpfad
toPathstringJaZielpfad (inkl. neuem Dateiname)
OutputfromPathtoPath
🔵

Google

Google Calendar, Drive, Sheets, Docs — via OAuth2

📅
Google Calendar Create
Typ: google-calendar-create

Erstellt einen neuen Termin in Google Calendar.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
calendarIdstringOptKalender-ID (Standard: primary)
summarystringJaTermin-Titel
startstringJaStartzeit (ISO 8601)
endstringJaEndzeit (ISO 8601)
descriptiontextareaOptBeschreibung
locationstringOptOrt
attendeesstringOptE-Mail-Adressen der Teilnehmer, kommagetrennt
OutputeventIdhtmlLink
📆
Google Calendar List
Typ: google-calendar-list

Listet Termine aus Google Calendar in einem Zeitfenster.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
calendarIdstringOptKalender-ID (Standard: primary)
timeMinstringOptFrühestes Datum (ISO 8601)
timeMaxstringOptSpätestes Datum (ISO 8601)
maxResultsnumberOptMax. Ergebnisse (Standard: 10)
Outputeventscount
📤
Google Drive Upload
Typ: google-drive-upload

Lädt eine Datei auf Google Drive hoch.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
fileNamestringJaDateiname auf Drive
contentstringJaDateiinhalt (Base64 oder Text)
mimeTypestringOptContent-Type
folderIdstringOptZiel-Ordner-ID auf Drive
OutputfileIdwebViewLink
⬇️
Google Drive Download
Typ: google-drive-download

Lädt eine Datei von Google Drive herunter.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
fileIdstringJaGoogle Drive Datei-ID
outputFormatselectOptbase64 (Standard) · text
OutputcontentmimeTypename
📂
Google Drive List
Typ: google-drive-list

Listet Dateien auf Google Drive, optional gefiltert nach Ordner oder Query.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
querystringOptDrive-Suchanfrage (Drive API Query-Syntax)
folderIdstringOptOrdner-ID zur Filterung
maxResultsnumberOptMax. Ergebnisse (Standard: 20)
Outputfilescount
📊
Google Sheets Read
Typ: google-sheets-read

Liest Daten aus einem Google Sheets-Tabellenblatt.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
spreadsheetIdstringJaSpreadsheet-ID aus der Google Sheets URL
rangestringJaBereich, z. B. Sheet1!A1:D10 oder A:Z
majorDimensionselectOptROWS (Standard) · COLUMNS
OutputvaluesrowCountcolumnCount
✏️
Google Sheets Write
Typ: google-sheets-write

Schreibt oder aktualisiert Daten in einem Google Sheets-Tabellenblatt.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
spreadsheetIdstringJaSpreadsheet-ID
rangestringJaZielbereich, z. B. Sheet1!A1
valuesjsonJa2D-Array der zu schreibenden Werte, z. B. [["Name","Wert"],["Test",42]]
valueInputOptionselectOptRAW · USER_ENTERED (Standard, interpretiert Formeln)
OutputupdatedRangeupdatedRowsupdatedCells
📄
Google Docs Create
Typ: google-docs-create

Erstellt ein neues Google Docs-Dokument mit optionalem Textinhalt.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
titlestringJaDokumenttitel
contenttextareaOptInitialer Textinhalt (wird als Nur-Text eingefügt)
OutputdocumentIdtitleurl
📃
Google Docs Get
Typ: google-docs-get

Liest den Inhalt eines bestehenden Google Docs-Dokuments.

FeldTypPfl.Beschreibung
credentialIdcredentialJaGoogle OAuth2-Credential
documentIdstringJaDokument-ID aus der Google Docs URL
Outputtitlebodytext
🖥️

Server

Remote-Befehle via SSH ausführen

⌨️
SSH Exec
Typ: ssh-exec

Verbindet sich per SSH mit einem Remote-Server und führt einen Shell-Befehl aus.

FeldTypPfl.Beschreibung
credentialIdcredentialJaSSH-Credential (Host, User, Passwort/Key)
commandtextareaJaAuszuführender Shell-Befehl
timeoutnumberOptTimeout in ms (Standard: 30000)
OutputstdoutstderrexitCode
🔀

Logik & Steuerung

Bedingungen, Schleifen, Timing, Fehlerbehandlung

🔀
Condition
Typ: condition

Verzweigt den Workflow basierend auf einer Bedingung. Hat zwei Ausgänge: true und false.

FeldTypPfl.Beschreibung
typeselectJasimple (Vergleich) · expression (JavaScript)
leftOperandstringOptLinker Wert für simple-Modus (Variablen unterstützt)
operatorselectOpt== · != · > · < · >= · <= · contains · startsWith
rightOperandstringOptRechter Vergleichswert
expressiontextareaOptJavaScript-Ausdruck für expression-Modus, muss boolean zurückgeben
Outputtruefalseresult
🔁
Loop
Typ: loop

Iteriert über ein Array und führt den nachfolgenden Teilgraph für jedes Element aus. Hat zwei Output-Handles: loop wird pro Iteration ausgeführt, done einmal am Ende mit den gesammelten Ergebnissen.

FeldTypPfl.Beschreibung
inputPathstringOptDatenpfad zum Array, z. B. items oder data.users. Bei leerem Wert wird der gesamte Input verwendet bzw. das erste Array-Feld automatisch erkannt.
Output loopitemindextotalisFirstisLast
Output doneresultscountcompleted
Ergebnis-Sammelung Standardmäßig enthält results den Output der letzten Node des Loop-Branches pro Iteration. Wer einzelne Felder oder berechnete Werte sammeln möchte, platziert eine Loop-End-Node am Ende des Loop-Branches — deren gesammeltes Array überschreibt dann results am done-Output.
🏁
Loop End
Typ: loop-end

Sammelt pro Iteration einen Wert aus ihrem Eingang. Wird automatisch der umgebenden Loop-Node zugeordnet — das resultierende Array ersetzt deren results am done-Branch.

FeldTypPfl.Beschreibung
mappingjsonOptJSON-Objekt Ziel → Quelle. Quellen können ${input.feld}, ${variable}, ein "String-Literal" oder ein fester Wert sein. Leer lassen, um pro Iteration den gesamten Input zu sammeln.
Outputcollectedcount
Beispiel Mapping {"id": "${input.user.id}", "name": "${input.user.firstName} ${input.user.lastName}"} erzeugt pro Iteration ein Objekt mit den Feldern id und name. Verschachtelte Ziele wie "user.email" bauen automatisch eine Objekt-Struktur.
Platzierung Die Loop-End-Node gehört in den loop-Branch der Loop — sie muss nicht mit dem done-Handle verbunden werden. Die Zuordnung erfolgt automatisch über die Graph-Struktur.
⬇️
Merge
Typ: merge

Kombiniert die Ausgaben mehrerer paralleler Zweige zu einem Objekt.

FeldTypPfl.Beschreibung
modeselectJamerge · deep-merge · pick · assign-key
inputCountnumberJaAnzahl der Eingänge (2–10)
keysstringOptKommagetrennte Keys für pick-Modus
assignKeystringOptSchlüsselname für assign-key-Modus
Outputmerged
⏱️
Delay
Typ: delay

Pausiert die Ausführung für eine definierte Zeit oder wartet auf einen externen Webhook-Trigger.

FeldTypPfl.Beschreibung
modeselectJadelay (Zeit-Pause) · webhook (auf externen Call warten)
delayMsnumberOptWartezeit in Millisekunden (für delay-Modus)
webhookTimeoutnumberOptMax. Wartezeit für Webhook in ms
Outputelapsed
🚦
Concurrency Limiter
Typ: concurrency-limiter

Begrenzt die gleichzeitige Ausführung paralleler Zweige. Nützlich für Rate-Limiting externer APIs.

FeldTypPfl.Beschreibung
maxConcurrentnumberJaMax. gleichzeitige Ausführungen
checkIntervalMsnumberOptPrüfintervall in ms (Standard: 500)
timeoutMsnumberOptMax. Wartezeit in ms bevor Fehler
OutputacquiredwaitTime
🛡️
Error Handler
Typ: error-handler

Fängt Fehler aus einem vorherigen Node ab und leitet den Workflow in einen Fehlerbehandlungs-Zweig um. Keine Konfigurationsfelder notwendig.

Verwendung Verbinde einen fehlerproduzierenden Node mit dem Error-Handler-Node. Nachfolgende Nodes im Fehler-Zweig erhalten die Fehlerdaten als Eingabe.
OutputnodeIdnodeTypemessagecodestack
⚙️

Datentransformation

JavaScript, Variablen-Mapping, PDF, Markdown

JS
JavaScript
Typ: javascript

Führt beliebigen JavaScript-Code in einer sicheren VM2-Sandbox aus. Ideal für komplexe Transformationen, die kein vordefinierter Node abdeckt.

FeldTypPfl.Beschreibung
codecodeJaJavaScript-Code. return definiert die Ausgabe. Zugriff auf Kontext über input-Objekt.
Sandbox Der Code läuft isoliert in VM2. Kein Dateisystem-Zugriff, kein require() für native Module. Nur pure JavaScript-Logik und der übergebene input-Kontext.
Outputresult
🗂️
Map Variables
Typ: map-variables

Mappt und umbenennt Ausgabe-Felder ohne Code. Definiert als JSON-Objekt mit Ziel-Schlüssel → Quell-Pfad.

FeldTypPfl.Beschreibung
mappingsjsonJaJSON-Objekt: {"zielKey": "${quellNode.feld}"}
Output[gemappte Felder]
📄
PDF Extract
Typ: pdf-extract

Extrahiert Text aus einem PDF-Dokument (Base64-kodiert).

FeldTypPfl.Beschreibung
contentstringJaPDF-Inhalt als Base64-String (z. B. aus S3 Download oder File Download)
OutputtextpagespageCount
📝
PDF Create
Typ: pdf-create

Erstellt ein neues PDF aus einfachem Text.

FeldTypPfl.Beschreibung
texttextareaJaTextinhalt des PDFs
fontSizenumberOptSchriftgröße in Punkt (Standard: 12)
fontselectOptHelvetica · Times-Roman · Courier
OutputcontentmimeType
📝
Markdown Convert
Typ: markdown-convert

Konvertiert zwischen Markdown und HTML in beide Richtungen.

FeldTypPfl.Beschreibung
directionselectJamd-to-html · html-to-md
inputtextareaJaEingabetext (Markdown oder HTML)
Outputoutput
✈️

Messaging

Telegram Bot API — Nachrichten, Medien, Chat-Verwaltung

✈️
Telegram
Typ: telegram

Sendet Nachrichten, verwaltet Chats und verarbeitet Dateien über die Telegram Bot API. Unterstützt alle gängigen Bot-API-Operationen in den Bereichen Nachrichten, Dateien, Chats und Callbacks.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaTelegram Bot Token Credential
resourceselectJamessage · file · chat · callback
operationselectJaAbhängig von resource — siehe Tabelle unten

Operationen nach Resource

ResourceOperationen
messagesendMessage, editMessageText, deleteMessage, forwardMessage, sendPoll, sendLocation
filesendDocument, sendPhoto, sendAudio, sendVideo, getFile
chatgetChat, getChatMember, getChatMemberCount, banChatMember, unbanChatMember, leaveChat, setChatTitle, pinChatMessage
callbackanswerCallbackQuery
Beispiel: Nachricht senden Resource: message, Operation: sendMessage. Weitere Felder: chatId (Ziel-Chat), text (Nachrichteninhalt), parseMode (HTML oder Markdown), disableNotification.
Outputresultok
GraphQL
Typ: graphql-query

Führt GraphQL-Queries und -Mutations gegen beliebige GraphQL-Endpunkte aus. Unterstützt Variablen, Operation Names und optionale Credential-basierte Authentifizierung (Bearer, API Key, Basic Auth, HTTP Header).

Einstellungen

FeldTypPfl.Beschreibung
endpointstringJaURL des GraphQL-Endpunkts — Variablen-Syntax unterstützt
querycodeJaGraphQL-Query oder -Mutation (z. B. query { user { id name } })
variablesjsonOptVariablen als JSON-Objekt, die an die Query übergeben werden
operationNamestringOptName der Operation bei mehreren Definitionen im Query-Dokument
credentialIdcredentialOptOptionale Authentifizierung — kompatibel mit bearer-token, api-key, basic-auth, http-header
Hinweis: Wenn der Server Fehler im errors-Feld zurückgibt und data leer ist, wird die Node-Ausführung als fehlgeschlagen gewertet.
OutputdataerrorshasErrors
🐘
PostgreSQL
Typ: postgres-query

Führt SQL-Queries direkt gegen eine PostgreSQL-Datenbank aus. Unterstützt SELECT sowie DML-Statements (INSERT, UPDATE, DELETE) mit parametrisierten Platzhaltern ($1, $2, …).

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaPostgreSQL-Credential (Host, Port, Datenbank, Benutzername, Passwort)
querytextareaJaSQL-Statement — Platzhalter $1, $2 für Parameter verwenden
paramsjsonOptParameter als JSON-Array, z. B. ["alice", 30] — werden in der Reihenfolge als $1, $2 eingesetzt
Sicherheit: Nur parametrisierte Queries verwenden — niemals Werte direkt in den Query-String einbauen.
OutputrowsrowCount
🍃
MongoDB
Typ: mongodb-query

Führt MongoDB-Operationen auf einer Collection aus. Unterstützt Lesen, Schreiben, Aktualisieren, Löschen und Aggregation-Pipelines.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaMongoDB-Credential (Host, Port, Datenbank, Benutzername, Passwort, Auth-DB)
databasestringJaName der Zieldatenbank
collectionstringJaName der Collection
operationselectJafind · findOne · insertOne · updateOne · deleteOne · aggregate
filterjsonOptMongoDB-Filter-Dokument (für find, findOne, updateOne, deleteOne)
documentjsonOptEinfüge- oder Update-Dokument
pipelinejsonOptAggregation-Pipeline als Array (nur für aggregate)
limitnumberOptMaximale Anzahl zurückgegebener Dokumente (nur für find)
Outputdocumentsresultcount
🐬
MySQL / MariaDB
Typ: mysql-query

Führt SQL-Queries direkt gegen eine MySQL- oder MariaDB-Datenbank aus. Unterstützt SELECT sowie DML-Statements mit parametrisierten ?-Platzhaltern.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaMySQL-Credential (Host, Port, Datenbank, Benutzername, Passwort)
querytextareaJaSQL-Statement — ?-Platzhalter für Parameter verwenden
paramsjsonOptParameter als JSON-Array, z. B. ["alice", 30] — werden in der Reihenfolge der ?-Platzhalter eingesetzt
Sicherheit: Nur parametrisierte Queries verwenden — niemals Werte direkt in den Query-String einbauen.
OutputrowsrowCount
📡

Redis

Redis Pub/Sub — Trigger, Publish

📡
Redis Trigger
Typ: redis-trigger

Startet einen Workflow bei eingehenden Redis Pub/Sub-Nachrichten. Abonniert einen oder mehrere Channels und löst den Workflow aus, sobald eine Nachricht empfangen wird. Unterstützt Pattern-Subscribe (PSUBSCRIBE) für Wildcard-Channels.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaRedis Credential (URL, Passwort, DB)
channelsstringJaKommagetrennte Liste von Channels, z. B. my-channel, events:*
messageFormatselectOptNachrichtenformat: text (Standard) oder json. Bei JSON werden eingehende Nachrichten automatisch als Objekt geparst.
usePatternSubscribebooleanOptPSUBSCRIBE verwenden — erlaubt Wildcards wie events:*
Nachrichtenformat: Bei json wird die empfangene Nachricht automatisch geparst — message enthält dann ein JSON-Objekt. Bei text bleibt message ein String. rawMessage enthält immer den originalen String.
Output channel message rawMessage pattern
📡
Redis Publish
Typ: redis-publish

Publiziert eine Nachricht auf einem Redis Pub/Sub-Channel. Alle Subscriber, die den Channel abonniert haben, erhalten die Nachricht in Echtzeit.

Einstellungen

FeldTypPfl.Beschreibung
credentialIdcredentialJaRedis Credential (URL, Passwort, DB)
channelstringJaZiel-Channel, z. B. my-channel
messageFormatselectOptNachrichtenformat: text (Standard) oder json. Bei JSON wird die Nachricht vor dem Senden validiert.
messagetextareaJaNachricht. Bei Text: Freitext mit Variablen (${node.output}). Bei JSON: gültiges JSON-Objekt (Monospace-Editor mit Validierung).
Cross-Workflow-Kommunikation: Kombiniere Redis Publish mit einem Redis Trigger in einem anderen Workflow, um Workflows über Redis-Channels miteinander zu verknüpfen.
Output channel message receivers

📋 Daten

Data Storage ermöglicht es, strukturierte Datentabellen direkt im System anzulegen — z.B. Serverlisten, Kontaktlisten oder Konfigurationen. Entries können Credential-Referenzen enthalten (nur IDs, nie Klartext). Ab dem Pipeline-Plan verfügbar.

📋
Data Storage: Lesen
Typ: data-storage-read

Liest Einträge aus einem Data Storage. Optional mit Filtern und Limit. Credential-Referenzen werden als IDs in die Ausgabe-Daten gemergt — nie als Klartext-Secrets.

Einstellungen

FeldTypPfl.Beschreibung
dataStorageIdselectJaDer Data Storage, aus dem gelesen wird
filtersjsonOptFilter-Array: [{field, operator, value}] — Operatoren: equals, not_equals, contains, starts_with, gt, lt, in
limitnumberOptMaximale Anzahl zurückgegebener Einträge
Credential-Referenzen: Entry-Felder vom Typ „Credential" enthalten nur die Credential-ID. Verwende ${item.feldname} in einer nachfolgenden Node (z.B. SSH), um die Credential-ID dynamisch zuzuweisen.
Outputentriescount
📝
Data Storage: Schreiben
Typ: data-storage-write

Erstellt oder aktualisiert Einträge in einem Data Storage. Unterstützt create (immer neu) und upsert (anhand eines Match-Feldes aktualisieren oder erstellen).

Einstellungen

FeldTypPfl.Beschreibung
dataStorageIdselectJaZiel-Data-Storage
operationselectJacreate oder upsert
matchFieldstringOptFeld für Upsert-Abgleich (z.B. hostname)
datajsonJaJSON-Objekt mit den Daten — ${variable}-Syntax unterstützt
Outputentrycreated
🗑
Data Storage: Löschen
Typ: data-storage-delete

Löscht Einträge aus einem Data Storage anhand eines Feld-Abgleichs oder alle Einträge auf einmal.

Einstellungen

FeldTypPfl.Beschreibung
dataStorageIdselectJaZiel-Data-Storage
matchFieldstringOptFeld für den Abgleich (z.B. hostname)
matchValuestringOptWert für den Abgleich — ${variable}-Syntax unterstützt
deleteAllbooleanOptAlle Einträge löschen (Vorsicht!)
OutputdeletedCount