Zum Inhalt springen
Kontakt

Sebastian Nawrot
Dorneystr. 45
44149 Dortmund

n8n & Automatisierung

n8n KI-Rezeptgenerator: ChatGPT Workflow für personalisierte Kochideen

Baue deinen eigenen KI-Rezeptgenerator mit n8n und OpenAI. Schritt-für-Schritt Tutorial mit Formular, ChatGPT-Integration, Google Sheets und E-Mail-Versand. Inklusive Code-Beispiele.

Sebastian Nawrot
8 Min. Lesezeit
#n8n#OpenAI#ChatGPT#Workflow Automation#KI Rezeptgenerator#No-Code#Google Sheets#Tutorial
n8n KI-Rezeptgenerator: ChatGPT Workflow für personalisierte Kochideen

Was wäre, wenn du einfach deine vorhandenen Zutaten eingibst und eine KI dir personalisierte Rezepte vorschlägt – mit Einkaufsliste, Kostenübersicht und schöner HTML-Ausgabe? Genau das habe ich mit n8n und ChatGPT gebaut.

Jetzt Live testen!

Der Rezeptgenerator ist online und du kannst ihn direkt ausprobieren:

Zum Rezeptgenerator

In diesem Tutorial zeige ich dir meinen KI-Rezeptgenerator Workflow – ein Praxis-Beispiel, das demonstriert, wie du n8n für echte Alltagsaufgaben nutzen kannst. Du lernst:

  • Wie du ein Webformular mit n8n erstellst
  • Wie du ChatGPT (OpenAI) in Workflows integrierst
  • Wie du Daten parallel verarbeitest (Google Sheets + E-Mail)
  • Wie du schöne HTML-Ausgaben generierst

Der Workflow im Überblick

Bevor wir in die Details gehen, hier der komplette Workflow visualisiert:

n8n Workflow Übersicht: Rezeptgenerator mit Formular, OpenAI, Google Sheets und E-Mail-Versand
Der komplette n8n Workflow: Vom Formular über ChatGPT bis zur E-Mail-Zustellung

Was der Workflow macht

  1. Formular – Nutzer gibt Supermarkt, Zubereitungsart, Zeit, vorhandene Zutaten ein
  2. Daten vorbereiten – Eingaben werden strukturiert aufbereitet
  3. ChatGPT – OpenAI generiert 3 personalisierte Rezepte als JSON
  4. Parallel-Verarbeitung:
    • Google Sheets – Rezepte werden für Statistik gespeichert
    • HTML Generator – Schöne Rezept-Seite wird generiert
  5. E-Mail – Nutzer erhält Rezepte als formatierte HTML-Mail

Das Eingabeformular

n8n bietet einen Form Trigger, mit dem du ohne Frontend-Entwicklung ein vollständiges Webformular erstellst:

n8n Formular für Rezeptgenerator mit Dropdown für Supermarkt, Zubereitungsart und Textfeld für Zutaten
Das generierte Webformular – ohne eine Zeile HTML geschrieben zu haben

Formular-Konfiguration (Code-Auszug)

{
  "name": "Eingabeformular",
  "type": "n8n-nodes-base.formTrigger",
  "parameters": {
    "path": "rezept-generator",
    "formTitle": "Rezeptideen Generator",
    "formDescription": "Lass dir personalisierte Rezeptvorschläge erstellen!",
    "formFields": {
      "values": [
        {
          "fieldLabel": "Supermarkt",
          "fieldType": "dropdown",
          "defaultValue": "Penny",
          "fieldOptions": {
            "values": [
              { "option": "Edeka" },
              { "option": "Rewe" },
              { "option": "Penny" },
              { "option": "Lidl" },
              { "option": "Aldi" }
            ]
          },
          "requiredField": true
        },
        {
          "fieldLabel": "Zubereitungsart",
          "fieldType": "dropdown",
          "fieldOptions": {
            "values": [
              { "option": "Kochen" },
              { "option": "Braten" },
              { "option": "Backen" },
              { "option": "Kalte Küche" }
            ]
          }
        },
        {
          "fieldLabel": "Maximale Zubereitungsdauer (Minuten)",
          "fieldType": "number",
          "defaultValue": "30"
        },
        {
          "fieldLabel": "Vorhandene Zutaten",
          "fieldType": "textarea",
          "placeholder": "Tomaten, Zwiebeln, Nudeln, Käse"
        }
      ]
    }
  }
}

Was du hier siehst:

  • Dropdowns für Supermarkt und Zubereitungsart
  • Number Input für maximale Kochzeit
  • Textarea für vorhandene Zutaten
  • Alles als JSON konfigurierbar – kein HTML/CSS nötig

Der OpenAI Prompt (Das Herzstück)

Der entscheidende Teil ist der Prompt an ChatGPT. Hier definierst du genau, was die KI ausgeben soll:

// OpenAI Node Konfiguration
{
  "modelId": "chatgpt-4o-latest",
  "messages": {
    "values": [{
      "role": "assistant",
      "content": `Du bist ein Koch-Assistent. Erstelle 3 Rezeptvorschläge als JSON.

Daten:
- Supermarkt: {{ $json.Supermarkt }}
- Art: {{ $json.Art }}
- Max. Dauer: {{ $json.Zubereitungsdauer }} Min
- Zutaten: {{ $json['Vorhandene Zutaten'] }}

JSON Format:
{
  "rezepte": [
    {
      "titel": "Rezeptname",
      "beschreibung": "1-2 Sätze",
      "zubereitungszeit": 25,
      "schwierigkeitsgrad": "einfach",
      "zutaten": [
        {"name": "Zutat", "menge": "200g", "vorhanden": true}
      ],
      "zubereitung": ["Schritt 1", "Schritt 2"],
      "fehlende_zutaten_kosten": 4.50
    }
  ],
  "empfehlung": "Rezept 1 ist am günstigsten"
}

Wichtig: NUR JSON ausgeben, keine Markdown-Blöcke!`
    }]
  },
  "options": {
    "temperature": 0.7
  }
}

Warum JSON als Output?

  • Strukturierte Daten – Einfach weiterzuverarbeiten
  • Zuverlässig – Immer gleiches Format
  • Flexibel – Für Sheets, HTML, E-Mail nutzbar

Pro-Tipp: Die Anweisung "NUR JSON ausgeben, keine Markdown-Blöcke!" ist wichtig – sonst wrapped ChatGPT die Antwort in ```json```.

Parallele Datenverarbeitung

Das Besondere an diesem Workflow: Die KI-Antwort wird parallel verarbeitet:

Branch 1: Daten für Google Sheets

// Code Node: Für Sheets aufbereiten
const input = $input.item.json;
let content = input.message?.content || input.output || '{}';
const cleaned = content.toString().replace(/```json\n?|```/g, '').trim();
const data = JSON.parse(cleaned);
const items = [];

data.rezepte.forEach((r, i) => {
  const vorhandene = r.zutaten.filter(z => z.vorhanden).length;
  const fehlende = r.zutaten.filter(z => !z.vorhanden).length;

  items.push({
    json: {
      Datum: data.datum,
      Supermarkt: data.supermarkt,
      Rezept_Titel: r.titel,
      Zubereitungszeit: r.zubereitungszeit,
      Schwierigkeitsgrad: r.schwierigkeitsgrad,
      Zutaten_Liste: r.zutaten.map(z => `${z.name} (${z.menge})`).join(', '),
      Fehlende_Zutaten_Kosten: r.fehlende_zutaten_kosten,
      Nutzungsgrad: Math.round((vorhandene / r.zutaten.length) * 100)
    }
  });
});

return items;

Was passiert hier:

  • JSON-Response von ChatGPT wird geparst
  • Für jedes Rezept wird eine Zeile für Google Sheets erstellt
  • Nutzungsgrad berechnet: Wie viel Prozent der Zutaten waren vorhanden?

Branch 2: HTML-Generator für E-Mail

Der zweite Branch generiert eine schöne HTML-Seite mit den Rezepten:

// Ausschnitt aus dem HTML Generator
const html = `<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>Deine Rezeptvorschläge</title>
  <style>
    .card {
      background: white;
      border-radius: 15px;
      box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    }
    .zutat.vorhanden {
      background: #d4edda;
      border-left: 3px solid #28a745;
    }
    .zutat.fehlt {
      background: #fff3cd;
      border-left: 3px solid #ffc107;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1>Deine Rezeptvorschläge</h1>
    <div class="meta">
      <span>Supermarkt: ${data.supermarkt}</span>
      <span>Datum: ${data.datum}</span>
    </div>

    ${data.rezepte.map(rezept => `
      <div class="card">
        <h2>${rezept.titel}</h2>
        <p>${rezept.beschreibung}</p>

        <h3>Zutaten</h3>
        ${rezept.zutaten.map(z => `
          <div class="zutat ${z.vorhanden ? 'vorhanden' : 'fehlt'}">
            ${z.vorhanden ? '✅' : '🛒'} ${z.name} - ${z.menge}
          </div>
        `).join('')}

        <h3>Zubereitung</h3>
        ${rezept.zubereitung.map((s, i) => `
          <div class="schritt">
            <span class="nummer">${i+1}</span> ${s}
          </div>
        `).join('')}

        <div class="kosten">
          Geschätzte Kosten: ${rezept.fehlende_zutaten_kosten.toFixed(2)}€
        </div>
      </div>
    `).join('')}
  </div>
</body>
</html>`;

return [{ json: { html, filename: 'Rezepte.html' } }];

Features:

  • Responsive Design – Funktioniert auf Desktop und Mobile
  • Farbcodierung – Grün = vorhanden, Gelb = einkaufen
  • Nummerierte Schritte – Übersichtliche Zubereitung
  • Kostenübersicht – Pro Rezept geschätzte Einkaufskosten

Demo: So sieht es in Aktion aus


100% DSGVO-konform: Meine Alternative zu Google & OpenAI

Du möchtest den Rezeptgenerator nutzen, aber keine Daten an Google oder OpenAI senden?

Bei meinem Managed n8n Hosting biete ich eine vollständig DSGVO-konforme Alternative:

Statt Google Sheets: NocoDB

NocoDB ist eine Open-Source Alternative zu Airtable/Google Sheets, die auf deinem eigenen Server läuft:

  • Daten bleiben in Deutschland
  • Keine Verbindung zu Google-Servern
  • Volle Kontrolle über deine Daten
  • Gleiche Funktionalität wie Google Sheets

Statt OpenAI: Lokale KI-Modelle

Mit Ollama oder LocalAI laufen KI-Modelle wie Llama 3, Mistral oder Phi-3 direkt auf dem Server:

  • Keine Daten verlassen deinen Server
  • Keine API-Kosten pro Anfrage
  • DSGVO-konform ohne Auftragsverarbeitung
  • Ideal für sensible Branchen (Ärzte, Anwälte, HR)

Mein Angebot

Ich richte dir eine komplett lokale n8n-Instanz ein mit:

  • NocoDB statt Google Sheets
  • Lokale KI statt OpenAI
  • Deutscher Server (Hetzner)
  • Automatische Backups
  • Support & Wartung

Ab 79€/Monat – komplett DSGVO-konform, ohne externe Datenflüsse.

DSGVO-konforme n8n-Lösung anfragen


Learnings aus diesem Projekt

1. JSON als KI-Output ist Gold wert

Statt ChatGPT "freien Text" generieren zu lassen, fordere immer strukturiertes JSON an. Das macht die Weiterverarbeitung trivial.

2. Parallel Processing spart Zeit

n8n erlaubt es, einen Output an mehrere Nodes gleichzeitig zu senden. Sheets-Upload und HTML-Generierung laufen parallel – der Nutzer wartet nicht.

3. Form Trigger ist unterschätzt

Du brauchst kein React-Frontend für einfache Formulare. n8ns Form Trigger reicht für viele Use-Cases und ist in 5 Minuten konfiguriert.

4. Code Nodes für Transformation

Komplexe Datenaufbereitung (JSON parsen, HTML generieren) gehört in Code Nodes. Versuche nicht, das mit Standard-Nodes zu erzwingen.

Workflow-Erweiterungen

Dieser Workflow lässt sich leicht erweitern:

Idee 1: Supermarkt-Angebote einbinden

Verbinde eine API für aktuelle Supermarkt-Angebote (z.B. von Marktguru) und lass die KI nur Zutaten aus dem Angebot vorschlagen.

Idee 2: Nährwert-Berechnung

Füge einen zweiten KI-Call hinzu, der Kalorien und Makros pro Rezept berechnet.

Idee 3: Rezept-Historie

Speichere alle generierten Rezepte und lass die KI Duplikate vermeiden – "Zeige mir etwas Neues".

Idee 4: WhatsApp-Integration

Statt E-Mail die Rezepte per WhatsApp Business API versenden – perfekt für mobile Nutzung.

n8n für den Alltag: Weitere Ideen

Der Rezeptgenerator ist nur ein Beispiel. n8n eignet sich für viele Alltags-Automatisierungen:

Use CaseAufwandNodes
Wetter-Briefing per E-Mail15 MinWeather API + Gmail
RSS zu Telegram10 MinRSS Feed + Telegram
Geburtstags-Reminder20 MinGoogle Sheets + Cron + Email
Expense Tracking30 MinForm + Sheets + Kategorie-KI
Fitness-Tracker45 MinForm + OpenAI + Dashboard

Fazit

Mit n8n und ChatGPT kannst du in wenigen Stunden Tools bauen, die dein Leben erleichtern. Der Rezeptgenerator zeigt:

  • n8n ist mächtig genug für komplexe Workflows
  • Keine Programmierkenntnisse nötig (aber hilfreich)
  • KI-Integration ist einfacher als gedacht
  • Selbst gehostet = volle Datenkontrolle

Das Beste: Du bist nicht auf Google und OpenAI angewiesen. Mit NocoDB und lokaler KI bleibt alles DSGVO-konform auf deinem Server.


Du möchtest deinen eigenen KI-Workflow bauen?

Ich helfe dir bei:

  • n8n Setup & Hosting (DSGVO-konform in Deutschland)
  • Custom Workflow-Entwicklung nach deinen Anforderungen
  • KI-Integration mit OpenAI oder lokalen Modellen
  • Schulung für dein Team

Projekt anfragen | Mehr über Managed n8n


Quellen & Weiterführende Links:

Möchtest du auch so einen Blog?

Ich entwickle moderne, SEO-optimierte Websites und Blogs mit Next.js, React und Tailwind CSS.