# Spouštěče automatizací

> Přehled všech spouštěčů automatizací podle kontextu – jejich možnosti a filtry, co je aktivuje a klíče spouštěčů pro práci s API.

Spouštěč rozhoduje, kdy automatizace zahájí spuštění. Tato stránka uvádí všechny spouštěče dostupné v jednotlivých [kontextech](/cs/docs/automations/#contexts), co je aktivuje, jejich možnosti a klíč, který pro ně používáte v API.

## Jak spouštěče fungují

- **Ve webovém rozhraní jeden spouštěč na automatizaci.** Vyberte spouštěč na plátně a změňte ho v poli **Trigger type**. Přes API mohou automatizace v kontextu Contact a Email mít několik spouštěčů, pokud všechny vedou do stejného prvního kroku. Automatizace v kontextu Event mají právě jeden.
- **Automatizace musí běžet.** Spouštěče v automatizacích, které jsou konceptem, pozastavené nebo zastavené, se ignorují. Události z doby před zapnutím automatizace dodatečně spuštění nezahájí.
- **Spuštění začínají během několika sekund.** Emailit nové události přebírá každých několik sekund.

### Filtry

Spouštěč Contact updated a všechny spouštěče e-mailů přijímají volitelný filtr v části **Filter events (optional)**. Každé pravidlo porovnává jedno pole události s hodnotou:

- **Operátory:** **Equals**, **Not equals**, **Contains**, **Not contains**, **Greater than**, **Less than**, **Is set**, **Is not set**, **In**, **Not in**, **Starts with** a **Ends with**. **Greater than** a **Less than** porovnávají čísla. Ostatní porovnávají text a rozlišují velikost písmen.
- **Režim shody:** **All rules match**, nebo **Any rule matches**.

V API je filtr `{ "match": "all", "rules": [{ "field": "...", "operator": "equals", "value": "..." }] }` v `config.filter` spouštěče, přičemž `match` je `all`, nebo `any`. Pole jsou cesty do objektu události, například `to` nebo `link.url`.

## Spouštěče v kontextu Contact

| Spouštěč | Klíč v API | Možnosti | Spuštění začne, když |
| --- | --- | --- | --- |
| **Added to audience** | `contact.added_to_audience` | **Audience**. Pro jakýkoli seznam kontaktů nechte prázdné. | Kontakt se přidá do seznamu kontaktů, nebo se do něj vrátí po odhlášení. |
| **Removed from audience** | `contact.removed_from_audience` | **Audience**. Pro jakýkoli seznam kontaktů nechte prázdné. | Členství kontaktu v seznamu se smaže. |
| **Contact updated** | `contact.updated` | Volitelný filtr | Změní se e-mail, jména, vlastní pole nebo marketingový stav kontaktu. |
| **Date anniversary** | `contact.date_anniversary` | **Date field** | Jednou ročně, v měsíc a den uložený v datovém vlastním poli. |

### Added to audience

Aktivuje se, když někoho přidáte do seznamu kontaktů ve webovém rozhraní (**Add subscriber**, **Add to audience**, **Add contact** se seznamy kontaktů), přes API ([Přidání odběratele](/cs/docs/api-reference/audiences/subscribers/add/) nebo [Vytvoření kontaktu](/cs/docs/api-reference/contacts/create/) s `audiences`), nebo hromadnou akcí **Add to audience**. Aktivuje ho i opětovné přidání někoho, kdo se odhlásil.

Neaktivuje se u kontaktů přidaných [importem souboru](/cs/docs/contacts/import-export/), přihlášením přes [URL pro přihlášení](/cs/docs/audiences/subscribe-url/) nebo krokem **Add to audience** či **Create contact** jiné automatizace a nepočítá se ani opětovné zapnutí **Subscribed** u existujícího odběratele.

### Removed from audience

Aktivuje se, když se odběratel smaže: **Delete** na stránce seznamu kontaktů, **Remove from audience**, [Smazání odběratele](/cs/docs/api-reference/audiences/subscribers/delete/) nebo úprava kontaktu, jejíž seznam `audiences` daný seznam vynechá. Smazání kontaktu ho aktivuje jednou pro každý seznam, ve kterém kontakt byl. Odhlášení ho neaktivuje, protože daná osoba v seznamu zůstává.

### Contact updated

Aktivuje se pokaždé, když se kontakt upraví ve webovém rozhraní nebo přes API, včetně hromadných akcí **Unsubscribe** a **Resubscribe**. Filtr může kontrolovat aktuální **Email**, **First name**, **Last name**, **Unsubscribed** a vlastní pole i jejich předchozí hodnoty, uvedené jako **Previous email**, **Previous first name** a tak dále. Předchozí hodnoty jsou k dispozici jen u polí, která se změnila.

Pokud chcete například reagovat, když kontakt přejde na plán `pro`, přidejte s **All rules match** dvě pravidla: `custom_fields.plan` **Equals** `pro` a **Previous plan** (`previous.custom_fields.plan`) **Not equals** `pro`.

### Date anniversary

Zvolte **Date field**, tedy [vlastní pole](/cs/docs/contacts/custom-fields/) typu Date, například narozeniny. Emailit jednou denně zahájí spuštění pro každý kontakt, jehož datum má dnešní měsíc a den v UTC. Na roku nezáleží, takže kontakt s `1990-04-12` dostane spuštění každý 12. duben. Každá automatizace zpracuje až 10 000 kontaktů denně.

> **Nastavte datové pole přes API:** V aktuální betaverzi čte denní kontrola nastavení `date_field` spouštěče, které výběr **Date field** ve webovém rozhraní zatím nenastavuje. Pokud vaše výroční automatizace nezahajuje spuštění, nastavte ho přes [Úpravu automatizace](/cs/docs/api-reference/automations/update/): dejte spouštěči `"config": { "date_field": "birthday" }` s klíčem vlastního pole bez předpony.

### Spouštěče kontaktů jen pro API

| Klíč v API | Spuštění začne, když |
| --- | --- |
| `contact.loaded_email` | Kontakt načte měřený e-mail odeslaný na jeho adresu. |
| `contact.clicked_in_email` | Kontakt klikne na měřený odkaz v e-mailu odeslaném na jeho adresu. |
| `contact.on_date` | Datové pole kontaktu nastavené v `config.date_field` se rovná dnešnímu datu v UTC. Aktivuje se jednou, ne každý rok. |

API přijímá také `contact.visits_url`, `contact.on_purchase` a `contact.on_event`, ale nic je zatím neaktivuje.

## Spouštěče v kontextu Email

Spouštěče e-mailů se aktivují u e-mailů ve vašem workspace: u všeho, co odešlete přes API nebo SMTP, u e-mailů z kampaní a automatizací a u **Email received** u příchozích e-mailů. Každé spuštění se týká jednoho e-mailu.

| Spouštěč | Klíč v API | Spuštění začne, když | Pole filtru |
| --- | --- | --- | --- |
| **Email delivered** | `email.delivered` | Server příjemce e-mail přijal. | From, To, Subject, Status |
| **Email bounced** | `email.bounced` | E-mail trvale selhal. | From, To, Subject, Status |
| **Email failed** | `email.failed` | E-mail nebylo možné odeslat kvůli chybě. | From, To, Subject, Status |
| **Email suppressed** | `email.suppressed` | E-mail se neodeslal, protože příjemce je blokovaný. | From, To, Subject, Status |
| **Email complained** | `email.complained` | Příjemce nahlásil e-mail jako spam. | From, To, Subject, Status |
| **Email received** | `email.received` | Dorazil příchozí e-mail. Viz [Příchozí e-maily](/cs/docs/inbound/). | From, To, Subject |
| **Email loaded** | `email.loaded` | Příjemce načetl měřený e-mail. | Recipient, Sender, Subject, IP address, User agent |
| **Email clicked** | `email.clicked` | Příjemce klikl na měřený odkaz. | Recipient, Sender, Subject, Link URL, IP address, User agent |

Editor uvádí také **Email accepted**, **Email scheduled**, **Email attempted** a **Email rejected**. Automatizace s těmito spouštěči zatím nelze uložit, proto zvolte některý ze spouštěčů výše. Přes API můžete použít i `email.canceled`, který se aktivuje, když se zruší naplánovaný e-mail nebo e-mail ve frontě.

> **Vyhněte se smyčkám:** E-maily odeslané automatizacemi aktivují spouštěče e-mailů také. Automatizace, která odešle e-mail pokaždé, když se nějaký e-mail nedoručí, by se spustila i pro vlastní upozornění, kdyby se nedoručilo. Přidejte filtr, například **To** **Not equals** vaše adresa pro upozornění, aby automatizace nemohla spustit sama sebe.

## Spouštěče v kontextu Event

Automatizace v kontextu Event lze zatím vytvářet jen přes API.

| Spouštěč | Klíč v API | Spuštění začne, když |
| --- | --- | --- |
| **Manual trigger** | `system.manual` | Zavoláte [Ruční spuštění](/cs/docs/api-reference/automations/trigger/). |
| Schedule | `system.schedule` | Rezervováno. Zatím ho nic neaktivuje, proto místo něj volejte endpoint pro spuštění z vlastního plánovače, například z úlohy cron. |

### Manual trigger

Zavolejte endpoint pro spuštění běžící automatizace s volitelným objektem `payload`:

```bash
curl https://api.emailit.com/v2/automations/aut_3Mv8Xq2nKp5Lt/trigger \
  -X POST \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "email": "ada@example.com", "plan": "pro" } }'
```

Endpoint vrátí `{ "message": "Automation trigger dispatched." }`, nebo `422`, pokud automatizace neběží. Kroky mohou obsah číst jako `{{payload.email}}`, `{{payload.plan}}` a tak dále. Emailit do obsahu přidá `automation_id`.

> **Jedno volání zasáhne všechny ruční automatizace:** V aktuální betaverzi zahájí volání endpointu pro spuštění spuštění ve všech běžících automatizacích workspace, jejichž spouštěč je **Manual trigger**, nejen v té z URL. Pokud jich máte víc, nechte každou nejdřív zkontrolovat vlastní ID krokem **Condition** nad `payload.automation_id`.

`system.manual` funguje jako spouštěč i v automatizacích v kontextu Contact a Email vytvořených přes API. Pokud do obsahu přidáte `contact_id` (ID `con_`) nebo `email_id`, automatizace se spustí pro daný kontakt nebo e-mail.

## Data dostupná v krocích

Nastavení kroků, například příjemce v kroku **Send email** nebo hodnoty v kroku **Edit contact**, mohou obsahovat proměnné, které se vyplní pro každé spuštění:

| Proměnná | Obsahuje |
| --- | --- |
| `{{contact.<field>}}` | Kontakt spuštění v automatizacích v kontextu Contact, například `{{contact.email}}` nebo `{{contact.custom_fields.plan}}`. |
| `{{email.<field>}}` | E-mail spuštění v automatizacích v kontextu Email, například `{{email.rcpt_to}}` nebo `{{email.subject}}`. |
| `{{payload.}}` | Událost, která spuštění zahájila. U událostí ve stylu webhooků jsou data události v `payload.object`, například `{{payload.object.to}}`. U ručních spuštění je to váš `payload`. |
| `{{meta.}}` | Další data, která Emailit o spuštění ukládá. |

Šablony e-mailů odesílané krokem **Send email** používají [Temple](/cs/docs/templates/temple/) se stejnými daty. Viz [Kroky](/cs/docs/automations/steps/#send-email).

## Související

  - [Kroky](/cs/docs/automations/steps/): Co spuštění dokáže, jakmile začne.
  - [Typy událostí webhooků](/cs/docs/webhooks/event-types/): Události, ze kterých vycházejí spouštěče kontaktů a e-mailů.

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