Skip to Content
Automatisierungen

Variablen und Vorlagen

Nutze Daten des Ereignisses und früherer Schritte in Titeln, Nachrichten und Anfragen

Zuletzt aktualisiert am

Mit Variablen erstellst du Texte, die von Fall zu Fall anders sind. Du schreibst eine Variable in geschweifte Klammern und Tillor setzt den echten Wert ein, sobald die Automatisierung läuft.

Ein Beispiel für einen Aufgabentitel:

Controleer {occupation.terrain.name}

Endet die Belegung auf Stellplatz 12, heißt die Aufgabe Controleer 12.

Eine Variable einfügen

Über jedem Textfeld, in dem Variablen funktionieren, steht die Schaltfläche Variable. Klicke darauf und du siehst eine Liste aller verfügbaren Daten, gruppiert nach Datensatz. Tippe, um zu suchen (Variablen suchen), und klicke auf eine Zeile. Tillor setzt die Variable an die Stelle deines Cursors.

Schaltfläche Variable beim Feld Titel mit geöffneter Liste der verfügbaren Variablen

Du kannst eine Variable auch einfach selbst tippen. Unter dem Feld zeigt ein graues Feld, wie der Text mit Beispieldaten aussieht, sodass du sofort siehst, ob es stimmt.

Variablen funktionieren in Textfeldern wie Titeln, Beschreibungen, Unteraufgaben, Nachrichten, der ID eines Kunden, einer Rechnung oder eines anderen Datensatzes, dem Pfad oder der URL einer API-Anfrage, dem Body, der Payload eines Webhooks, dem Namen des Webhook-Ereignisses und den Werten von Headern. Bei den letzten beiden fehlt die Schaltfläche Variable, aber eine Variable, die du selbst tippst, wird trotzdem eingesetzt. Tillor prüft diese beiden Felder nicht auf Fehler und zeigt dort keine Vorschau.

In Feldern, in denen du eine Angabe zum Vergleichen wählst, schreibst du die Variable ohne geschweifte Klammern. Das gilt für Nur wenn, Wenn / sonst und Bis bei Warten bis (zum Beispiel invoice.status), für das Feld einer Verzweigung und für das Datum einer Verzögerung.

Welche Variablen gibt es

VariableVerfügbarInhalt
{occupation.…}, {invoice.…}, {task.…}, {reservation.…} und andereNach einem EreignisDie Felder des Datensatzes, um den es im Ereignis geht. Der Name des Datensatzes ist auch der Anfang der Variable
{occupation.terrain.name}Nach einem EreignisFelder der Datensätze, auf die der Datensatz verweist, wie der Kunde oder der Stellplatz. Das funktioniert eine Ebene tief
{triggeredBy.name}, {triggeredBy.id}ImmerDer Kollege, der das Ereignis ausgelöst hat. Leer, wenn das System es getan hat
{invoice.…}Bei Rechnung überfälligDie Felder der überfälligen Rechnung und des Kunden
{reservation.…}, {task.…} und andereBei Ein Datum ist erreichtDie Felder des Datensatzes, dessen Datum erreicht ist, plus die Datensätze, auf die er verweist
{now}, {today}ImmerDer Zeitpunkt, zu dem der Schritt läuft, und Mitternacht dieses Tages in der Zeitzone der Organisation. Zusammen mit einer Verschiebung (unten) ergibt {today + 1 day} morgen
{threadId}, {messageId}Bei Ereignissen zu Posteingangsnachrichten, wie inbox:message-createdDie ID der Unterhaltung und der Nachricht
Die Felder des EreignissesNach Auf ein Ereignis warten, über EmpfangenDie Daten des Ereignisses, auf das gewartet wurde. Sie ersetzen die Daten derselben Datensätze vom Anfang des Ablaufs
{createdTask.id}, {createdTask.name}Nach Aufgabe erstellenDie Aufgabe, die gerade erstellt wurde
{foundTask.id}, {foundTask.name}, {foundTask.priority}, {foundTask.status}Nach Aufgabe suchen, über GefundenDie Aufgabe, die der Schritt gefunden hat
{updatedTask.id}, {updatedTask.status}Nach Aufgabenstatus setzenDie Aufgabe, deren Status geändert wurde
{updatedTask.id}, {updatedTask.priority}Nach Aufgabenpriorität festlegenDie Aufgabe, deren Priorität geändert wurde
{updatedTask.id}Nach Aufgabe aktualisierenDie Aufgabe, die angepasst wurde
{foundDocument.id}, {foundDocument.name}, {foundDocument.status}, {foundDocument.userMetadata.documentType}, {foundDocument.userMetadata.insuranceExpiryDate}Nach Dokument suchen, über GefundenDas Dokument, das der Schritt gefunden hat
{updatedDocument.id}Nach Dokument aktualisierenDas Dokument, das angepasst wurde
{response.status}, {response.body}, {response.data.…}Nach API-AnfrageDie Antwort der Anfrage
{foundCustomer.…}, {foundInvoice.…}, {foundReservation.…} und andereNach Datensatz nachschlagen, über GefundenDie Felder des Datensatzes, den der Schritt gefunden hat, plus die Datensätze, auf die er verweist. Der Name ist found plus der Datensatztyp: foundCustomer, foundReservation, foundOccupation, foundInvoice, foundPayment, foundTerrain, foundTask, foundDocument, foundAccessMethod, foundNfcTag, foundMeter, foundInboxThread oder foundInboxMessage
{body.…}, {query.…}, {receivedAt}Nach Eingehender WebhookDer JSON-Body, die Query-Parameter und der Empfangszeitpunkt des Webhook-Aufrufs
Jeder Zielname aus Variablen zuordnenNach Variablen zuordnenWas du in diesem Schritt als Ziel einträgst, zum Beispiel {invoice.displayId} nach invoice ← {foundInvoice}
{item.…}In den Schritten hinter Für jedesDie Felder des Elements, für das der Schritt gerade läuft, wie {item.id}
{approvalTask.id}, {approval.decision}, {approval.label}, {approval.note}, {approval.decidedBy.name}Nach Um eine Entscheidung bitten, über eine OptionDie Aufgabe, die gewählte Option, der Name dieser Option, die Notiz und der Kollege, der gewählt hat
{task.…}, {action.label}, {note}Bei Eine Aufgabenaktion wird gewähltDie Aufgabe, die gewählte Schaltfläche und die Notiz, die dazu eingetragen wurde
{createdComment.id}Nach Kommentar hinzufügenDer Kommentar, der gerade geschrieben wurde
{bookedInvoice.displayId}Nach Rechnung buchen, über FertigDie Rechnungsnummer der gebuchten Rechnung
{paymentLink.url}Nach Zahlungslink erstellen, über FertigDer Link, mit dem der Kunde online bezahlen kann
{consumptionInvoice.id}Nach Verbrauch abrechnen, über FertigDie Rechnung für den Zählerverbrauch
{extendInvoice.id}Nach Verlängerungsrechnung entwerfenDie Entwurfsrechnung, die die Belegung verlängert
{createdAccessMethod.id}, {createdAccessMethod.value}Nach Zugangsmethode erstellenDas neue Zugangsmittel und sein Wert, wie der Code eines QR-Codes oder PIN-Codes
{error.message}, {error.step}Nach einer Aktion mit Fortfahren, wenn dieser Schritt fehlschlägt, über FehlerDie Fehlermeldung und der Name des Schritts, der fehlgeschlagen ist

Welche Felder ein Datensatz genau hat, siehst du in der Liste hinter der Schaltfläche Variable. Beim Auslöser steht außerdem die Übersicht Daten, die dieses Ereignis liefert.

Nur, was im Ablauf früher kommt

Ein Schritt kann nur Variablen nutzen aus dem Auslöser, der ihn erreicht, und aus Schritten, die auf demselben Weg früher stehen. Erreichen mehrere Auslöser denselben Schritt, sind nur die Variablen verfügbar, die jeder dieser Auslöser liefert. Ein Feld aus einem früheren Schritt zählt, wenn jeder dieser Auslöser auch an diesem Schritt vorbeikommt. Nutzt du eine Variable, die an dieser Stelle nicht existiert, meldet Tillor [Feld]: [Variable] ist bei diesem Schritt nicht verfügbar. Ein Ablauf mit so einer Meldung kann nicht eingeschaltet werden.

Manche Datensätze speichern zusätzliche Daten in einem Feld, wie die Dokumentdaten in userMetadata. Jeder Schlüssel darunter ist eine Variable: {document.userMetadata.documentType}, {document.userMetadata.insuranceExpiryDate} oder ein anderer Schlüssel. Die bekannten Schlüssel, wie der Typ und das Ablaufdatum eines Dokuments, stehen auch in der Liste und lassen sich als Datum vergleichen. Ein Datum ohne Uhrzeit, wie 2026-10-07, erscheint in einer Nachricht als 07-10-2026.

Variablen von Für jedes ({item.…}) existieren nur in den Schritten hinter dem Ausgang Für jedes, nicht hinter Fertig. Variablen eines Ausgangs, den du nicht genommen hast, existieren ebenfalls nicht: {paymentLink.url} gibt es nur, wenn der Schritt über Fertig lief, und {foundTask.id} nur nach Gefunden.

Bei Ereignissen, deren Daten nicht beschrieben sind, kann Tillor nicht prüfen, welche Variablen existieren. Dann bekommst du diese Meldung nicht. Prüfe solche Abläufe also besonders gut mit einer Testausführung.

Ein neuer Wert ersetzt den alten

Eine zweite API-Anfrage im selben Ablauf ersetzt die response der ersten. Dasselbe gilt für createdTask nach einem zweiten Aufgabe erstellen, für foundTask nach einem zweiten Aufgabe suchen oder Datensatz nachschlagen bei Aufgabe, und für error nach einem zweiten fehlgeschlagenen Schritt. Nutze die Daten aus einer Antwort also in dem Schritt, der direkt darauf folgt.

Wie Werte eingesetzt werden

Tillor passt die Schreibweise an die Art des Felds an.

In normalem Text (Titel, Beschreibungen, Unteraufgaben):

  • Daten stehen in der Zeitzone deiner Organisation, zum Beispiel 05-10-2026. Liegt der Zeitpunkt nicht genau auf Mitternacht, steht auch eine Uhrzeit dabei, wie 05-10-2026 14:30
  • Ein leeres Feld ergibt einen leeren Text
  • Eine Variable, die Tillor nicht kennt, bleibt so stehen, wie du sie geschrieben hast, zum Beispiel {occupation.terain.name}. Ein Tippfehler fällt so sofort in der Aufgabe oder der Nachricht auf
  • Gibt es einen verknüpften Datensatz nicht, bleibt die Variable leer. Eine Belegung ohne Reservierung ergibt für {occupation.reservation.displayId} also nichts, und ein vom System ausgelöstes Ereignis ergibt nichts für {triggeredBy.name}. Willst du in diesem Fall einen anderen Text, setze ein Wenn / sonst mit ist leer davor

In JSON (die Payload eines Webhooks und der Body einer API-Anfrage):

  • Text wird sicher eingesetzt. Anführungszeichen, Zeilenumbrüche und andere Sonderzeichen im Wert können das JSON nicht kaputt machen
  • Zahlen und Ja/Nein-Werte kommen ohne Anführungszeichen, setze also keine darum. Text setzt du dagegen in Anführungszeichen
  • Daten gehen als internationales Datum mit Uhrzeit durch, wie 2026-10-05T08:00:00.000Z, damit das empfangende System gut damit umgehen kann
{
  "reservation": "{reservation.displayId}",
  "adults": {reservation.numberOfAdults}
}

Ist das JSON nach dem Einsetzen nicht gültig, zum Beispiel weil eine Zahl leer ist, bricht die Ausführung mit einer Fehlermeldung ab.

In einem Pfad oder einer URL (bei einer API-Anfrage):

  • Werte werden so umgewandelt, dass sie in eine Adresse passen. Ein Name mit einem Leerzeichen ergibt also keine kaputte Adresse
  • Daten gehen auch hier als internationales Datum mit Uhrzeit
  • Was du selbst tippst, bleibt so, wie du es tippst. Willst du ein Leerzeichen in einem Suchbegriff, tippe selbst %20

Ein Datum verschieben

Hinter einer Datumsvariable darf eine Verschiebung stehen: {reservation.checkOut + 1 day}, {today - 2 weeks}, {invoice.dueDate + 3 hours|date}. Die Einheiten sind minutes, hours, days, weeks und months (die Einzahl geht auch). Tage und Wochen haben feste Längen, sodass eine Gültigkeit über die Sommer- und Winterzeit hinweg gleich lang bleibt; Monate folgen dem Kalender, also ist der 31. Januar plus ein Monat der 28. oder 29. Februar. Bei einem Wert, der kein Datum ist, tut die Verschiebung nichts, und eine Einheit, die es nicht gibt, ist ein Fehler im Schritt. Datumsfelder wie Gültig bis akzeptieren dieselbe Schreibweise.

Einen Wert formatieren

Setze hinter die Variable ein | und ein Format, zum Beispiel {invoice.amountOutstanding|currency}. Ohne Format steht ein Betrag nackt da, wie 1295.3. Mit |currency wird daraus € 1.295,30.

FormatBeispielErgebnis
currency{invoice.amountOutstanding|currency}€ 1.295,30
currency:USD{invoice.amountOutstanding|currency:USD}US$ 1.295,30
number{invoice.amountOutstanding|number}1.295,3
number:2{invoice.amountOutstanding|number:2}1.295,30 (feste Anzahl Dezimalstellen)
date{invoice.dueDate|date}30-06-2026
datetime{invoice.createdAt|datetime}01-06-2026 16:04
time{invoice.createdAt|time}16:04
upper / lower{customer.lastName|upper}VAN DEN BROECKE
  • Zahlen und Beträge stehen immer in belgischer Schreibweise: ein Punkt für Tausender und ein Komma für Dezimalstellen
  • Daten und Uhrzeiten stehen in der Zeitzone deiner Organisation
  • Kann das Format den Wert nicht lesen, zum Beispiel |currency bei Text, steht der Wert einfach ohne Format da
  • Ein Format, das Tillor nicht kennt, bleibt so stehen, wie du es geschrieben hast, und der Editor zeigt dazu eine Meldung
  • In JSON und in einer URL wird der formatierte Wert als Text eingesetzt. Setze in JSON also Anführungszeichen darum

Eine API-Antwort nutzen

Nach einer API-Anfrage kannst du Felder aus der Antwort mit {response.data.…} nutzen. Die Antwort einer Suche nach Aufgaben sieht zum Beispiel so aus:

{
  "items": [
    { "id": "task_1", "priority": "LOW" }
  ]
}

Dann ergibt {response.data.items.0.id} die ID der ersten Aufgabe (die erste in einer Liste hat die Nummer 0) und {response.data.items.0.priority} deren Priorität.

Tillor kann die Felder einer Antwort erst als Variable anbieten, wenn es weiß, wie die Antwort aussieht. Das geht auf zwei Arten:

  • Lass die Automatisierung einmal echt laufen. Tillor nutzt dann die Antwort der letzten Ausführung
  • Füge ein Beispiel im Tab Testlauf ein, im Feld Beispiel-API-Antwort. Dieses Feld erscheint, sobald der Ablauf eine API-Anfrage enthält. Darunter stehen Felder in dieser Antwort. Klicke auf ein Feld, um es kopiert zu bekommen, samt geschweiften Klammern

Danach stehen die Felder in der Liste hinter der Schaltfläche Variable und in der Liste bei Feld einer Verzweigung.

Tippst du selbst einen Pfad unter response.data, wird er immer akzeptiert, auch ohne Beispiel. Außerdem:

  • {response.body} enthält die ersten 4000 Zeichen der Antwort. Ist die Antwort länger, wird der Rest abgeschnitten
  • {response.data} ist leer, wenn die Antwort kein JSON ist oder wenn die Antwort sehr groß ist (mehr als 100.000 Zeichen)
  • Bei einer Suche ohne Ergebnis existiert {response.data.items.0.id} nicht. Eine Verzweigung auf so ein Feld geht dann über Standard

Ein Beispiel im Test

Im Tab Testlauf trägst du auch die Beispieldaten des Ereignisses ein. So siehst du im Testlauf, welche Werte Tillor einsetzen würde. Siehe Testen und Ausführungen.

Was passiert danach?

  • Sobald die Automatisierung läuft, ersetzt Tillor jede Variable durch den echten Wert. Eine Variable, die Tillor nicht kennt, bleibt so stehen, wie du sie geschrieben hast.
  • Ist eine Angabe leer, bleibt die Stelle leer. Willst du dann einen anderen Text, setze ein Wenn / sonst mit ist leer davor.

Probleme?

War diese Seite hilfreich?

Auf dieser Seite