Preskočiť na obsah
API dokumentácia

Referencia automatizácií

Všetko na tejto stránke sa generuje z kódu validátora Poštárne a testy overujú, že každý príklad validátor prijme, že bez povinného poľa automatizácia nejde zapnúť a že výčtové hodnoty zodpovedajú validátoru. Rovnaké schémy sú v OpenAPI ako AutomationNode_<typ>, ConditionRule_<typ>, SegmentRule_<typ> a TimeSpec.

Technické popisy polí sú po anglicky, rovnako ako v OpenAPI.

Uzly

Každý uzol: {"id": "<kľúč>", "type": "<typ>", "name"?, "note"?, "position"?, "config": {...}}. Pole so stĺpcom „Povinné“ = áno musí byť vyplnené, inak automatizácia nejde zapnúť ani otestovať (graf sa ale uloží, pozrite validáciu). Ďalšie polia bývajú povinné len pri niektorých hodnotách (napríklad listId pri udalosti list_added); popis to uvádza.

Spúšťače

trigger_now

Starts once, right at the activation, with the contacts of the shop matching the filter (SmartEmailing "Hned teď").

Výstupy: next · SmartEmailing: run

PoleTypPovinnéPopis
filterConditionGroup or nullnieWho may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop.
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-now-1",
  "type": "trigger_now",
  "config": {
    "reentry": "once"
  }
}

trigger_scheduled

Starts once at a local date and time (SmartEmailing "V plánovaný čas").

Výstupy: next · Povinné na zapnutie: at · SmartEmailing: scheduled-time

PoleTypPovinnéPopis
atstringánoYYYY-MM-DDTHH:MM, local time of the company. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$
filterConditionGroup or nullnieWho may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop.
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-scheduled-1",
  "type": "trigger_scheduled",
  "config": {
    "at": "2026-12-01T09:00",
    "reentry": "once"
  }
}

trigger_repeat

Starts repeatedly every every from startAt (default the activation) until stopAt, with the contacts matching the filter (SmartEmailing "Opakovat").

Výstupy: next · Povinné na zapnutie: every · SmartEmailing: repeat

PoleTypPovinnéPopis
everyobjectánoInterval, at least 15 minutes, at most 10 years.
startAtstringnieYYYY-MM-DDTHH:MM (local). pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$
stopAtstringnieYYYY-MM-DDTHH:MM (local), after startAt. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$
filterConditionGroup or nullnieWho may enter: a condition tree (segment rules and automation conditions except the run only ones). null or left out = every mailable contact of the shop.
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-repeat-1",
  "type": "trigger_repeat",
  "config": {
    "every": {
      "value": 1,
      "unit": "days"
    },
    "startAt": "2026-11-01T08:00",
    "reentry": "parallel",
    "filter": {
      "type": "group",
      "match": "all",
      "rules": [
        {
          "type": "contact_anniversary",
          "field": "nameDay",
          "relation": "now"
        }
      ]
    }
  }
}

trigger_event

Starts when an event happens to a contact (SmartEmailing "Při události"). Only events after the activation count. Event specific settings: cart_updated: The contact's cart changed (POST /contact-events type cart). shopId narrows the shop. contact_created: A new contact of the automation's shop. order_created: A new order (shopId: shop of the order, default the automation's shop). order_changed: An order changed state (state narrows to one state). list_added: The contact was added to listId. contact_updated: A profile field changed (fieldFilter narrows to one field and its values before / after). action_failed: An action of an automation failed (failureType, failureNode narrow it). list_status_changed: The contact's state in listId changed to status. email_sent: An e-mail of emailNode (a send_email node of ANOTHER automation) was sent. page_visit: A web tracking visit (POST /contact-events type visit): url, urlOperator, visitType. link_clicked: The contact clicked a link (link, compareParams) in an e-mail of emailNode (another automation). engagement_changed: The contact's engagement level changed. custom: A custom event named customEvent (POST /contact-events type custom, or a fire_event node of another automation). form_submitted: A form was submitted and confirmed (formId narrows to one form). blacklisted: The contact was blacklisted. order_completed: An order was completed (paid, shipped or delivered). subscribed: The contact subscribed (sources narrows the source; imports only when listed). manual: Contacts added by hand: POST /automations/{id}/contacts.

Výstupy: next · Povinné na zapnutie: event · SmartEmailing: on-event

PoleTypPovinnéPopis
eventone of: cart_updated, contact_created, order_created, order_changed, list_added, contact_updated, score_changed, action_failed, list_status_changed, automation_saved, email_sent, sms_sent, page_visit, motionlab_rendered, link_clicked, engagement_changed, custom, form_submitted, blacklisted, order_completed, subscribed, manualánoThe event. Not available yet: score_changed (scoring), automation_saved (unverified), sms_sent (sms), motionlab_rendered (motionlab).
shopIdstringnieOrders, carts, visits: shop (default the automation's).
listIdstringnielist_added, list_status_changed: list id.
sourcesarray of one of: erp_order, signup_form, import, api, manual, shoptet, smartemailingniesubscribed: sources (default erp_order, signup_form, api, manual). min 1 items
stateone of: new, unpaid, paid, processing, shipped, pickup, delivered, cancelled, returned, othernieorder_changed: the new order state.
statusone of: confirmed, unsubscribed, removednielist_status_changed: the new state.
fieldFilterobjectniecontact_updated: one field and optionally its values before and after. Operators by field kind: text: any, eq, empty, filled, contains, starts; date: any, on_day, newer, until, older, from, filled, empty; number: any, gt, gte, lt, lte, filled, empty; choice: any, eq_option, filled, empty; multi: any, has_option, filled, empty; checkbox: any, checked, unchecked. Fields: affiliateId, language, firstName, mobile, city, birthday, vocativeFirstName, salutation, salutationFormal, vocativeLastName, gender, note, lastName, postalCode, company, nameDay, phone, titleBefore, titleAfter, street, country or cf:<id>.
failureTypeone of: customizationDataboxTerminate, customizationDataboxOutOfPromocodes, customizationSyntaxError, contactSetFieldFail, smsRateLimitReached, sklikError, othernieaction_failed: type.
failureNodeobjectnieaction_failed: the node (automationId null = this graph).
emailNodeobjectnieAn e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key.
linkstringnielink_clicked: the URL (at most 2 000); empty = any link.
compareParamsbooleannielink_clicked: compare query parameters, default true.
urlstringniepage_visit: URL (at most 2 000).
urlOperatorone of: eq, startsniepage_visit: eq (default) or starts.
visitTypeone of: home, article, cart, product, category, search, order_done, otherniepage_visit: type of page.
customEventstringniecustom: event name, a-z, 0-9 and - (1 to 50), not starting with se-. pattern ^[a-z0-9-]{1,50}$
formIdstringnieform_submitted: form id (empty = any form).
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-event-1",
  "type": "trigger_event",
  "config": {
    "event": "cart_updated",
    "shopId": "1",
    "reentry": "restart"
  }
}

trigger_date

Starts once a day at at for contacts whose date is today: name day, birthday, a date custom field (shifted by offsetDays), fixed holidays (every contact of the shop), or the first completed order exactly days ago.

Výstupy: next · Povinné na zapnutie: kind, at

PoleTypPovinnéPopis
kindone of: name_day, birthday, first_order, custom_date, holidayánoKind of date.
daysintegerniefirst_order: days after the first order, 1 to 3 650. min 1, max 3650
fieldstringniecustom_date: cf:<id> of a date custom field.
datesarray of stringnieholiday: days of the year MM-DD (at most 366, unique). min 1 items, max 366 items
offsetDaysintegerniename_day, birthday, custom_date: shift -365 to 365 (e.g. -3 = three days before). min -365, max 365
atstringánoHH:MM local time of the daily pass. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-date-1",
  "type": "trigger_date",
  "config": {
    "kind": "name_day",
    "at": "08:00",
    "reentry": "parallel"
  }
}

trigger_reorder

Starts once a day at at for customers whose last completed order is older than their usual interval between orders ("buy again"): the average gap of their order days, defaultDays with one order day, clamped to minDays..maxDays, plus graceDays.

Výstupy: next · Povinné na zapnutie: at

PoleTypPovinnéPopis
atstringánoHH:MM. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
defaultDaysintegernie1 to 365, default 30. default 30, min 1, max 365
minDaysintegernie1 to 365, default 14. default 14, min 1, max 365
maxDaysintegernie1 to 365 and >= minDays, default 120. default 120, min 1, max 365
graceDaysintegernie0 to 365, default 0. default 0, min 0, max 365
reentryone of: parallel, restart, skip, oncenieWhat happens when a contact meets the trigger again: parallel (one more run, at most the company's limit of parallel runs; default for new triggers), restart (the new entry ends the running one), skip (nobody enters while their run is active; default of triggers saved without the setting), once (one run per contact for ever).
json
{
  "id": "trigger-reorder-1",
  "type": "trigger_reorder",
  "config": {
    "at": "10:00",
    "defaultDays": 30,
    "minDays": 14,
    "maxDays": 120,
    "graceDays": 3,
    "reentry": "parallel"
  }
}

Operátory

condition

Splits the run: output yes when the definition holds, else no. With waitUntilMet the contact waits until it holds (then yes) or the time runs out (then no); checked every 20 minutes to once a day.

Výstupy: yes, no · Povinné na zapnutie: definition · SmartEmailing: condition

PoleTypPovinnéPopis
definitionConditionGroupáno
waitUntilMetobjectnieWait for the definition up to this long (15 minutes to 10 years).
waitUpToobjectnieOlder form of waitUntilMet (hours or days, at most 30 days).
json
{
  "id": "condition-1",
  "type": "condition",
  "config": {
    "definition": {
      "type": "group",
      "match": "all",
      "rules": [
        {
          "type": "email_activity",
          "operator": "opened",
          "nodeId": null
        }
      ]
    }
  }
}

wait

Waits. mode time: until the time spec (relative to the arrival at the node, or to the entry with countFrom scenario); preferred: until the contact's usual reading time (most frequent quarter hour of opens, else no wait); spread: releases the contacts evenly over the period; duration: value units; time_of_day: the next HH:MM; weekday: the next listed weekday at time; date: a local date and time. At most 10 years.

Výstupy: next · Povinné na zapnutie: mode · SmartEmailing: wait

PoleTypPovinnéPopis
modeone of: time, preferred, spread, duration, time_of_day, weekday, dateánoMode.
specTimeSpecnie
countFromone of: node, scenarionietime: node (default) or scenario.
spreadobjectniespread: period over which contacts are released.
valueintegernieduration: 1 to 100 000. min 1, max 100000
unitone of: minutes, hours, days, weeks, months, yearsnieduration: unit.
timestringnietime_of_day, weekday: HH:MM. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
weekdaysarray of integernieweekday: 1 (Monday) to 7, unique. min 1 items
datestringniedate: YYYY-MM-DDTHH:MM local. pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$
json
{
  "id": "wait-1",
  "type": "wait",
  "config": {
    "mode": "duration",
    "value": 2,
    "unit": "days"
  }
}

ab_test

Splits contacts randomly (stable per run) into 2 to 10 variants; outputs v1..vN.

Výstupy: v1, ..., v10 · Povinné na zapnutie: variants · SmartEmailing: ab

PoleTypPovinnéPopis
variantsarray of objectáno2 to 10 variants {key: "v1".."vN" in order, share 1..99}, shares sum to 100. min 2 items, max 10 items
json
{
  "id": "ab-test-1",
  "type": "ab_test",
  "config": {
    "variants": [
      {
        "key": "v1",
        "share": 50
      },
      {
        "key": "v2",
        "share": 50
      }
    ]
  }
}

holding

Storage (Odkladiště): contacts wait here until an edge out of the node is added (then they continue) or 90 days pass.

Výstupy: next · SmartEmailing: storage

Bez nastavení.

json
{
  "id": "holding-1",
  "type": "holding",
  "config": {}
}

goal

Goal of the scenario: before every step the goals are checked; a contact who meets one leaves the scenario wherever it is. No edges in or out.

Výstupy: - · Povinné na zapnutie: definition

PoleTypPovinnéPopis
definitionConditionGroupáno
json
{
  "id": "goal-1",
  "type": "goal",
  "config": {
    "definition": {
      "type": "group",
      "match": "all",
      "rules": [
        {
          "type": "ordered_since_entry",
          "operator": "yes",
          "shopId": null
        }
      ]
    }
  }
}

Akcie

send_email

Sends an e-mail from a template (once per node and contact within the company's window). Only to mailable contacts, rechecked right before sending.

Výstupy: next · Povinné na zapnutie: templateId · SmartEmailing: send-email

PoleTypPovinnéPopis
templateIdstringánoTemplate with content (GET /templates). Required.
templateRefstringnieInformation only (definition files).
subjectstringnieSubject, at most 200 characters; default the template's.
preheaderstringniePreheader, at most 300; default the template's.
senderIdstringnieSender of the automation's shop (GET /senders); default the shop's default sender. Must be verified to activate.
senderNamestringnieSender name, at most 100.
replyTostringnieReply-To e-mail address.
trackOpensbooleannieDefault true.
trackClicksbooleannieDefault true.
trackingParamsobjectnieUTM parameters added to links.
headersobjectnieOwn e-mail headers.
unsubscribePageIdstringnieOwn unsubscribe page of this node (GET /unsubscribe-pages).
controlAddressstringnieSend every e-mail of this node only to this test address of the company (GET /test-recipients) instead of the contact; for checking a live scenario.
json
{
  "id": "send-email-1",
  "type": "send_email",
  "config": {
    "templateId": "301",
    "subject": "Zapomněli jste něco v košíku",
    "trackOpens": true,
    "trackClicks": true
  }
}

list_change

Sets the contact's state in manual lists (confirmed adds, unsubscribed and removed take out). Lists bound to an e-shop cannot be changed.

Výstupy: next · Povinné na zapnutie: status, listIds · SmartEmailing: add-to-list

PoleTypPovinnéPopis
statusone of: confirmed, unsubscribed, removedánoNew state.
actionone of: add, removenieOlder form: add = confirmed, remove = removed.
listIdsarray of stringáno1 to 20 manual or form list ids, unique. min 1 items, max 20 items
listRefsarray of stringnieInformation only.
json
{
  "id": "list-change-1",
  "type": "list_change",
  "config": {
    "status": "confirmed",
    "listIds": [
      "101"
    ]
  }
}

webhook

Calls a URL (queued, retried 5 times 5 minutes apart on a non-2xx answer, then an action failure "other"). Merge tags work in url (percent-encoded), body (JSON-escaped when the Content-Type is JSON; POST defaults to application/json) and header values. Only public addresses, no redirects.

Výstupy: next · Povinné na zapnutie: url · SmartEmailing: send-webhook

PoleTypPovinnéPopis
urlstringánohttp(s) URL or one starting with a merge tag, at most 2 000.
methodone of: GET, POSTnieDefault POST. default POST
bodystringniePOST body, at most 10 000 characters (merge tags allowed).
headersarray of objectnieAt most 20 {name, value}. max 20 items
basicAuthobjectnieHTTP Basic of the call. password is write only: answers show passwordSet.
json
{
  "id": "webhook-1",
  "type": "webhook",
  "config": {
    "url": "https://crm.example.cz/hooks/postarna",
    "method": "POST",
    "body": "{\"email\": \"{{df_emailaddress}}\", \"event\": \"cart\"}",
    "headers": [
      {
        "name": "X-Source",
        "value": "postarna"
      }
    ]
  }
}

set_field

Sets or clears a contact field. valueKind fixed (a value of the field's type), relative (dates: a time spec from now) or template (text fields: merge tags).

Výstupy: next · Povinné na zapnutie: field, action · SmartEmailing: set-field

PoleTypPovinnéPopis
fieldstringánoSystem field (firstName, lastName, titleBefore, titleAfter, company, companyId, phone, mobile, street, city, postalCode, note, affiliateId, salutation, salutationFormal, vocativeFirstName, vocativeLastName, gender, language, country, birthday, nameDay) or cf:<id>.
actionone of: set, clearánoAction.
valueKindone of: fixed, relative, templatenieDefault fixed. default fixed
valueanynieset only: by field kind: text (at most 200), textarea (1 000), gender f / m, language xx, country XX, date YYYY-MM-DD, name day MM-DD, number as string, checkbox true / false, select / radio an option, multi_checkbox a list of options.
json
{
  "id": "set-field-1",
  "type": "set_field",
  "config": {
    "field": "cf:62",
    "action": "set",
    "valueKind": "fixed",
    "value": "VIP"
  }
}

reset

Ends the contact's other active runs of this scenario that wait in nodes after this one (SmartEmailing Reset).

Výstupy: next · SmartEmailing: reset

Bez nastavení.

json
{
  "id": "reset-1",
  "type": "reset",
  "config": {}
}

fire_event

Fires a custom event of the contact that event triggers (custom) of OTHER automations listen to.

Výstupy: next · Povinné na zapnutie: name · SmartEmailing: fire-event

PoleTypPovinnéPopis
namestringánoa-z, 0-9 and - (1 to 50), not starting with se-. pattern ^[a-z0-9-]{1,50}$
dataobjectnieEvent data, at most 2 000 characters as JSON.
json
{
  "id": "fire-event-1",
  "type": "fire_event",
  "config": {
    "name": "vip-reached",
    "data": {
      "level": "gold"
    }
  }
}

notify

Notifies the team in the app (notification centre).

Výstupy: next · Povinné na zapnutie: message

PoleTypPovinnéPopis
messagestringáno1 to 500 characters.
importantbooleannieMark as important, default false.
json
{
  "id": "notify-1",
  "type": "notify",
  "config": {
    "message": "Zákazník dosáhl VIP úrovně",
    "important": false
  }
}

goto

Jumps to another node of this graph (not a trigger or goal; the jump counts as an edge for cycles, so only forward).

Výstupy: - · Povinné na zapnutie: target

PoleTypPovinnéPopis
targetstringánoKey of the target node.

end

Ends the run (the contact leaves).

Výstupy: -

Bez nastavení.

json
{
  "id": "end-1",
  "type": "end",
  "config": {}
}

Zatiaľ nedostupné

TypChýba
send_smssms
send_viberviber
fb_audiencemeta
sklik_retargetingsklik
motionlab_adinamotionlab
whatsappwhatsapp

Podmienky automatizácií

Pravidlá uzla condition, cieľa a filtru spúšťačov (spolu s pravidlami segmentov nižšie). Každé smie mať negate.

ab_test_significant

The difference between nodes A and B is significant (95 %, two-proportion z-test).

PoleTypPovinnéPopis
typeab_test_significantáno
metricone of: open_rate, click_rateánoMetric.
nodeAstringánosend_email node key.
nodeBstringánoAnother send_email node key.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").

ab_test_winner

Node A beats node B (two send_email nodes of this graph) in open or click rate.

PoleTypPovinnéPopis
typeab_test_winneráno
metricone of: open_rate, click_rateánoMetric.
nodeAstringánosend_email node key.
nodeBstringánoAnother send_email node key.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").

cart_items

Old name of cart_items_count (still accepted).

PoleTypPovinnéPopis
typecart_itemsáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number.
shopIdstring or nullnie
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "cart_items",
  "operator": "gt",
  "value": 0
}

cart_items_count

Items in the contact's cart (a cart not changed since an order counts as empty).

PoleTypPovinnéPopis
typecart_items_countáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number.
shopIdstring or nullnieShop, null = any cart.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "cart_items_count",
  "operator": "gt",
  "value": 0,
  "shopId": "1"
}

contact_anniversary

Today is (or is offset from) the contact's birthday, name day or a date custom field. nameDay: the contact's own name day, else the calendar of the first name (calendar auto = Slovak for language sk, else by the shop's language).

PoleTypPovinnéPopis
typecontact_anniversaryáno
fieldstringánobirthday, nameDay or cf:<id> of a date field.
calendarone of: auto, cz, sknienameDay only.
relationone of: now, offsetnienow = today; offset = shifted. default now
offsetobjectnieWith relation offset, at least 15 minutes.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "contact_anniversary",
  "field": "nameDay",
  "calendar": "auto",
  "relation": "now"
}

contact_field

A contact field (system field or cf:<id>) compared with a value. Text: eq, filled, empty, gt, gte, lt, lte, starts, contains; dates: date_eq, date_filled, date_empty, date_after, date_from, date_before, date_until with a time spec value; numbers: eq, gt, gte, lt, lte, filled, empty; gender: eq (f / m); checkbox: checked, unchecked; choice: eq_option; multi: has_option.

PoleTypPovinnéPopis
typecontact_fieldáno
fieldstringánoSystem field (affiliateId, domain, email, language, firstName, mobile, city, birthday, vocativeFirstName, salutation, salutationFormal, vocativeLastName, gender, note, lastName, postalCode, company, nameDay, phone, titleBefore, titleAfter, street, createdAt, country, companyId) or cf:<id>.
operatorstringánoOperator for the field kind.
valueanynieText, number, f / m, an option, or a time spec for dates.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "contact_field",
  "field": "city",
  "operator": "eq",
  "value": "Brno"
}

contact_in_any_list

Contact is in any list in a state.

PoleTypPovinnéPopis
typecontact_in_any_listáno
stateone of: confirmed, unsubscribednieState, default confirmed. default confirmed
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
json
{
  "type": "contact_in_any_list"
}

contact_in_automation

Contact is in an automation (another active run of it). automationId null = this automation (not allowed in a trigger filter).

PoleTypPovinnéPopis
typecontact_in_automationáno
automationIdstring or nullnie
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "contact_in_automation",
  "automationId": "201"
}

contact_in_list

Contact is in a list in a state.

PoleTypPovinnéPopis
typecontact_in_listáno
listIdstringánoList id.
stateone of: confirmed, unsubscribednieState, default confirmed. default confirmed
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
json
{
  "type": "contact_in_list",
  "listId": "101",
  "state": "confirmed"
}

contact_in_list_label

Contact is in a list with this label.

PoleTypPovinnéPopis
typecontact_in_list_labeláno
labelstringánoLabel, at most 40.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
json
{
  "type": "contact_in_list_label",
  "label": "newsletter"
}

contact_origin

Contact came from a source.

PoleTypPovinnéPopis
typecontact_origináno
originone of: erp_order, signup_form, import, api, manual, shoptet, smartemailingánoSource.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "contact_origin",
  "origin": "signup_form"
}

contact_purpose

Contact has a valid consent with a purpose.

PoleTypPovinnéPopis
typecontact_purposeáno
purposeIdstringánoPurpose id.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
json
{
  "type": "contact_purpose",
  "purposeId": "51"
}

day_of_month

Today is one of these days of the month.

PoleTypPovinnéPopis
typeday_of_montháno
daysarray of integeránoDays 1 to 31. min 1 items
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "day_of_month",
  "days": [
    1,
    15
  ]
}

day_of_week

Today is one of these weekdays (1 = Monday).

PoleTypPovinnéPopis
typeday_of_weekáno
weekdaysarray of integeráno1 to 7. min 1 items
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "day_of_week",
  "weekdays": [
    6,
    7
  ]
}

email_activity

The contact opened / clicked an e-mail of this run (nodeId null = any). Run only. (not allowed in trigger filters (needs a run))

PoleTypPovinnéPopis
typeemail_activityáno
operatorone of: opened, not_opened, clicked, not_clickedánoOperator.
nodeIdstring or nullniesend_email node key.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "email_activity",
  "operator": "opened",
  "nodeId": null
}

engagement_score

Engagement level of the contact.

PoleTypPovinnéPopis
typeengagement_scoreáno
levelsarray of one of: N, A, B, C, D, EánoLevels. min 1 items
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "engagement_score",
  "levels": [
    "A",
    "B"
  ]
}

event_attribute

A value of the data of the custom event that started the run (data of POST /contact-events type custom, or of a fire_event node of another automation). Other triggers have no such data. Run only. (not allowed in trigger filters (needs a run))

PoleTypPovinnéPopis
typeevent_attributeáno
attributestringánoName.
operatorone of: eq, contains, starts, gt, gte, lt, lte, filled, emptyánoOperator.
valuestringnieText.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "event_attribute",
  "attribute": "plan",
  "operator": "eq",
  "value": "gold"
}

feed_item_count

Number of items of a feed.

PoleTypPovinnéPopis
typefeed_item_countáno
feedIdstringánoFeed id.
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "feed_item_count",
  "feedId": "71",
  "operator": "gt",
  "value": 0
}

hour_of_day

The current hour (local) is one of these.

PoleTypPovinnéPopis
typehour_of_dayáno
hoursarray of integeráno0 to 23. min 1 items
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "hour_of_day",
  "hours": [
    8,
    9,
    10
  ]
}

opened_email

The contact opened an e-mail of a node.

PoleTypPovinnéPopis
typeopened_emailáno
emailNodeobjectánoAn e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key.
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "opened_email",
  "emailNode": {
    "automationId": "201",
    "nodeKey": "email-1"
  }
}

opened_emails_count

Number of e-mails the contact opened.

PoleTypPovinnéPopis
typeopened_emails_countáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number.
kindsarray of one of: automation, campaign, transactionalnieKinds.
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "opened_emails_count",
  "operator": "eq",
  "value": 0
}

ordered_attribute

A value of an order: code, state, status, sourceStatus, currency, companyId, totalWithVat, totalWithoutVat, or any delivery data field.

PoleTypPovinnéPopis
typeordered_attributeáno
attributestringánoAttribute name: letters, digits and _ . : - (at most 60).
attributeTypeone of: text, date, numbernieHow to compare. default text
operatorone of: eq, filled, gt, gte, lt, lte, startsánoOperator.
valueanynieText, a number, or a time spec for attributeType date.
limitToTriggerEventbooleannieOnly the order of the run's own trigger event (order triggers).
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "ordered_attribute",
  "attribute": "currency",
  "operator": "eq",
  "value": "CZK"
}

ordered_product

The contact ordered a product by id (product code) or name.

PoleTypPovinnéPopis
typeordered_productáno
productFieldone of: id, namenieField, default id. default id
operatorone of: eq, starts, containsánoOperator.
valuestringánoText.
limitToTriggerEventbooleannieOnly the order of the run's own trigger event (order triggers).
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "ordered_product",
  "productField": "id",
  "operator": "eq",
  "value": "SKU-001"
}

ordered_product_by_attribute

The contact ordered a product with a feed attribute.

PoleTypPovinnéPopis
typeordered_product_by_attributeáno
attributestringánoAttribute name: letters, digits and _ . : - (at most 60).
attributeTypeone of: text, date, numbernieHow to compare. default text
operatorone of: eq, filled, gt, gte, lt, lte, startsánoOperator.
valueanynieText, a number, or a time spec for attributeType date.
limitToTriggerEventbooleannieOnly the order of the run's own trigger event (order triggers).
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "ordered_product_by_attribute",
  "attribute": "brand",
  "operator": "eq",
  "value": "Example"
}

ordered_since_entry

The contact ordered since the run entered. Run only. (not allowed in trigger filters (needs a run))

PoleTypPovinnéPopis
typeordered_since_entryáno
operatorone of: yes, noánoOperator.
shopIdstring or nullnie
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "ordered_since_entry",
  "operator": "yes",
  "shopId": null
}

orders_count

Number of orders.

PoleTypPovinnéPopis
typeorders_countáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number.
paidone of: any, yes, noniePaid filter, default any. default any
statesarray of one of: received, processing, shipped, cancelled, unknownnieOrder states (SmartEmailing names).
shopIdstring or nullnie
limitToTriggerEventbooleannieOnly the order of the run's own trigger event (order triggers).
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "orders_count",
  "operator": "eq",
  "value": 1,
  "paid": "any"
}

orders_total_value

Sum (or avg, min, max) of the contact's orders with VAT in one currency.

PoleTypPovinnéPopis
typeorders_total_valueáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoNumber.
aggregateone of: sum, avg, min, maxnieAggregate, default sum. default sum
currencystringánoCurrency of a shop of the company (CZK, EUR).
shopIdstring or nullnie
limitToTriggerEventbooleannieOnly the order of the run's own trigger event (order triggers).
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "orders_total_value",
  "operator": "gte",
  "value": "3000",
  "currency": "CZK"
}

passed_node

This run went (or did not go) through a node. Run only. (not allowed in trigger filters (needs a run))

PoleTypPovinnéPopis
typepassed_nodeáno
operatorone of: passed, not_passedánoOperator.
nodeIdstringánoNode key.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").

promo_code

The contact got (assigned) or used a coupon of a stack.

PoleTypPovinnéPopis
typepromo_codeáno
stateone of: assigned, usedánoState.
stackIdstringánoCoupon stack id.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "promo_code",
  "state": "used",
  "stackId": "81"
}

script

A Twig script; true when it prints {{ result.returnTrue() }}. Not allowed in trigger filters. (not allowed in trigger filters (needs a run))

PoleTypPovinnéPopis
typescriptáno
scriptstringánoTwig source, at most 20 000 characters.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "script",
  "script": "{% if contact.city == 'Brno' %}{{ result.returnTrue() }}{% endif %}"
}

sent_email

An e-mail was sent to the contact: of one node (mode node) or of an automation (mode automation, automationId null = any).

PoleTypPovinnéPopis
typesent_emailáno
modeone of: node, automationánoMode.
emailNodeobjectnieAn e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key.
automationIdstring or nullnie
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "sent_email",
  "mode": "node",
  "emailNode": {
    "automationId": "201",
    "nodeKey": "email-1"
  }
}

sent_emails_count

Number of e-mails sent to the contact.

PoleTypPovinnéPopis
typesent_emails_countáno
operatorone of: eq, lt, lte, gt, gteánoOperator.
valueanyánoWhole number 0 to 10 000 000.
kindsarray of one of: automation, campaign, transactionalnieKinds, default automation and campaign.
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "sent_emails_count",
  "operator": "gte",
  "value": 3
}

tracking_url_clicked

The contact clicked a link in an e-mail of a node.

PoleTypPovinnéPopis
typetracking_url_clickedáno
emailNodeobjectánoAn e-mail node: automationId null (or left out) = a send_email node of this graph, else the id of another automation of the company and its node key.
linkstringánoURL (at most 2 000).
compareParamsbooleannieCompare query parameters too, default true. default true
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "tracking_url_clicked",
  "emailNode": {
    "automationId": "201",
    "nodeKey": "email-1"
  },
  "link": "https://www.example.cz/akce"
}

tracking_url_clicked_any

The contact clicked any link of a node (emailNode null = any e-mail node of this automation).

PoleTypPovinnéPopis
typetracking_url_clicked_anyáno
emailNodeobject or nullnie
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "tracking_url_clicked_any",
  "emailNode": null
}

visited_attribute

A web tracking visit with an attribute.

PoleTypPovinnéPopis
typevisited_attributeáno
urlstringnieURL.
urlOperatorone of: eq, startsnieDefault eq. default eq
visitTypeone of: home, article, cart, product, category, search, order_done, othernieVisit type.
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
attributestringánoAttribute name: letters, digits and _ . : - (at most 60).
attributeTypeone of: text, date, numbernieHow to compare. default text
valueanynieText, a number, or a time spec for attributeType date.
operatorone of: starts, gt, gte, lt, lte, eqánoOperator.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "visited_attribute",
  "attribute": "category",
  "operator": "eq",
  "value": "Káva"
}

visited_url

A web tracking visit of a URL.

PoleTypPovinnéPopis
typevisited_urláno
urlstringnieURL.
urlOperatorone of: eq, starts, containsnieDefault eq. default eq
visitTypeone of: home, article, cart, product, category, search, order_done, othernieVisit type.
periodobjectnieTime window of the rule: from and to are time specs relative to now (null = unbounded).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "visited_url",
  "url": "https://www.example.cz/kosik",
  "urlOperator": "starts"
}

Zatiaľ nedostupné podmienky

TypChýba
contact_preferencepreferences
contact_viber_stateviber
delivered_viberviber
scorescoring
seen_viberviber
sent_smssms

Pravidlá segmentov

Pravidlá segmentov (a podmienok automatizácií). Hodnoty sú reťazce.

campaign

Delivered / opened / clicked a campaign (not_* also matches contacts that never got it); linkUrl narrows clicks to one link.

PoleTypPovinnéPopis
typecampaignáno
operatorone of: received, not_received, opened, not_opened, clicked, not_clickedánoOperator.
campaignIdstring or nullánoCampaign id; null only with received = an e-mail of any campaign.
linkUrlstringnieclicked / not_clicked only.
daysstring or nullnieLast N days or null.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "campaign",
  "operator": "opened",
  "campaignId": "121",
  "days": null
}

custom_field

A custom field. kind must match the field type: text and textarea -> text, number -> number, date -> date, checkbox -> bool, select and radio -> choice, multi_checkbox -> multi_choice (400 definition.<path>.kind otherwise). Operators: text like the text fields, number gte/lte/eq/is_empty/is_not_empty, date like the date fields, bool is_true/is_false, choice is/is_not, multi_choice contains_any/contains_all/not_contains_any.

PoleTypPovinnéPopis
typecustom_fieldáno
fieldIdstringánoCustom field id (without cf:).
kindone of: bool, choice, date, multi_choice, number, textánoKind of the field type (see above).
operatorstringánoOperator for the kind.
valuestringnieValue (string).
valuesarray of stringnieOptions (multi_choice).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "custom_field",
  "fieldId": "62",
  "kind": "text",
  "operator": "equals",
  "value": "VIP"
}

engagement

Engagement level A (best) to E, N = new.

PoleTypPovinnéPopis
typeengagementáno
operatorone of: in, not_inánoOperator.
valuesarray of one of: A, B, C, D, E, NánoLevels. min 1 items
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "engagement",
  "operator": "in",
  "values": [
    "A",
    "B"
  ]
}

field

A contact field compared with a value. Text operators ignore case and diacritics; date operators count calendar days of the company. Text fields: email, firstName, lastName, city, company, companyId, phone, mobile, street, postalCode, note, country. Enum fields: status (pending/subscribed/unsubscribed/bounced/complained/customer), gender (f/m), language (cs/sk), source (erp_order/signup_form/import/api/manual/shoptet/smartemailing), consentBasis (soft_opt_in_customer/double_opt_in/imported/none). Date fields: createdAt, lastOpenAt, lastClickAt, lastSentAt, statusAt, consentAt.

PoleTypPovinnéPopis
typefieldáno
fieldone of: email, firstName, lastName, city, company, companyId, phone, mobile, street, postalCode, note, country, status, gender, language, source, consentBasis, createdAt, lastOpenAt, lastClickAt, lastSentAt, statusAt, consentAtánoContact field.
operatorone of: contains, not_contains, equals, not_equals, starts_with, ends_with, is_empty, is_not_empty, is, is_not, in_last_days, not_in_last_days, before, after, until, sinceánoText: contains, not_contains, equals, not_equals, starts_with, ends_with, is_empty, is_not_empty; enum: is, is_not; date: in_last_days, not_in_last_days, before, after, until, since, is_empty, is_not_empty.
valuestringánoAlways a string: the text, the enum value, a number of days ("30") for in_last_days / not_in_last_days, or a date YYYY-MM-DD for before / after; "" for is_empty / is_not_empty.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "field",
  "field": "lastOpenAt",
  "operator": "in_last_days",
  "value": "60"
}

last_order

The last completed order: within / older than N days, or before / after a date.

PoleTypPovinnéPopis
typelast_orderáno
operatorone of: in_last_days, older_than_days, before, afteránoOperator.
valuestringánoDays "1" to "3650" or a date YYYY-MM-DD.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
shopIdstring or nullnieOnly orders of this shop (null = any).
currencystring or nullnieOnly orders in this currency (CZK or EUR; it must be the currency of shopId when both are set).
json
{
  "type": "last_order",
  "operator": "older_than_days",
  "value": "180"
}

list

Membership in a list. in / not_in = confirmed or unconfirmed member; status_is compares the exact state; added_before / added_after compare the day the contact was added; longer_than_days / shorter_than_days: in the list longer / shorter than N days.

PoleTypPovinnéPopis
typelistáno
operatorone of: in, not_in, added_before, added_after, status_is, longer_than_days, shorter_than_daysánoOperator.
listIdstringánoList id.
valuestringniestatus_is: confirmed, unconfirmed, unsubscribed, removed; added_: YYYY-MM-DD; _than_days: days "1" to "3650".
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "list",
  "operator": "in",
  "listId": "101"
}

list_label

Confirmed or unconfirmed member of any list with this label.

PoleTypPovinnéPopis
typelist_labeláno
operatorone of: inánoOperator.
labelstringánoLabel, 1 to 40.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "list_label",
  "operator": "in",
  "label": "vip"
}

opens

Number of the contact's e-mails (campaigns and automations) with an open.

PoleTypPovinnéPopis
typeopensáno
operatorone of: eq, gt, lt, gte, lteánoOperator.
valuestringánoCount "0" to "100000".
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "opens",
  "operator": "gte",
  "value": "3",
  "days": "90"
}

order_attribute

A completed order has an item whose product code, category, brand or another item attribute (as stored on the order item) equals the value; with scope order an attribute of the order itself.

PoleTypPovinnéPopis
typeorder_attributeáno
operatorone of: isánoOperator.
scopeone of: item, ordernieitem (default) or order. default item
attributestringánoitem: productCode, category, brand or any attribute name; order: status, companyId, deliveryCity, deliveryCountry, deliveryZip, deliveryCompany.
valuestringánoExact value, at most 200 characters.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
shopIdstring or nullnieOnly orders of this shop (null = any).
currencystring or nullnieOnly orders in this currency (CZK or EUR; it must be the currency of shopId when both are set).
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
json
{
  "type": "order_attribute",
  "operator": "is",
  "attribute": "brand",
  "value": "Example"
}

order_count

Number of completed orders.

PoleTypPovinnéPopis
typeorder_countáno
operatorone of: gte, lte, eqánoOperator.
valuestringánoCount "0" to "100000".
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
shopIdstring or nullnieOnly orders of this shop (null = any).
currencystring or nullnieOnly orders in this currency (CZK or EUR; it must be the currency of shopId when both are set).
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
json
{
  "type": "order_count",
  "operator": "gte",
  "value": "2",
  "shopId": null,
  "currency": null,
  "days": "365"
}

order_value

Sum of completed orders with VAT in one currency (CZK and EUR are never added up).

PoleTypPovinnéPopis
typeorder_valueáno
operatorone of: gte, lteánoOperator.
amountstringánoAmount, at most 2 decimals, e.g. "1500.50".
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
shopIdstring or nullnieOnly orders of this shop (null = any).
currencystring or nullánoOnly orders in this currency (CZK or EUR; it must be the currency of shopId when both are set).
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
json
{
  "type": "order_value",
  "operator": "gte",
  "amount": "2000",
  "currency": "CZK",
  "shopId": "1",
  "days": "365"
}

product_bought

A completed order has an item whose name contains the text or whose product code equals it (case and diacritics ignored).

PoleTypPovinnéPopis
typeproduct_boughtáno
operatorone of: isánoOperator.
valuestringánoPart of the name or the code, at most 200.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
shopIdstring or nullnieOnly orders of this shop (null = any).
currencystring or nullnieOnly orders in this currency (CZK or EUR; it must be the currency of shopId when both are set).
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
json
{
  "type": "product_bought",
  "operator": "is",
  "value": "Espresso",
  "days": "30"
}

purpose

A valid (not withdrawn, within its validity) consent with a purpose of processing.

PoleTypPovinnéPopis
typepurposeáno
operatorone of: has, not_hasánoOperator.
purposeIdstringánoPurpose id.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "purpose",
  "operator": "has",
  "purposeId": "51"
}

segment

Member of another segment of the same shop (never itself; chains at most 5 deep, no cycles).

PoleTypPovinnéPopis
typesegmentáno
operatorone of: in, not_in, added_before, added_afteránoOperator.
segmentIdstringánoSegment id.
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "segment",
  "operator": "not_in",
  "segmentId": "91"
}

web_attribute

A page visit whose attribute matches: visitType = the page type, other names = the visit's own attributes; gt to lte compare numbers.

PoleTypPovinnéPopis
typeweb_attributeáno
attributestringánoAttribute name.
operatorone of: is, starts_with, gt, gte, lt, lteánoOperator.
valuestringánoAt most 200 (a number for gt to lte).
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "web_attribute",
  "attribute": "visitType",
  "operator": "is",
  "value": "product"
}

web_visit

A page visit recorded by the shop's script or the API; any = any page.

PoleTypPovinnéPopis
typeweb_visitáno
operatorone of: any, is, starts_with, containsánoOperator.
urlstringnieNot with any; at most 2 000.
daysstring or nullnieOnly the last N days, "1" to "3650" (null = any time).
negatebooleannietrue = the rule must NOT hold (SmartEmailing "Neplatí, že").
json
{
  "type": "web_visit",
  "operator": "contains",
  "url": "/kava/",
  "days": "30"
}

Časové údaje

A moment relative to a base moment (SmartEmailing's "Varianta výběru času"). The base is the moment the contact arrived at the node (or entered the scenario, countFrom scenario), or now in conditions. Days and longer keep the local wall time; months are calendar months. In waits only calendar, interval with sign "+" and event without the words yesterday and previous are allowed. Preview any spec with POST /automations/resolve-time.

calendar

A local calendar date and time.

PoleTypPovinnéPopis
variantcalendaráno
datestringánoYYYY-MM-DD (local). pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
timestringnieHH:MM (local), default 00:00. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$

interval

Base plus or minus a number of units.

PoleTypPovinnéPopis
variantintervaláno
signone of: +, -áno"+" later, "-" earlier (conditions only).
valueintegeráno1 to 100 000. min 1, max 100000
unitone of: minutes, hours, days, weeks, months, yearsánoUnit.
timestring or nullnieOptional HH:MM set after the shift (days and longer). pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$

event

A named day: today, tomorrow, this/next/previous weekday, working day, week, month or year, or the last day of this or next month.

PoleTypPovinnéPopis
varianteventáno
wordone of: yesterday, previous, today, this, tomorrow, next, last_day_ofánoWhich day.
unitone of: monday, tuesday, wednesday, thursday, friday, saturday, sunday, workday, day, week, month, yearnieWith previous, this and next: a weekday, workday, day, week, month or year; with last_day_of: month.
scopeone of: this, nextnieWith last_day_of: this or next month.
timestringánoHH:MM (local), required. pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
json
[
  {
    "variant": "interval",
    "sign": "+",
    "value": 2,
    "unit": "days",
    "time": "09:00"
  },
  {
    "variant": "event",
    "word": "next",
    "unit": "monday",
    "time": "08:00"
  },
  {
    "variant": "calendar",
    "date": "2026-12-24",
    "time": "09:00"
  }
]