Zum Inhalt springen

Webhook

Lagerbestand-Benachrichtigungen in NocoDB mit n8n speichern

Section titled “Lagerbestand-Benachrichtigungen in NocoDB mit n8n speichern”

Diese Anleitung zeigt, wie Sie jede Lagerbestand-Benachrichtigung aus Shopware automatisch in einer NocoDB-Tabelle speichern – mithilfe eines n8n-Automations-Workflows.

Was Sie benötigen:

  • Das Low Stock Notification Plugin ist in Shopware installiert und konfiguriert
  • Eine laufende n8n-Instanz (Cloud oder Self-Hosted)
  • Eine laufende NocoDB-Instanz (Cloud oder Self-Hosted)

Das Plugin stellt eine fertige Import-Datei bereit. Sie legt alle Spalten in einem Schritt an und enthält eine Beispielzeile, damit Sie das erwartete Datenformat sehen können.

  1. Öffnen Sie in NocoDB Ihre Base und klicken Sie auf Neue Tabelle hinzufügen → Aus Datei importieren.
  2. Wählen Sie nocodb-table-template.csv — importieren Sie die Datei so wie sie heruntergeladen wurde, ohne sie vorher zu öffnen.
  3. NocoDB zeigt eine Vorschau der Spalten — bestätigen und importieren.
  4. Benennen Sie die Tabelle in Low Stock Notifications um (oder wählen Sie einen beliebigen Namen).

Die importierten Spalten und ihre empfohlenen Typen:

SpaltennameTyp
Sales ChannelEinzeiliger Text
TimestampDatum und Uhrzeit
Product IDEinzeiliger Text
Product NameEinzeiliger Text
Product NumberEinzeiliger Text
StockZahl

Hinweis: NocoDB importiert jede Spalte zunächst als Einzeiliger Text, unabhängig vom Dateiformat (CSV, Excel oder JSON). Öffnen Sie nach dem Import die Tabelle, klicken Sie auf den Timestamp-Spalten-Header → Feld bearbeiten und ändern Sie den Typ auf Datum und Uhrzeit. Ändern Sie außerdem Stock auf Zahl. Das Plugin sendet Zeitstempel als ISO-8601-Zeichenketten (2024-01-15T10:30:00+00:00), die NocoDB’s DateTime-Feld über die API korrekt verarbeitet.

Gehen Sie in NocoDB zu Team & Einstellungen → API-Tokens und erstellen Sie ein neues Token. Kopieren Sie es — Sie fügen es später in den n8n-Workflow ein.


  1. Laden Sie die Datei n8n-nocodb-workflow.json herunter.
  2. Klicken Sie in n8n auf Workflow hinzufügen → Aus Datei importieren und wählen Sie die heruntergeladene Datei.
  3. Der Workflow enthält sechs verbundene Knoten:
[Shopware Webhook] → [Secret Valid?] → [Respond 200] → [Prepare Fields] → [Add Row to NocoDB]
↘ [Respond 401]

Der Workflow antwortet Shopware bevor der Eintrag in NocoDB erfolgt. Das ist gewollt:

  • Die Webhook-Aktion in Shopware hat ein 5-Sekunden-Timeout. NocoDB-Einfügungen können langsam sein, besonders bei Cloud-Instanzen. Durch die sofortige Antwort nach der Secret-Validierung überschreitet Shopware dieses Timeout nie.
  • n8n sendet die HTTP-Antwort an Shopware, sobald der Knoten „Respond 200” erreicht wird, und führt danach „Add Row to NocoDB” im selben Workflow-Lauf weiter aus.
  • Schlägt das NocoDB-Einfügen fehl, nachdem die 200-Antwort bereits gesendet wurde, erfährt Shopware davon nichts. Den Fehler sehen Sie im n8n-Panel Ausführungen — der Lauf zeigt einen roten Indikator am Knoten „Add Row to NocoDB”.
SzenarioHTTP-Antwort an ShopwareShopware-Logeintrag
Secret stimmt überein200 OKkeiner
Secret stimmt nicht überein401 UnauthorizedFehler (von Guzzle)
n8n nicht erreichbar / Timeoutkeine AntwortFehler (von Guzzle)

Eine 401-Antwort oder ein Verbindungsfehler stoppt den Shopware-Flow nicht und löst keinen erneuten Versuch aus — der Fehler wird in var/log/ protokolliert und der Flow läuft mit nachfolgenden Aktionen weiter.


Öffnen Sie jeden Knoten und ersetzen Sie die Platzhalterwerte:

Ersetzen Sie YOUR_WEBHOOK_SECRET durch das Secret-Token, das Sie in Shopware eingeben (Schritt 5). Verwenden Sie eine beliebige lange Zeichenkette — ein gutes Token sieht so aus:

Sie können eines mit einem Passwort-Manager oder einem Werkzeug wie 1password.com/password-generator erstellen. Derselbe Wert muss sowohl in n8n als auch in der Shopware-Flow-Aktion eingetragen werden.

Kein Secret? Wenn Sie kein Secret-Token verwenden möchten, löschen Sie die Knoten „Secret Valid?” und „Respond 401” und verbinden Sie „Shopware Webhook” direkt mit „Add Row to NocoDB”.

Dieser Set-Knoten wandelt die verschachtelte Webhook-Nutzlast in flache Felder um, die exakt mit den NocoDB-Spaltennamen übereinstimmen. Die Ausdrücke sind bereits vorausgefüllt — hier sind keine Änderungen nötig.

Dieser Knoten verwendet die native NocoDB-Integration in n8n. Konfigurieren Sie folgende Felder:

FeldWert
Credential to connect withNeues NocoDB-Credential anlegen (siehe unten)
ResourceRow
OperationCreate
Workspace Name or IDNo Workspace — nur für NocoDB-Cloud-Konten erforderlich; bei Self-Hosted leer lassen
Base Name or IDIhre Base aus dem Dropdown auswählen
Table Name or IDIhre Tabelle aus dem Dropdown auswählen
Data to SendAuto-Map Input Data to Columns

Der Auto-Map-Modus funktioniert hier, weil der vorgelagerte Knoten „Prepare Fields” bereits Felder mit den Namen Event, Timestamp, Product ID, Product Name, Product Number und Stock ausgibt — exakt passend zu den NocoDB-Spaltennamen.

Gehen Sie in n8n zu Credentials → Credential hinzufügen → NocoDB Token account und tragen Sie ein:

  • Host: Ihre NocoDB-URL, z. B. https://nocodb.example.com
  • API Token: das Token aus Schritt 1

Schritt 4 — Workflow aktivieren und Webhook-URL kopieren

Section titled “Schritt 4 — Workflow aktivieren und Webhook-URL kopieren”
  1. Speichern Sie den Workflow.
  2. Klicken Sie auf Aktivieren (Schalter oben rechts).
  3. Öffnen Sie den Knoten „Shopware Webhook” und kopieren Sie die Production URL — sie sieht so aus: https://your-n8n.example.com/webhook/shopware-low-stock

Halten Sie diese URL für den nächsten Schritt bereit.


Schritt 5 — Shopware Flow Builder konfigurieren

Section titled “Schritt 5 — Shopware Flow Builder konfigurieren”
  1. Gehen Sie in der Shopware-Administration zu Einstellungen → Flow Builder.
  2. Erstellen Sie einen neuen Flow oder öffnen Sie einen bestehenden.
  3. Wählen Sie als Trigger Low Stock Notification (oder das gewünschte Lagerbestand-Ereignis).
  4. Fügen Sie die Aktion Webhook senden hinzu.
  5. Im Aktions-Dialog:
    • Webhook-URL: fügen Sie die n8n-Webhook-URL aus Schritt 4 ein.
    • Secret Token: tragen Sie dasselbe Secret ein, das Sie im n8n-Workflow konfiguriert haben (optional, aber empfohlen).
  6. Speichern und aktivieren Sie den Flow.

Geben Sie eine Testbestellung in Ihrem Shop für ein Produkt mit geringem Lagerbestand auf. Sobald die Bestellung abgeschlossen ist, sollte der Flow ausgelöst werden und eine neue Zeile in NocoDB erscheinen.

Das Plugin enthält einen Test-Benachrichtigung-Button in der Plugin-Konfiguration unter Einstellungen → Erweiterungen → Low Stock Notification. Ein Klick darauf sendet sofort eine Testbenachrichtigung. Im Flow-Builder-Modus wird dadurch Ihr Flow ausgelöst.

Öffnen Sie in n8n die Ausführungen für Ihren Workflow. Jeder erfolgreiche Lauf zeigt ein grünes Häkchen. Klicken Sie auf eine Ausführung, um die gesendeten und empfangenen Daten einzusehen.


Das Secret-Token im n8n-Knoten „Secret Valid?” stimmt nicht mit dem in Shopware konfigurierten Token überein. Prüfen Sie beide auf Tippfehler oder überflüssige Leerzeichen.

n8n zeigt einen Fehler am Knoten „Add Row to NocoDB”

Section titled “n8n zeigt einen Fehler am Knoten „Add Row to NocoDB””
  • Überprüfen Sie Base-ID, Tabellen-ID und API-Token.
  • Stellen Sie sicher, dass die Spaltennamen in NocoDB exakt übereinstimmen (einschließlich Groß-/Kleinschreibung).
  • Prüfen Sie, ob das NocoDB-API-Token Schreibrechte hat.
  • Stellen Sie sicher, dass der Workflow aktiviert ist (nicht nur gespeichert).
  • Verwenden Sie die Production-URL, nicht die Test-URL.
  • Prüfen Sie, ob der Shopware-Flow ebenfalls aktiviert ist.

NocoDB-Zeile wird erstellt, aber Timestamp ist leer oder zeigt einen Fehler

Der Spaltentyp wurde beim Import möglicherweise als einfacher Text gesetzt. Ändern Sie ihn in den NocoDB-Feldeinstellungen auf Datum und Uhrzeit. Das Plugin sendet ISO-8601-Zeitstempel (2024-01-15T10:30:00+00:00), die NocoDB’s DateTime-Feld über die API ohne zusätzliche Formatierung akzeptiert.


Jedes Lagerbestand-Ereignis erzeugt eine Zeile mit folgenden Daten:

FeldBeispielwert
Sales ChannelGerman Shop
Timestamp2024-01-15T10:30:00+00:00
Product ID01921abc... (interne Shopware-UUID)
Product NameBlaues T-Shirt
Product NumberSW10001
Stock3