Variabile și șabloane
Folosește datele evenimentului și ale pașilor anteriori în titluri, mesaje și cereri
Ultima actualizare la
Cu variabilele faci texte care diferă de la caz la caz. Scrii o variabilă între acolade, iar Tillor completează valoarea reală imediat ce automatizarea rulează.
Un exemplu de titlu de sarcină:
Controleer {occupation.terrain.name}Dacă ocuparea se încheie pe terenul 12, sarcina se numește Controleer 12.
Inserarea unei variabile
Deasupra fiecărui câmp de text în care funcționează variabilele se află butonul Variabilă. Dă clic pe el și vezi o listă cu toate datele disponibile, grupate pe înregistrări. Scrie pentru a căuta (Caută variabile) și dă clic pe un rând. Tillor pune variabila la locul cursorului.
Poți și să scrii pur și simplu variabila singur. Sub câmp, o casetă gri arată cum arată textul cu date de exemplu, astfel încât vezi imediat dacă este corect.
Variabilele funcționează în câmpuri de text precum titluri, descrieri, subsarcini, mesaje, ID-ul unui client, al unei facturi sau al altei înregistrări, calea sau URL-ul unei cereri API, corpul, payload-ul unui webhook, numele evenimentului webhook și valorile antetelor. La ultimele două lipsește butonul Variabilă, dar o variabilă pe care o scrii tu este totuși completată. Tillor nu verifică aceste două câmpuri pentru erori și nu arată un exemplu pentru ele.
În câmpurile în care alegi o dată cu care compari, scrii variabila fără acolade. Asta se aplică la Doar când, Dacă / altfel și Până când la Așteaptă până când (de exemplu invoice.status), la Câmp al unui pas Ramificare și la Dată al unui pas Întârziere.
Ce variabile există
| Variabilă | Disponibilă | Conținut |
|---|---|---|
{occupation.…}, {invoice.…}, {task.…}, {reservation.…} și altele | După un eveniment | Câmpurile înregistrării despre care este evenimentul. Numele înregistrării este și începutul variabilei |
{occupation.terrain.name} | După un eveniment | Câmpuri ale înregistrărilor la care face referire înregistrarea, precum clientul sau terenul. Funcționează la un singur nivel de adâncime |
{triggeredBy.name}, {triggeredBy.id} | Mereu | Colegul care a provocat evenimentul. Gol dacă a făcut-o sistemul |
{invoice.…} | La Factură restantă | Câmpurile facturii restante și ale clientului |
{reservation.…}, {task.…} și altele | La Se atinge o dată | Câmpurile înregistrării a cărei dată s-a atins, plus înregistrările la care face referire |
{now}, {today} | Mereu | Momentul în care rulează pasul și miezul nopții acelei zile în fusul orar al organizației. Împreună cu o deplasare (mai jos), {today + 1 day} dă ziua de mâine |
{threadId}, {messageId} | La evenimentele despre mesaje din inbox, precum inbox:message-created | ID-ul conversației și al mesajului |
| Câmpurile evenimentului | După Așteaptă un eveniment, prin Primit | Datele evenimentului așteptat. Ele înlocuiesc datele acelorași înregistrări de la începutul fluxului |
{createdTask.id}, {createdTask.name} | După Creează sarcină | Sarcina tocmai creată |
{foundTask.id}, {foundTask.name}, {foundTask.priority}, {foundTask.status} | După Caută sarcină, prin Găsită | Sarcina pe care a găsit-o pasul |
{updatedTask.id}, {updatedTask.status} | După Setează starea | Sarcina a cărei stare a fost schimbată |
{updatedTask.id}, {updatedTask.priority} | După Setează prioritatea sarcinii | Sarcina a cărei prioritate a fost schimbată |
{updatedTask.id} | După Actualizează sarcina | Sarcina care a fost modificată |
{foundDocument.id}, {foundDocument.name}, {foundDocument.status}, {foundDocument.userMetadata.documentType}, {foundDocument.userMetadata.insuranceExpiryDate} | După Găsește document, prin Găsită | Documentul pe care l-a găsit pasul |
{updatedDocument.id} | După Actualizează document | Documentul care a fost modificat |
{response.status}, {response.body}, {response.data.…} | După Cerere API | Răspunsul cererii |
{foundCustomer.…}, {foundInvoice.…}, {foundReservation.…} și altele | După Caută o înregistrare, prin Găsită | Câmpurile înregistrării găsite de pas, plus înregistrările la care face referire. Numele este found plus tipul înregistrării: foundCustomer, foundReservation, foundOccupation, foundInvoice, foundPayment, foundTerrain, foundTask, foundDocument, foundAccessMethod, foundNfcTag, foundMeter, foundInboxThread sau foundInboxMessage |
{body.…}, {query.…}, {receivedAt} | După Webhook de intrare | Corpul JSON, parametrii de interogare și momentul primirii apelului webhook |
| Orice nume de destinație din Mapează variabile | După Mapează variabile | Ce completezi ca destinație în acel pas, de exemplu {invoice.displayId} după invoice ← {foundInvoice} |
{item.…} | În pașii de după Pentru fiecare | Câmpurile elementului pentru care rulează acum pasul, precum {item.id} |
{approvalTask.id}, {approval.decision}, {approval.label}, {approval.note}, {approval.decidedBy.name} | După Cere o decizie, printr-o opțiune | Sarcina, opțiunea aleasă, numele opțiunii, nota și colegul care a ales |
{task.…}, {action.label}, {note} | La Este aleasă o acțiune a sarcinii | Sarcina, butonul ales și nota completată la el |
{createdComment.id} | După Adaugă un comentariu | Comentariul tocmai postat |
{bookedInvoice.displayId} | După Înregistrează factura, prin Gata | Numărul facturii înregistrate |
{paymentLink.url} | După Creează link de plată, prin Gata | Linkul cu care clientul poate plăti online |
{consumptionInvoice.id} | După Facturează consumul, prin Gata | Factura pentru consumul contorului |
{extendInvoice.id} | După Ciornă de factură de prelungire | Ciorna de factură care prelungește ocuparea |
{createdAccessMethod.id}, {createdAccessMethod.value} | După Creează metodă de acces | Noua metodă de acces și valoarea ei, precum codul unui cod QR sau al unui cod PIN |
{error.message}, {error.step} | După o acțiune cu Continuă când acest pas eșuează, prin Eroare | Mesajul de eroare și numele pasului care a eșuat |
Ce câmpuri are exact o înregistrare vezi în lista din spatele butonului Variabilă. La declanșator se află și prezentarea Datele pe care le oferă acest eveniment.
Doar ce vine mai devreme în flux
Un pas poate folosi doar variabile din declanșatorul care ajunge la el și din pașii aflați mai devreme pe același drum. Dacă mai multe declanșatoare ajung la același pas, sunt disponibile doar variabilele pe care le oferă fiecare dintre aceste declanșatoare. Un câmp dintr-un pas anterior se ia în calcul dacă fiecare dintre aceste declanșatoare trece și prin acel pas. Dacă folosești o variabilă care nu există în acel punct, Tillor anunță [Câmp]: [variabilă] nu este disponibilă la acest pas. Un flux cu un astfel de mesaj nu poate fi activat.
Unele înregistrări păstrează date suplimentare într-un singur câmp, precum datele documentului în userMetadata. Fiecare cheie de sub el este o variabilă: {document.userMetadata.documentType}, {document.userMetadata.insuranceExpiryDate} sau altă cheie. Cheile cunoscute, precum tipul și data scadentă a unui document, apar și ele în listă și le poți compara ca dată. O dată fără oră, precum 2026-10-07, apare într-un mesaj ca 07-10-2026.
Variabilele de la Pentru fiecare ({item.…}) există doar în pașii de după ieșirea Pentru fiecare, nu după Gata. Nici variabilele unei ieșiri pe care nu ai luat-o nu există: {paymentLink.url} există doar dacă pasul a trecut prin Gata, iar {foundTask.id} doar după Găsită.
La evenimentele ale căror date nu sunt descrise, Tillor nu poate verifica ce variabile există. Atunci nu primești acel mesaj. Verifică deci aceste fluxuri cu extra atenție printr-o rulare de test.
O valoare nouă o înlocuiește pe cea veche
O a doua Cerere API în același flux înlocuiește response din prima. Același lucru se aplică la createdTask după o a doua Creează sarcină, la foundTask după un al doilea Caută sarcină sau Caută o înregistrare pe Sarcină, și la error după un al doilea pas eșuat. Folosește deci datele dintr-un răspuns în pasul care urmează imediat după el.
Cum se completează valorile
Tillor adaptează notația la tipul câmpului.
În text obișnuit (titluri, descrieri, subsarcini):
- Datele sunt în fusul orar al organizației tale, de exemplu
05-10-2026. Dacă momentul nu cade exact la miezul nopții, apare și o oră, precum05-10-2026 14:30 - Un câmp gol dă un text gol
- O variabilă pe care Tillor nu o cunoaște rămâne așa cum ai scris-o, de exemplu
{occupation.terain.name}. O greșeală de scriere se observă astfel imediat în sarcină sau în mesaj - Dacă o înregistrare legată lipsește, variabila rămâne goală. O ocupare fără rezervare nu dă deci nimic pentru
{occupation.reservation.displayId}, iar un eveniment provocat de sistem nu dă nimic pentru{triggeredBy.name}. Dacă în acest caz vrei alt text, pune înainte un Dacă / altfel cu este gol
În JSON (Payload al unui webhook și Corpul unei cereri API):
- Textul este completat în siguranță. Ghilimelele, rândurile noi și alte caractere speciale din valoare nu pot strica JSON-ul
- Numerele și valorile da/nu vin fără ghilimele, deci nu pune ghilimele în jurul lor. Textul îl pui între ghilimele
- Datele merg ca dată și oră internațională, precum
2026-10-05T08:00:00.000Z, astfel încât sistemul primitor să le poată citi corect
{
"reservation": "{reservation.displayId}",
"adults": {reservation.numberOfAdults}
}Dacă JSON-ul nu este valid după completare, de exemplu pentru că un număr este gol, rularea se oprește cu un mesaj de eroare.
Într-o cale sau un URL (la o cerere API):
- Valorile sunt convertite astfel încât să încapă într-o adresă. Un nume cu spațiu nu dă deci o adresă stricată
- Și aici datele merg ca dată și oră internațională
- Ce scrii tu singur rămâne așa cum scrii. Dacă vrei un spațiu într-un termen de căutare, scrie singur
%20
Deplasarea unei date
După o variabilă de dată poate urma o deplasare: {reservation.checkOut + 1 day}, {today - 2 weeks}, {invoice.dueDate + 3 hours|date}. Unitățile sunt minutes, hours, days, weeks și months (merge și singularul). Zilele și săptămânile au lungimi fixe, astfel încât o valabilitate rămâne la fel de lungă și peste trecerea la ora de vară și de iarnă; lunile urmează calendarul, deci 31 ianuarie plus o lună este 28 sau 29 februarie. La o valoare care nu este o dată, deplasarea nu face nimic, iar o unitate care nu există este o eroare la pas. Câmpurile de dată precum Valabil până la acceptă aceeași scriere.
Formatarea unei valori
Pune după variabilă un | și un format, de exemplu {invoice.amountOutstanding|currency}. Fără format, o sumă apare simplă, precum 1295.3. Cu |currency devine € 1.295,30.
| Format | Exemplu | Rezultat |
|---|---|---|
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 (număr fix de zecimale) |
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 |
- Numerele și sumele apar mereu în notația belgiană: punct pentru mii și virgulă pentru zecimale
- Datele și orele sunt în fusul orar al organizației tale
- Dacă formatul nu poate citi valoarea, de exemplu
|currencype text, valoarea apare pur și simplu fără format - Un format pe care Tillor nu îl cunoaște rămâne așa cum l-ai scris, iar editorul arată un mesaj despre el
- În JSON și într-un URL, valoarea formatată este completată ca text. Pune deci ghilimele în jurul ei în JSON
Folosirea unui răspuns API
După o Cerere API poți folosi câmpuri din răspuns cu {response.data.…}. Răspunsul la o căutare de sarcini arată, de exemplu, așa:
{
"items": [
{ "id": "task_1", "priority": "LOW" }
]
}Atunci {response.data.items.0.id} dă ID-ul primei sarcini (prima dintr-o listă are numărul 0), iar {response.data.items.0.priority} prioritatea ei.
Tillor poate oferi câmpurile unui răspuns ca variabilă abia când știe cum arată răspunsul. Asta se poate în două feluri:
- Lasă automatizarea să ruleze o dată cu adevărat. Tillor folosește atunci răspunsul ultimei rulări
- Lipește un exemplu în fila Rulare de test, în câmpul Exemplu de răspuns API. Acest câmp apare imediat ce fluxul conține o Cerere API. Sub el se află Câmpuri din acest răspuns. Dă clic pe un câmp pentru a-l copia, inclusiv acoladele
Apoi câmpurile apar în lista din spatele butonului Variabilă și în lista de la Câmp al unui pas Ramificare.
Dacă scrii tu singur o cale sub response.data, aceasta este mereu acceptată, chiar și fără exemplu. În plus:
{response.body}conține primele 4000 de caractere ale răspunsului. Dacă răspunsul este mai lung, restul este tăiat{response.data}este gol dacă răspunsul nu este JSON sau dacă răspunsul este foarte mare (peste 100.000 de caractere)- La o căutare fără rezultat,
{response.data.items.0.id}nu există. Un pas Ramificare pe un astfel de câmp merge atunci prin Implicit
Un exemplu în test
În fila Rulare de test completezi și datele de exemplu ale evenimentului. Astfel vezi, în rularea de test, ce valori ar completa Tillor. Vezi Testare și rulări.
Ce se întâmplă apoi?
- Imediat ce automatizarea rulează, Tillor înlocuiește fiecare variabilă cu valoarea reală. O variabilă pe care Tillor nu o cunoaște rămâne așa cum ai scris-o.
- Dacă o dată este goală, locul rămâne gol. Dacă atunci vrei alt text, pune înainte un Dacă / altfel cu este gol.