Appearance
Zmienne i przekazywanie danych między blokami
Spis treści:
- Czym są zmienne w workflow
- Odczytywanie danych z poprzedniego kroku
- Wyrażenia i transformacje danych
- Debugowanie — podgląd wartości zmiennych
Każdy blok workflow'u może korzystać z danych wyprodukowanych przez poprzednie bloki. Dane te są dostępne jako zmienne — można je wstawiać w treść tytułów zadań, komentarzy, promptów AI czy zapytań HTTP.
Czym są zmienne w workflow
Zmienna to odwołanie do konkretnego pola danych, które zostało pobrane lub wytworzone przez wcześniejszy blok w tym samym workflow'ie.
Format zmiennej:
{numer_bloku.nazwa_pola}Na przykład jeśli blok nr 1 pobrał dane kampanii z Google Ads i zwrócił pole campaign_name, to w kolejnym bloku możesz użyć:
{1.campaign_name}Sembot zastąpi to wyrażenie rzeczywistą wartością podczas wykonania workflow'u.
Przykład w praktyce:
Blok Sembot Task z tytułem:
Sprawdź kampanię {1.campaign_name} — budżet: {1.budget} złPo wykonaniu staje się:
Sprawdź kampanię Summer Sale — budżet: 5000 złZmienne globalne:
Workflow może mieć zdefiniowane zmienne globalne — wartości wspólne dla całego workflow'u (np. adres API, próg alertu). Dostępne są w toolbar pod przyciskiem „Zmienne globalne". Odwołujesz się do nich przez:
globals.nazwa_zmiennej📸 [SCREEN: panel właściwości bloku z polem tekstowym zawierającym zmienną — widoczna podpowiedź z listą dostępnych pól z poprzednich bloków]
Odczytywanie danych z poprzedniego kroku
Gdy konfigurujesz blok, Sembot automatycznie podpowiada jakie dane są dostępne z wcześniejszych bloków — nie musisz zgadywać ani pamiętać nazw pól.
Jak to działa w edytorze:
W każdym polu tekstowym (tytuł, opis, komentarz, URL, prompt AI) możesz kliknąć ikonę „Otwórz selektor wyrażeń" — pojawi się lista dostępnych danych z poprzednich bloków, pogrupowana według bloku który je wyprodukował.
Dostępne pola zależą od tego, jaki blok je wyprodukował:
| Blok źródłowy | Przykładowe dostępne pola |
|---|---|
| Getter Google Ads — kampanie | campaign_name, budget, status, metrics.spend, metrics.conversions |
| Getter Google Analytics 4 | sessions, conversions, source, medium |
| Webhook trigger | webhook.payload.feed_job_id, webhook.payload.status |
| Sembot Task | task_id, task_title |
| HTTP Request | Pola z odpowiedzi API (jeśli włączono parsowanie) |
| Loop (pętla) | iterator_current_index, iterator_total_count + pola bieżącego elementu |
Zagnieżdżone pola:
Jeśli dane mają strukturę (np. metryki wewnątrz kampanii), dostęp do nich odbywa się przez kropkę:
{1.metrics.spend} → wydatki z kampanii
{1.metrics.conversions} → konwersje z kampaniiPrzykład pełnego scenariusza:
Blok 1 — Pobierz kampanie Google Ads
Zwraca: campaign_name, budget, status, metrics.spend
Blok 2 — Warunek If
Sprawdza: {1.metrics.spend} > {1.budget} * 0.9
Blok 3 — Sembot Task
Tytuł: "Budżet prawie wyczerpany: {1.campaign_name}"
Opis: "Wydano {1.metrics.spend} z {1.budget} zł budżetu."📸 [SCREEN: rozwinięta lista podpowiedzi zmiennych w polu tytułu zadania — pogrupowane według bloków: „Blok 1: Pobierz kampanie" z listą pól campaign_name, budget, status...]
Wyrażenia i transformacje danych
Zmienne można nie tylko wstawiać, ale też przekształcać — formatować daty, wykonywać obliczenia czy tworzyć zakresy czasowe.
Funkcje daty i czasu:
Przydatne gdy chcesz ograniczyć dane do konkretnego okresu, np. „ostatnie 30 dni":
{NOW()} → bieżąca data i czas
{NOW().subtractNumberOfDays(30)} → data sprzed 30 dni
{NOW().addNumberOfDays(7)} → data za 7 dni
{NOW().formatDateTime('Y-m-d')} → sformatowana data, np. 2026-05-19
{NOW().subtractNumberOfDays(30).formatDateTime('Y-m-d')} → łączenie funkcjiPrzykład użycia — getter danych Google Ads z dynamicznym zakresem dat:
Data od: {NOW().subtractNumberOfDays(7).formatDateTime('Y-m-d')}
Data do: {NOW().formatDateTime('Y-m-d')}Efekt: workflow zawsze pobiera dane z ostatnich 7 dni, niezależnie od kiedy się uruchomi.
Obliczenia matematyczne:
{1.metrics.spend} + 100
{1.conversions} * 1.5
{1.clicks} / {1.impressions}
{1.revenue} - {1.cost}Przydatne np. w bloku If do porównania wydatków z progiem lub obliczenia współczynnika konwersji.
Łączenie wartości w tekście:
Zmienne można swobodnie łączyć ze stałym tekstem:
Kampania {1.campaign_name} wydała {1.metrics.spend} zł
z budżetu {1.budget} zł w dniach
{NOW().subtractNumberOfDays(7).formatDateTime('d.m')}–{NOW().formatDateTime('d.m.Y')}Wynik:
Kampania Summer Sale wydała 4200 zł z budżetu 5000 zł w dniach 12.05–19.05.2026📸 [SCREEN: pole promptu bloku AI Agent z wpisanymi wyrażeniami daty i zmiennymi z poprzednich bloków]
Debugowanie — podgląd wartości zmiennych
Gdy uruchamiasz workflow przyciskiem „Uruchom raz", po prawej stronie otwiera się Inspektor workflow, który pokazuje dla każdego bloku dokładnie jakie dane zostały przetworzone.
Co widać dla każdego bloku:
| Informacja | Co oznacza |
|---|---|
| Status | Zielony (sukces) / Czerwony (błąd) / Szary (pominięty) |
| Czas wykonania | Ile milisekund zajął ten blok |
| Dane wejściowe | Parametry przekazane do bloku — wartości zmiennych z poprzednich bloków już po ich podstawieniu |
| Dane wyjściowe | Rzeczywiste dane zwrócone przez blok — np. {"campaign_name": "Summer Sale", "budget": 5000} |
| Dane wykonania | Szczegóły techniczne przebiegu bloku |
| Błąd | Komunikat o błędzie jeśli blok się nie powiódł |
Jak używać Inspektora workflow do weryfikacji zmiennych:
- Kliknij „Uruchom raz" w górnej belce edytora.
- Kliknij blok, który cię interesuje.
- W sekcji Dane wyjściowe zobaczysz rzeczywiste wartości które ten blok zwrócił — to są dokładnie te wartości, których będą używać kolejne bloki.
- Jeśli zmienna w następnym bloku nie działa jak oczekujesz, sprawdź czy nazwa pola w Dane wyjściowe zgadza się z tym co wpisałeś w wyrażeniu.
Typowe przyczyny problemów ze zmiennymi:
- Literówka w nazwie pola —
{campain_name}zamiast{campaign_name}→ zmienna zostaje pusta - Zły numer bloku —
{2.campaign_name}gdy dane są w bloku 1 → brak wartości - Zagnieżdżone pole bez kropki —
{metricsSpend}zamiast{metrics.spend}→ brak wartości - Blok pominięty przez warunek — dane z bloku który nie został wykonany są niedostępne
📸 [SCREEN: Inspektor workflow po prawej stronie — rozwinięty blok „Pobierz kampanie" z sekcjami „Dane wejściowe" i „Dane wyjściowe" zawierającymi rzeczywiste wartości JSON]