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]