--- title: "Nutzen Sie KI-Chat-Tools wie ChatGPT, um Tulip kennenzulernen" slug: "use-ai-chat-tools-like-chatgpt-to-learn-tulip" status: "new" updated: 2026-10-22T10:05:36Z published: 2026-10-22T10:05:36Z canonical: "support.tulip.co/use-ai-chat-tools-like-chatgpt-to-learn-tulip" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.tulip.co/llms.txt > Use this file to discover all available pages before exploring further. # Nutzen Sie KI-Chat-Tools wie ChatGPT, um Tulip kennenzulernen Wahrscheinlich sind Sie bereits aus dem Alltag mit chatbasierten KI-Tools wie ChatGPT vertraut. Diese Tools können nun auch einfache und mittelschwere Fragen zu Tulip beantworten. Hier sind 5 Möglichkeiten, wie Sie KI-Tools wie ChatGPT, Claude und Gemini nutzen können, um in Tulip Hilfe in Echtzeit zu erhalten: 1. [Einfache Produktfragen](/r230/docs/use-ai-chat-tools-like-chatgpt-to-learn-tulip#simple-product-questions) 2. [Verwenden Sie eine Funktion für einen bestimmten Anwendungsfall](/r230/docs/use-ai-chat-tools-like-chatgpt-to-learn-tulip#use-one-feature-for-a-specific-use-case) 3. [Einzelne Trigger debuggen](/r230/docs/use-ai-chat-tools-like-chatgpt-to-learn-tulip#debug-individual-triggers) 4. [Erstellen Sie einen Testplan](/r230/docs/use-ai-chat-tools-like-chatgpt-to-learn-tulip#create-a-test-plan) 5. [Einfache Fragen zur Architektur](/r230/docs/use-ai-chat-tools-like-chatgpt-to-learn-tulip#simple-architectural-questions) Wir empfehlen, hierfür die „Thinking“-Modelle zu verwenden, wie zum Beispiel: – ChatGPT „Thinking“ – Claude Opus – Gemini In den folgenden Beispielen sehen Sie die Beispiel-Eingabeaufforderung und die Antwort des LLM. ## Einfache Produktfragen Anstatt direkt in der Wissensdatenbank zu suchen, können Sie ein KI-Chat-Tool nach der Verwendung von Tulip-Funktionen fragen und erhalten eine Antwort, die auf mehreren Artikeln aus der Wissensdatenbank basiert. **Beispiel-Eingabeaufforderung:** „Wie bearbeite ich ein Array in einer Tulip-App?“ **Beispielausgabe:** In Tulip bearbeiten Sie ein Array in der Regel, indem Sie es in einer **App-Variablen** mit dem Datentyp **„Array“** speichern und diese Variable anschließend im **Trigger-Editor** ändern. In der Tulip-Dokumentation werden Arrays als Tulip-Datentyp beschrieben, bei dem alle Elemente denselben Typ haben müssen, und es wird ausdrücklich darauf hingewiesen, dass Sie Arrays in der Trigger-Logik ändern können. Die wichtigsten Vorgehensweisen sind: **1. Erstellen Sie eine Array-Variable**: Erstellen Sie im App-Editor eine Variable und legen Sie deren Datentyp auf einen Array-Typ fest, z. B. **„Array of Text**“, **„Array of Number**“ oder **„Array of Boolean**“. Tulip-Variablen sind die wichtigste Methode, mit der Apps Arbeitsdaten speichern, und Arrays gehören zu den unterstützten Datentypen. **2. Das Array in einem Trigger aktualisieren: Verwenden Sie**einen Trigger beim Drücken einer Schaltfläche, beim Öffnen eines Schritts, beim Scannen eines Barcodes, bei einem Connector-Ergebnis oder einem anderen App-Ereignis. Im Trigger-Editor wird Ihre Logik mit **„When“- („Wenn“**), **„If“- (**„Wenn“) und **„Then“- („Dann“)** -Anweisungen aufgebaut, und laut dem Tulip-Artikel zu Arrays können Arrays dort geändert werden. **3. Gängige Methoden zur Bearbeitung des Arrays Innerhalb**der Trigger-Logik führen Sie üblicherweise folgende Schritte durch:- Das gesamte Array auf einen Wert setzen – Ein neues Array aus einem Ausdruck erstellen – Array-spezifische Ausdrücke wie `„array_max()“`, `„array_min()“` und andere Array-/Objekt-Ausdrücke verwenden – Text in ein Array konvertieren, beispielsweise durch Aufteilen einer Zeichenkette bei der Connector-Ausgabe oder anderen Textdaten **4. Connector-Ausgaben als Arrays verwendenEin**sehr gängiges Tulip-Muster besteht darin, eine **Connector-Funktion** auszuführen und deren Ergebnis in einer Variablen zu speichern. Tulip weist darauf hin, dass Connector-Ausgaben Arrays oder Objekte sein können und dass diese Ausgaben anschließend in der App und in Triggern verwendet werden können. **5. Das Array in der App anzeigen oder verwenden: Wenn**es sich bei Ihrem Array um ein **Array von Objekten** handelt, können Sie es an ein **„Interactive Table“-Widget** binden und direkt in der App anzeigen. Tulip dokumentiert, dass die „Interactive Table“ eine Variablen-Datenquelle unterstützt, wenn diese Variable ein Array von Objekten ist. Ein praktisches Beispiel: - Erstellen Sie eine Variable namens `„selected_parts“` mit dem Datentyp **„Array of Text“. -** Fügen Sie eine Schaltfläche hinzu. - Aktualisieren Sie beim Drücken der Schaltfläche mithilfe eines Triggers `die Variable „selected_parts“.`- Verwenden Sie anschließend Ausdrücke oder weitere Trigger, um den Inhalt zu überprüfen, Elemente zu zählen, Werte zu vergleichen oder ihn an andere Logik zu übergeben. Eine wichtige Nuance: In den neueren Dokumentationen von Tulip wird der Schwerpunkt auf **Ausdrücke für Arrays und Objekte** sowie auf das „Ändern von Arrays im Trigger-Editor“ gelegt, anstatt auf die ältere, an Programmiersprachen angelehnte Formulierung. In Bezug auf die Tulip-Benutzeroberfläche ist es daher besser, in Begriffen wie **Variablen**, **Triggern**, **Ausdrücken** und **Connector-Ausgaben** zu denken, statt in der Syntax von Rohcode. Wenn du möchtest, kann ich dir die genauen Schritte in der Tulip-Benutzeroberfläche für eine bestimmte Aufgabe nennen, zum Beispiel: – Hinzufügen eines Werts zu einem Array – Entfernen eines Werts – Auslesen des ersten Elements – Durchlaufen eines arrayähnlichen Connector-Ergebnisses ## Verwende eine Funktion für einen bestimmten Anwendungsfall Wenn Sie den Anwendungsfall kennen, den Sie lösen müssen, können Sie ein KI-Chat-Tool fragen, wie Sie eine bestimmte Funktion nutzen können, um dies zu erreichen. **Beispiel-Eingabeaufforderung:** „Wie kann ich einem Bediener ermöglichen, innerhalb einer App aus einer Liste von Arbeitsaufträgen auszuwählen?“ **Beispielantwort:** Das Standardmuster in Tulip lautet: 1. Fügen Sie Ihre Arbeitsaufträge in eine **Tulip-Tabelle** ein. 2. Fügen Sie der App einen **Datensatz-Platzhalter** hinzu, z. B. **„Aktiver Arbeitsauftrag**“. 3. Fügen Sie dem Schritt ein **„Interaktive Tabelle** “-Widget hinzu. 4. Legen Sie die **Datenquelle** des Widgets entweder auf die **Tabelle „Arbeitsaufträge“** oder auf eine **Tabellenabfrage** fest, wenn Sie nur eine gefilterte Liste anzeigen möchten. 5. Verknüpfen Sie das Widget mit dem Platzhalter **„Aktiver Arbeitsauftrag“**, sodass der entsprechende Arbeitsauftrag in den Platzhalter geladen wird, wenn der Bediener eine Zeile auswählt. Warum das funktioniert: Eine „Interaktive Tabelle“ kann Datensätze aus einer **Tabelle** oder einer **Tabellenabfrage** anzeigen. Wenn Sie einen **verknüpften Platzhalter** konfigurieren, wird beim Auswählen einer Zeile diese Zeile in den Platzhalter geladen. Tulip unterstützt außerdem Trigger bei der Zeilenauswahl, sodass Sie Logik unmittelbar nach der Auswahl eines Arbeitsauftrags durch den Bediener ausführen können. In der Tulip-Benutzeroberfläche sieht die Einrichtung in etwa so aus:– **Registerkarte „Datensätze“** → **Tabelle hinzufügen** → **Datensatz-Platzhalter** mit einem Namen wie **„Aktiver Arbeitsauftrag“ hinzufügen–** In Ihrem Schritt: **Einbetten** → **Interaktive Tabelle** hinzufügen **–** In den Widget-Einstellungen: - **Datenquelle** = Ihre Tabelle **„Arbeitsaufträge“** oder eine **Tabellenabfrage** - **Verknüpfter Datensatz-Platzhalter** = **„Aktiver Arbeitsauftrag“** - Fügen Sie die Spalten hinzu, die die Mitarbeiter sehen sollen, z. B. Auftragsnummer, Status, Fälligkeitsdatum, Produkt usw. Nach der Auswahl führen Sie in der Regel einen der folgenden Schritte durch: – Zeigen Sie die Felder des ausgewählten Arbeitsauftrags im selben Schritt an – Aktivieren Sie eine **„Weiter“-Schaltfläche** nur, wenn **„Aktiver Arbeitsauftrag“** geladen ist – Verwenden Sie einen Trigger, um zu einem Detail- oder Ausführungsschritt zu wechseln – Aktualisieren Sie die Felder dieses Arbeitsauftrags, nachdem er in den Platzhalter geladen wurde Ein gutes praktisches Design sieht wie folgt aus:- Schritt 1: **Arbeitsauftrag auswählen** - Interaktive Tabelle der offenen Arbeitsaufträge - Filter für Status, Zeile, Fälligkeitsdatum, Station usw.- Schritt 2: **Arbeitsauftragsdetails / Start** - Werte aus **dem „Aktiven Arbeitsauftrag“** lesen - Den Bediener bestätigen und fortfahren lassen Eine wichtige Einschränkung: Wenn Sie einen einzelnen Datensatz über Trigger-Logik statt über Zeilenauswahl laden, erfolgt das Laden durch die Aktion **„Datensatz laden“** in Tulip anhand der **ID** des Tabellendatensatzes. Wenn Ihr Bediener also eine Arbeitsauftragsnummer eingibt oder einscannt, muss dieser Wert entweder die ID des Tabellendatensatzes sein, oder Sie müssen zunächst ein Abfrage-/Nachschlagroutine verwenden. Wenn Sie möchten, kann ich dies als exakte Tulip-Trigger-/Widget-Schritte umschreiben und dabei ausschließlich die Tulip-UI-Terminologie verwenden, wie z. B. „Wenn eine Zeile ausgewählt wird …“ und „Dann weiter zu Schritt …“. ## Einzelne Trigger debuggen Wenn Sie einen Trigger haben, der sich nicht wie erwartet verhält, können Sie einen Screenshot des Triggers machen und ein LLM fragen, was schiefläuft. ![Image](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/screenshot.png) **Beispiel-Prompt:** Ich habe diesen Trigger, der den Tabelleneintrag nicht erfolgreich aktualisiert. Was läuft schief? **Beispielantwort:** Der Trigger führt die Schritte in der falschen Reihenfolge aus. Derzeit versucht Ihre erste Aktion Folgendes: **Speichern** →**customerNameintolocation:** `Tabelleneintrag → Aktiver Arbeitsauftrag → Kunde` Zu diesem Zeitpunkt **existiert „Aktiver Arbeitsauftrag“** jedoch **noch nicht im Trigger-Kontext**. Sie erstellen den Datensatz erst in der **zweiten** Aktion: **Tabelleneinträge** → **Eintrag anlegen** → ID 123 → in `„Aktiver Arbeitsauftrag“` Die erste Aktion versucht also, in einen Platzhalter für einen Tabelleneintrag zu schreiben, der noch nicht erstellt oder geladen wurde. Was Sie ändern müssen: **Zuerst erstellen, dann speichern** 1. **Datensatz** in `„Aktiver Arbeitsauftrag“`**anlegen** 2. **Speichern Sie** Ihren Wert in `den Tabelleneintrag → Aktiver Arbeitsauftrag → Kunde` Es gibt außerdem ein zweites mögliches Problem: In Ihrem Screenshot lautet der geschriebene Wert: **Statischer Wert** → **Text** → `customerName` Das bedeutet, dass Tulip wörtlich den Text „customerName“ in das Feld schreibt, nicht den Wert einer Variablen namens „customerName“. Wenn Sie also eine Variable schreiben wollten, sollten Sie Folgendes verwenden: **Variable** → Wählen Sie Ihre Variable aus,**anstatt „Statischer Wert“** Die beiden Probleme sind also: 1. Sie schreiben in `den aktiven Arbeitsauftrag`, bevor dieser Datensatz existiert oder geladen wurde. 2. Möglicherweise schreiben Sie den Literaltext `„customerName“` anstelle des Werts der Variablen. Eine funktionierende Version würde wie folgt aussehen: – **Tabelleneinträge** → **Datensatz** mit ID 123 in `„Aktiver Arbeitsauftrag“` **anlegen** – **Datenbearbeitung** → Daten **speichern**: **Variable** → `„customerName“` Speicherort: **Tabelleneintrag** → `„Aktiver Arbeitsauftrag“` → „Kunde“ Wenn Sie möchten, kann ich diesen Trigger genau in der Tulip-UI-Sprache umschreiben, damit Sie ihn Schritt für Schritt kopieren können. ## Erstellen Sie einen Testplan Anstatt darauf zu warten, dass Ihre Trigger-Logik fehlschlägt, können Sie zunächst Ihr KI-Chat-Tool um einen Testplan bitten, damit Sie sicher sein können, dass Sie Ihre App-Logik für alle möglichen Fälle testen. Dies muss nicht unbedingt einen Screenshot enthalten; in diesem Beispiel ist keiner enthalten. **Beispiel-Eingabeaufforderung:** „Ich versuche, standardmäßig einen Datensatz mithilfe einer ‚Mode‘-Aggregation auszuwählen. Wie kann ich testen, ob der richtige Datensatz geladen wurde?“ **Beispielantwort:** Ja – am einfachsten lässt sich dies testen, indem Sie den **Datensatz-Platzhalter** überprüfen, nachdem Sie den Datensatz mithilfe des Ergebnisses der „Mode“-Aggregation geladen haben. Ein praktisches Vorgehen ist: 1. Erstellen Sie Ihre **Tabellenabfrage** so, dass sie genau eine Zeile zurückgibt – oder zumindest eine Zeile, die Sie erwarten. 2. Erstellen Sie eine **„Mode“-Aggregation** für das Feld, das Sie verwenden möchten – häufig ist dies die **Datensatz-ID**. In Beispielen der Tulip-Community wird „Mode“ ausdrücklich auf diese Weise verwendet, wenn ein einzelner Wert anstelle eines Arrays zurückgegeben werden soll. 3. **Laden Sie** in einem Trigger **den Tabellendatensatz** unter Verwendung des Ergebnisses der „Mode“-Aggregation als ID in einen **Datensatz-Platzhalter**. 4. Prüfen Sie anschließend im **Entwicklermodus** anhand der Werte des Platzhalters, ob der richtige Datensatz geladen wurde. Laut der Tulip-Dokumentation zeigt der Entwicklermodus im unteren linken Bereich Live-Werte für **Variablen und Datensatzplatzhalter** an, und diese Werte werden während der Ausführung der App aktualisiert. Die zuverlässigsten Überprüfungen sind: – **Überprüfen Sie die Platzhalter-ID**: Vergewissern Sie sich nach dem Laden, dass die **ID** des geladenen Datensatzplatzhalters mit der ID übereinstimmt, die Sie von der Abfrage/Aggregation erwartet haben.- **Überprüfen Sie ein eindeutiges Feld**: Fügen Sie in den Schritt ein Text-Widget ein, das ein Feld wie `„Datensatz-Platzhalter.Feldname“` anzeigt, oder verwenden Sie ein **Tabellen-Datensatz-Widget**, um die Felder des geladenen Datensatzes anzuzeigen. In der Tulip-Dokumentation wird darauf hingewiesen, dass Sie, sobald ein Datensatz in einen Platzhalter geladen wurde, ein einzelnes Feld oder alle Felder dieses Datensatzes anzeigen können.- **Fügen Sie eine Schutzbedingung in die Triggerlogik ein** Testen Sie unmittelbar nach dem Laden beispielsweise Folgendes: „if Record Placeholder.ID = erwartete ID“ oder „if Record Placeholder.Status = erwarteter Wert“ Zeigen Sie anschließend eine Meldung an, setzen Sie eine Variable oder navigieren Sie anders weiter. Eine gute Debugging-Konfiguration sieht wie folgt aus: - eine Variable, die **das Ergebnis der „Mode“-Aggregation** enthält **-** einen **Datensatz-Platzhalter**, den Sie aus diesem Ergebnis laden - ein oder zwei Text-Widgets, die Folgendes anzeigen: - das „Mode“-Ergebnis - die ID des geladenen Platzhalters - ein erkennbares Feld aus dem geladenen Datensatz So können Sie sofort erkennen, ob: – die **Aggregation den falschen Wert zurückgegeben hat –** der **Datensatz nicht geladen wurde –** oder der **richtige Datensatz geladen wurde, aber ein anderes Feld unerwartet war** ## Einfache architektonische Fragen Sie benötigen einen Tulip-Experten – entweder intern oder extern –, um allgemeine architektonische Entscheidungen für Ihre Tulip-Instanz zu treffen. Sie können jedoch ein KI-Chat-Tool um architektonische Entscheidungen bitten, die sich ausschließlich auf Ihre App beziehen und keine Auswirkungen auf Entscheidungen bezüglich mehrerer Apps haben. Diese können mehrere Funktionen betreffen, obwohl KI-Chat-Tools bei komplizierten architektonischen Fragen nicht so gut abschneiden. **Beispiel-Eingabeaufforderung:** „Ich möchte einen einzelnen Datensatz aus einer Tabelle in einer Tulip-App laden, ohne einen Datensatz manuell anhand einer ID in einem Trigger auszuwählen. Wie mache ich das?“ **Beispielantwort:** Ja – in Tulip geht das üblicherweise so: Erstelle einen **Datensatz-Platzhalter** und lade ihn dann über eine **Tabellenaggregation**, anstatt eine ID direkt in den Trigger einzugeben. Die aktuelle Dokumentation von Tulip zeigt, dass ein Datensatz über eine **Tabellenaggregation** in einen Platzhalter geladen werden kann, nicht nur über eine fest codierte ID. Ein gängiges Vorgehen ist: 1. **Füge einen Datensatz-Platzhalter** für den gewünschten Tabellendatensatz in der App**hinzu**. Laut Tulip ist der Platzhalter die appseitige Referenz auf die Zeile, die du dynamisch laden wirst. 2. Erstellen Sie in der Tabelle eine **Abfrage**, die nach der gewünschten Zeile filtert. Abfragen können statische Werte oder dynamische App-Eingaben verwenden und nach anderen Feldern als der Datensatz-ID filtern. 3. Erstellen Sie auf Basis dieser Abfrage eine **Aggregation**, die einen **einzelnen Datensatz** zurückgibt. 4. Verwenden Sie in Ihrem Trigger **„Tabellendatensätze“** → **„Datensatz laden** “ und wählen Sie: 5. Ihren **Datensatz-Platzhalter** 6. Quelle = **Tabellenaggregation** 7. und wählen Sie anschließend diese Aggregation mit einem einzelnen Datensatz aus. Der Tulip-Leitfaden vom März 2026 zeigt genau diesen Ablauf. In der Praxis also statt: **„Datensatz laden“ → [Platzhalter] → nach ID** fährt man wie folgt vor: **Datensatz laden → [Platzhalter] → Tabellenaggregation → [Ihre Einzeldatensatz-Aggregation]** Dies ist besonders nützlich, wenn: – Sie den Datensatz anhand eines Feldes wie Auftragsnummer, Station, Status oder „neuester“ auswählen möchten – Sie immer nur eine übereinstimmende Zeile erwarten – Sie möchten, dass die App den richtigen Datensatz automatisch lädt Ein wichtiger Hinweis: Ihre Abfrage/Aggregation sollte so gestaltet sein, dass sie tatsächlich nur einen Datensatz zurückgibt. Wenn mehrere Zeilen übereinstimmen können, benötigen Sie eine Regel, die einen Datensatz bevorzugt, z. B. durch strengere Filterung oder die Verwendung einer Aggregation vom Typ „Neuester“. Das Beispiel von Tulip zum automatischen Laden eines Arbeitsauftrags verwendet genau dieses „Neuester“-Muster. Wenn du möchtest, kann ich dir die genauen Schritte in der Tulip-Benutzeroberfläche für ein Beispiel zeigen, wie zum Beispiel: „Lade den Stationsdatensatz für die angemeldete Station“ oder „Lade den aktiven Arbeitsauftrag für diesen Bediener“.