Skip to content

Zmienne i przekazywanie danych między blokami

Spis treści:


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łowyPrzykładowe dostępne pola
Getter Google Ads — kampaniecampaign_name, budget, status, metrics.spend, metrics.conversions
Getter Google Analytics 4sessions, conversions, source, medium
Webhook triggerwebhook.payload.feed_job_id, webhook.payload.status
Sembot Tasktask_id, task_title
HTTP RequestPola 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 kampanii

Przykł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 funkcji

Przykł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:

InformacjaCo oznacza
StatusZielony (sukces) / Czerwony (błąd) / Szary (pominięty)
Czas wykonaniaIle milisekund zajął ten blok
Dane wejścioweParametry przekazane do bloku — wartości zmiennych z poprzednich bloków już po ich podstawieniu
Dane wyjścioweRzeczywiste dane zwrócone przez blok — np. {"campaign_name": "Summer Sale", "budget": 5000}
Dane wykonaniaSzczegóły techniczne przebiegu bloku
BłądKomunikat o błędzie jeśli blok się nie powiódł

Jak używać Inspektora workflow do weryfikacji zmiennych:

  1. Kliknij „Uruchom raz" w górnej belce edytora.
  2. Kliknij blok, który cię interesuje.
  3. 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.
  4. 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]