Globale Variablen in n8n: Endlich zentral denken
In der Welt der Automatisierung mit n8n kommt man irgendwann an den Punkt, an dem man Informationen nicht nur innerhalb eines Workflows, sondern über mehrere Workflows hinweg teilen möchte. Ein klassisches Beispiel: Ein Telegram-Trigger liefert einen Benutzernamen, der später in einem ganz anderen Flow weiterverarbeitet werden soll. Aber geht das überhaupt?
Die kurze Antwort: Ja, aber nur mit dem n8n Pro-Plan. Doch was bedeutet das konkret – und wie setzt man es um? In diesem Artikel klären wir die technischen Voraussetzungen, zeigen konkrete Anwendungsbeispiele und geben Tipps für eine zukunftssichere Architektur Ihrer Workflows.
---
🔍 Zusammenfassung
n8n ermöglicht das Setzen und Abrufen globaler Variablen – allerdings nur mit dem kostenpflichtigen Pro-Plan. Diese sogenannten "Global Variables" sind ideal, um Daten wie API-Tokens, Benutzerdaten oder Konfigurationswerte zentral zu speichern und in mehreren Workflows wiederzuverwenden. Die Einrichtung erfolgt über spezielle Nodes oder mithilfe des Code-Nodes mit Zugriff auf das `global` Objekt.
---
📌 Wichtigste Erkenntnisse
- • Globale Variablen sind nur im Pro-Plan von n8n verfügbar
- • Sie können über den Code-Node mit `global.set()` und `global.get()` genutzt werden
- • Ideal für wiederkehrende Konfigurationsdaten, Authentifizierungen oder Benutzerkontexte
- • Achtung: Globale Daten sind nicht persistent – sie überleben keinen Neustart des Servers
---
🛠 Praktische Anwendungsfälle
Beispiel 1: Telegram-Benutzer-ID workflowübergreifend nutzen
Stellen wir uns vor, ein Telegram-Trigger übergibt eine Benutzer-ID. Diese wird in einem Workflow abgefangen und gespeichert:javascript // Code-Node const userId = $json["telegram_user_id"]; global.set("lastTelegramUserId", userId); return {};
In einem zweiten Workflow – etwa ausgelöst durch einen zeitbasierten Trigger – kann diese ID nun wiederverwendet werden:
javascript // Code-Node const userId = await global.get("lastTelegramUserId"); return { json: { userId } };
Beispiel 2: Zentrales API-Token für mehrere Flows
Ein klassischer Anwendungsfall: Sie wollen ein API-Token einmal speichern und dann in mehreren automatisierten Prozessen verwenden. Auch hier helfen globale Variablen:javascript // Token setzen global.set("myApiToken", "abc123xyz");
// Token abrufen const token = await global.get("myApiToken");
---
⚙️ Technische Details
Voraussetzungen
- • n8n Pro-Plan: Nur dieser erlaubt Zugriff auf globale Variablen
- • Aktivierter Execution Mode: Nur in bestimmten Modi (nicht in Testläufen) funktionieren `global.set()` und `global.get()` zuverlässig
API und Syntax
Die globale Variable wird über das `global` Objekt im Code-Node gesetzt und abgerufen:javascript // Setzen await global.set("key", value);
// Abrufen const value = await global.get("key");
Wichtige Hinweise
- • Globale Variablen sind nicht persistent – sie verschwinden nach einem Neustart des n8n-Servers
- • Für persistente Daten sollten Sie auf Datenbanken oder externe Speicherlösungen wie Airtable, Notion oder PostgreSQL ausweichen
---
🔮 Ausblick: Was bringt die Zukunft?
Die n8n-Community wünscht sich seit Langem persistente globale Variablen. In den offiziellen Foren gibt es bereits zahlreiche Feature-Requests dazu. Denkbar wäre, dass in zukünftigen Versionen eine optionale Speicherung in Redis oder einer internen Datenbank möglich wird.
Bis dahin gilt: Für zentrale, workflowübergreifende Werte ist `global.set()` ein mächtiges Werkzeug – solange man sich der Einschränkungen bewusst ist.
---
🚀 Ihre nächsten Schritte
Sofort umsetzen (5 Minuten): Erstellen Sie einen einfachen Test-Workflow mit einem Code-Node, der `global.set("testKey", "Hallo Welt")` speichert. Erstellen Sie danach einen zweiten Workflow mit `global.get("testKey")`, um den Wert zu lesen.
Tool-Empfehlung: n8n Pro – Ermöglicht die Nutzung globaler Variablen und viele weitere Enterprise-Funktionen
Weiterführend: Lesen Sie in der n8n Community unter dem Stichwort „global variables“ die Diskussionen und Workarounds anderer Entwickler, insbesondere zur Persistenz-Problematik.
---