OrchIQ Dokumentation

Benutzerhandbuch und vollständige technische Referenz für alle 45+ 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 Starter-Plans: 10 Workflows · 2.000 Ausführungen/Monat. Kostenpflichtige Pläne (Starter, Pro, Enterprise) 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

Map Variables

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

🔌 Node-Referenz

Vollständige Beschreibung aller 40+ 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 · ollama · generic
credentialIdcredentialJaAPI-Key für den gewählten Anbieter (nicht bei ollama)
modelstringJaModellname, z. B. gpt-4o, claude-sonnet-4-6, llama3
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 · ollama
credentialIdcredentialJaAPI-Key für den Anbieter
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

▶️
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
🌐

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. Die Ergebnisse werden gesammelt.

FeldTypPfl.Beschreibung
inputPathstringJaDatenpfad zum Array, z. B. ${fetch.body.items}
Outputitemindextotalresults
⬇️
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