# Kroky automatizací

> Přehled všech kroků automatizací, od odeslání e-mailu, čekání a podmínky po kroky pro seznamy kontaktů, kontakty a blokované adresy, a k tomu větve a selhání kroků.

Kroky určují, co spuštění udělá, když se aktivuje jeho spouštěč. Tato stránka uvádí všechny kroky podle kontextu s jejich nastavením a pravidly, vysvětluje, jak se kroky propojují do větví, a ukazuje, co se stane, když krok selže.

## Přidávejte a nastavujte kroky

Na kartě **Editor** u automatizace (je dostupná, když je automatizace konceptem nebo je pozastavená):

- **Přidání kroku:** vyberte tlačítko plus pod posledním krokem, nebo pod **Yes**, či **No** u podmínky. Krok vyhledejte ve výběru, nebo ho zvolte v části **Actions**.
- **Nastavení kroku:** vyberte ho na plátně. Jeho nastavení se otevře v bočním panelu. Jakmile krok proběhne, objeví se vedle karty **Configure** karta **Stats**.
- **Odebrání kroku:** vyberte ho a v bočním panelu vyberte **Delete step**.
- **Uložení:** vyberte **Save**. Kroky s problémy se zvýrazní a zobrazí počet chyb.

## Kroky podle kontextu

| Krok | Klíč v API | Contact | Email | Event (API) |
| --- | --- | --- | --- | --- |
| [Send email](#send-email) | `send_email` | Ano | Ano | Ano |
| [Wait / Delay](#wait--delay) | `wait` | Ano | Ano | Ano |
| [Condition (If/Else)](#condition-ifelse) | `condition` | Ano | Ano | Ano |
| [Add to audience](#add-to-audience) | `add_to_audience` | Ano | | |
| [Remove from audience](#remove-from-audience) | `remove_from_audience` | Ano | | |
| [Edit contact](#edit-contact) | `edit_contact` | Ano | | |
| [Forward email](#forward-email) | `forward_email` | | Ano | Ano |
| [Add to suppressions](#add-to-suppressions) | `add_to_suppressions` | | Ano | Ano |
| [Remove from suppressions](#remove-from-suppressions) | `remove_from_suppressions` | | Ano | Ano |
| [Create contact](#create-contact) | `create_contact` | | Ano | Ano |
| [Kroky jen pro API](#api-only-steps) | `call_webhook`, `run_automation`, `experiment`, `end` | API | API | API |

Nastavení kroků může obsahovat proměnné, například `{{contact.first_name}}` nebo `{{payload.object.to}}`, které se vyplní pro každé spuštění. Viz [Data dostupná v krocích](/cs/docs/automations/triggers/#data-available-to-steps).

## Send email

Odešle e-mail sestavený z některé z vašich [šablon](/cs/docs/templates/).

| Nastavení | Povinné | Poznámky |
| --- | --- | --- |
| **Email template** | Ano | Šablona, která se má odeslat. V API přijímá `template_id` ID s předponou `tem_` nebo alias, který použije publikovanou verzi. |
| **To (recipient)** | V kontextech Email a Event | Adresa, na kterou se má odeslat. Automatizace v kontextu Contact odesílají vždy na kontakt spuštění. |
| **Subject** | Ne | Přepíše předmět šablony. |
| **From** | Ne | Přepíše odesílatele šablony, například `"Acme" <hello@acme.com>`. |
| **Reply to** | Ne | Přepíše adresu pro odpověď ze šablony. |

Pravidla:

- **Šablona se vykresluje jazykem [Temple](/cs/docs/templates/temple/).** V automatizacích v kontextu Contact jsou pole kontaktu dostupná přímo, takže fungují `{{first_name}}`, `{{email}}` i `{{custom_fields.plan}}`. Každý kontext má navíc `{{contact.*}}`, `{{payload.*}}` a `{{meta.*}}`. Slučovací značky kampaní, například `{{cf.plan}}` a `{{unsubscribe_url}}`, se nevyplňují.
- **Odesílatel musí být na ověřené doméně.** Odesílatel přepsaný v poli **From** nebo odesílatel šablony musí používat doménu ověřenou ve workspace. Tlačítko **Save** přepsané hodnoty kontroluje a krok při spuštění selže, pokud doména ověřená není.
- **Předmět a obsah jsou povinné**, ze šablony, nebo z přepsaných hodnot.
- **Každý e-mail stojí 1 kredit**, navíc ke 3 kreditům za spuštění.
- **Nekontroluje přihlášení k odběru.** E-mail se odešle, i když se kontakt z vašich seznamů kontaktů odhlásil. Doručení na blokované adresy se i tak zastaví a workspace v režimu sandbox mohou odesílat jen na adresy účtů členů.
- **Bez odkazu pro odhlášení a bez načtení a prokliků.** E-maily z automatizací nedostávají hlavičky `List-Unsubscribe` a načtení ani prokliky se neměří.

Karta **Stats** kroku sleduje každý odeslaný e-mail přes stavy **Accepted** a **Delivered** a počítá nedoručení, selhání a stížnosti.

## Wait / Delay

Pozastaví spuštění před dalším krokem.

| Nastavení | Poznámky |
| --- | --- |
| **Duration** a **Unit** | **Minutes**, **Hours** nebo **Days**. Nejdelší čekání je 30 dní. V API nastavte `seconds`, nejvýše `2592000`. |

Během čekání zůstává spuštění ve stavu **Running** a krok čekání se zobrazuje jako čekající. Pozastavení automatizace čekající spuštění nepřeruší.

## Condition (If/Else)

Pošle spuštění do větve **Yes**, když pravidla platí, nebo do větve **No**, když neplatí.

- **Pravidla:** pole, operátor a hodnota, kombinované pomocí **All rules match**, nebo **Any rule matches**. Operátory jsou stejné jako u [filtrů spouštěčů](/cs/docs/automations/triggers/#filters).
- **Pole:** v automatizacích v kontextu Contact **Email**, **First name**, **Last name** a vaše vlastní pole. V automatizacích v kontextu Email pole události spouštěče. V API může být `field` jakákoli cesta s předponami `contact.`, `email.`, `payload.` a `meta.`.
- **Větve:** další krok přidejte pod **Yes**, **No**, nebo pod obě. Větev bez kroku spuštění v tom místě ukončí.

## Add to audience

Kontext Contact. Přihlásí kontakt spuštění k odběru seznamu, který zvolíte v poli **Audience**. Pokud se kontakt z tohoto seznamu odhlásil, přihlásí se znovu. Krok selže, pokud seznam dosáhl [limitu odběratelů](/cs/docs/audiences/#limits). Automatizace se spouštěčem **Added to audience** nespouští.

## Remove from audience

Kontext Contact. Vypne kontaktu odběr seznamu zvoleného v poli **Audience**. Kontakt v seznamu zůstane jako odhlášený odběratel, na rozdíl od akce **Remove from audience** ve webovém rozhraní, která členství smaže.

## Edit contact

Kontext Contact. Nastaví jedno nebo více polí kontaktu spuštění. Pro každé pole přidejte řádek s hodnotami **Field name** a **Value**:

| Název pole | Účinek |
| --- | --- |
| `first_name`, `last_name`, `email` | Upraví dané pole. |
| `unsubscribed` | Nastaví marketingový stav kontaktu. Hodnotou `true` kontakt odhlásíte ze všech kampaní. Jakákoli neprázdná hodnota se počítá jako `true`. |
| Jakýkoli jiný název | Uloží hodnotu do vlastního pole s tímto klíčem a ostatní vlastní pole zachová. |

Hodnoty mohou obsahovat proměnné, například `{{payload.object.audience.name}}`. Změna nevyvolá událost `contact.updated`, takže nespustí automatizace se spouštěčem **Contact updated** ani webhooky.

## Forward email

Kontexty Email a Event. Pošle kopii e-mailu spuštění s původním obsahem a přílohami na adresu v poli **Forward to**. Předmět bude mít tvar „Fwd: původní předmět“. E-mail musí pocházet z ověřené odesílací domény ve workspace a každé přeposlání stojí 1 kredit. Viz [Přeposílání příchozích e-mailů automatizacemi](/cs/docs/inbound/forward-with-automations/).

## Add to suppressions

Kontexty Email a Event. Přidá adresu na váš [seznam blokovaných adres](/cs/docs/suppressions/) s typem `recipient`, který zastaví veškeré odesílání na ni, a s důvodem, který zadáte v poli **Reason** (výchozí hodnota je `automation`). V automatizacích v kontextu Email je to adresa příjemce e-mailu. V automatizacích v kontextu Event nastavte přes API `email`, například `{{payload.email}}`. Krok vyvolá událost `suppression.created`.

## Remove from suppressions

Kontexty Email a Event. Odebere adresu ze seznamu blokovaných adres: v automatizacích v kontextu Email příjemce e-mailu, v automatizacích v kontextu Event adresu v `email` nastaveném přes API.

## Create contact

Kontexty Email a Event. Vytvoří kontakt, a pokud vyberete seznam v poli **Audience (optional)**, přihlásí ho k jeho odběru.

- V automatizacích v kontextu Email je kontaktem adresa příjemce e-mailu. U přijatých e-mailů je to adresa, na kterou byl e-mail odeslán. Pokud chcete místo toho vytvořit kontakt pro odesílatele, nastavte přes API `email` na `{{email.mail_from}}`.
- V automatizacích v kontextu Event nastavte přes API `email` a volitelně `first_name`.
- Pokud kontakt už existuje, zůstane beze změny a jen se přihlásí k odběru seznamu.
- Krok nespouští automatizace se spouštěčem **Added to audience**.

## Kroky jen pro API

Tyto kroky lze přidat přes API, ale zatím ne v editoru ve webovém rozhraní. Fungují ve všech kontextech.

| Krok | Klíč v API | Konfigurace | Co dělá |
| --- | --- | --- | --- |
| Call webhook | `call_webhook` | `url` (povinné), `method` (výchozí `POST`), `headers`, `body` | Odešle HTTP požadavek s typem obsahu JSON a zaznamená odpověď. Odpověď mimo 2xx nebo vypršení časového limitu se zaznamená jako výsledek kroku (`2xx`, `4xx`, `5xx`, `timeout` nebo `network_error`) a spuštění kvůli nim neselže. |
| Run automation | `run_automation` | `automation_id` (povinné) | Zahájí spuštění jiné běžící automatizace se stejným obsahem a pak pokračuje. Druhé spuštění stojí vlastní 3 kredity. Pokud daná automatizace neběží, krok se přeskočí. |
| Random split | `experiment` | `variants`: seznam `{ "key", "weight" }`, volitelně `control` | Pošle každé spuštění náhodně do jedné větve, v poměru podle vah. Větev každé varianty se jmenuje podle jejího `key`. Když větev varianty skončí, spuštění pokračuje ve větvi `default` kroku. |
| End | `end` | Žádná | Označí konec větve. |

```json
{
  "key": "notify-crm",
  "type": "action",
  "action": "call_webhook",
  "config": {
    "url": "https://crm.acme.com/hooks/new-subscriber",
    "method": "POST",
    "headers": { "Authorization": "Bearer crm_token" },
    "body": { "email": "{{contact.email}}", "source": "emailit" }
  }
}
```

## Větve a propojení

V API je automatizace seznam kroků `steps`, každý s jedinečným klíčem `key`, a seznam propojení `connections` z klíče jednoho kroku na další:

```json
{
  "steps": [
    { "key": "trigger-1", "type": "trigger", "trigger": "contact.added_to_audience", "config": {} },
    { "key": "is-pro", "type": "action", "action": "condition", "config": {
      "filter": { "match": "all", "rules": [{ "field": "custom_fields.plan", "operator": "equals", "value": "pro" }] }
    } },
    { "key": "send-pro", "type": "action", "action": "send_email", "config": { "type": "template", "template_id": "welcome-pro" } },
    { "key": "send-free", "type": "action", "action": "send_email", "config": { "type": "template", "template_id": "welcome-free" } }
  ],
  "connections": [
    { "from": "trigger-1", "to": "is-pro", "branch": "default" },
    { "from": "is-pro", "to": "send-pro", "branch": "yes" },
    { "from": "is-pro", "to": "send-free", "branch": "no" }
  ]
}
```

- **`branch`** je `default` pro běžný další krok, `yes`, nebo `no` po podmínce a klíč varianty po náhodném rozdělení.
- **Podmínka pokračuje jen větví, kterou vybrala.** Propojením `default` z podmínky se nikdy nepokračuje.
- **Krok s několika odchozími propojeními ve stejné větvi** spustí všechna a větve běží souběžně.
- **Každý krok musí být dosažitelný ze spouštěče.** V automatizacích v kontextu Contact a Email s několika spouštěči musí všechny spouštěče vést do stejného prvního kroku.
- **Posílejte `steps` a `connections` společně**, když automatizaci upravujete. Kroky, jejichž klíče se nezmění, si ponechají historii a statistiky.

## Když krok selže

Ve výchozím stavu neúspěšný krok způsobí selhání celého spuštění a zbývající kroky se neprovedou. Chyba se uloží u kroku a přečtete si ji v detailu spuštění na kartě **Runs**. Pokud chcete, aby spuštění za neúspěšnými kroky pokračovala, nastavte přes API v `settings` automatizace `on_step_failure` na `skip`.

| Chyba | Příčina |
| --- | --- |
| `send_email: Template '…' not found or not published` | Šablona byla smazána, nebo alias nemá publikovanou verzi. |
| `send_email: Sending domain is not verified or not found` | Doména odesílatele není ve workspace ověřená. |
| `send_email: Unable to determine recipient address` | Pole **To (recipient)** je prázdné, nebo kontakt už neexistuje. |
| `send_email: Insufficient credits (…)` | Workspace došly kredity. |
| `Pro includes 50,000 subscribers per audience.` (nebo limit vašeho tarifu) | Krok **Add to audience** nebo **Create contact** narazil na plný seznam kontaktů. |
| `forward_email: Source email has no raw content to forward` | Obsah e-mailu už odstranilo vaše nastavení [uchovávání dat](/cs/docs/data-retention/). |

Jak neúspěšná spuštění najít a opravit, popisuje stránka [Spuštění a statistiky](/cs/docs/automations/runs/#debug-a-failed-run).

## Související

  - [Spouštěče](/cs/docs/automations/triggers/): Co zahajuje spuštění.
  - [Recepty](/cs/docs/automations/recipes/): Připravené automatizace, ze kterých můžete začít.

---
Zdroj: https://emailit.com/cs/docs/automations/steps/
