# Déclencheurs d’automatisation

> Référence de tous les déclencheurs d’automatisation par contexte, avec leurs options et leurs filtres, ce qui les active et les clés de déclencheur à utiliser avec l’API.

Un déclencheur détermine quand une automatisation démarre une exécution. Cette page liste tous les déclencheurs disponibles dans chaque [contexte](/fr/docs/automations/#contexts), ce qui les active, leurs options et la clé à utiliser dans l’API.

## Fonctionnement des déclencheurs

- **Un seul déclencheur par automatisation dans le tableau de bord.** Sélectionnez le déclencheur sur le canevas et changez-le avec **Trigger type**. Avec l’API, les automatisations Contact et Email peuvent avoir plusieurs déclencheurs, à condition qu’ils soient tous reliés à la même première étape. Les automatisations Event en ont exactement un.
- **L’automatisation doit être en cours.** Les déclencheurs des automatisations en brouillon, en pause ou arrêtées sont ignorés. Les événements antérieurs au démarrage d’une automatisation ne démarrent pas d’exécution par la suite.
- **Les exécutions démarrent en quelques secondes.** Emailit récupère les nouveaux événements toutes les quelques secondes.

### Filtres

Contact updated et tous les déclencheurs d’e-mail acceptent un filtre facultatif, sous **Filter events (optional)**. Chaque règle compare un champ de l’événement à une valeur :

- **Opérateurs :** **Equals**, **Not equals**, **Contains**, **Not contains**, **Greater than**, **Less than**, **Is set**, **Is not set**, **In**, **Not in**, **Starts with** et **Ends with**. **Greater than** et **Less than** comparent des nombres. Les autres comparent du texte et sont sensibles à la casse.
- **Mode de correspondance :** **All rules match** ou **Any rule matches**.

Avec l’API, un filtre s’écrit `{ "match": "all", "rules": [{ "field": "...", "operator": "equals", "value": "..." }] }` dans le `config.filter` du déclencheur, avec `match` réglé sur `all` ou `any`. Les champs sont des chemins dans l’objet de l’événement, par exemple `to` ou `link.url`.

## Déclencheurs de contact

| Déclencheur | Clé API | Options | Démarre une exécution quand |
| --- | --- | --- | --- |
| **Added to audience** | `contact.added_to_audience` | **Audience**. Laissez vide pour n’importe quelle liste. | Un contact rejoint la liste, ou y est ajouté de nouveau après s’être désinscrit. |
| **Removed from audience** | `contact.removed_from_audience` | **Audience**. Laissez vide pour n’importe quelle liste. | L’appartenance d’un contact à la liste est supprimée. |
| **Contact updated** | `contact.updated` | Filtre facultatif | L’adresse e-mail, les noms, les champs personnalisés ou le statut marketing d’un contact changent. |
| **Date anniversary** | `contact.date_anniversary` | **Date field** | Une fois par an, au mois et au jour enregistrés dans un champ personnalisé de type date. |

### Added to audience

S’active quand une personne est ajoutée à une liste depuis le tableau de bord (**Add subscriber**, **Add to audience**, **Add contact** avec des listes), avec l’API ([Ajouter un abonné](/fr/docs/api-reference/audiences/subscribers/add/), ou [Créer un contact](/fr/docs/api-reference/contacts/create/) avec `audiences`), ou avec l’action groupée **Add to audience**. Ajouter de nouveau une personne qui s’était désinscrite l’active aussi.

Il ne s’active pas pour les contacts ajoutés par un [import de fichier](/fr/docs/contacts/import-export/), une inscription par [URL d’inscription](/fr/docs/audiences/subscribe-url/) ou l’étape **Add to audience** ou **Create contact** d’une autre automatisation, et réactiver **Subscribed** pour un abonné existant ne compte pas non plus.

### Removed from audience

S’active quand un abonné est supprimé : **Delete** sur la page de la liste, **Remove from audience**, [Supprimer un abonné](/fr/docs/api-reference/audiences/subscribers/delete/), ou une mise à jour de contact dont la liste `audiences` omet la liste. Supprimer un contact l’active une fois pour chaque liste à laquelle le contact appartenait. Une désinscription ne l’active pas, car la personne reste dans la liste.

### Contact updated

S’active chaque fois qu’un contact est mis à jour dans le tableau de bord ou avec l’API, y compris par les actions groupées **Unsubscribe** et **Resubscribe**. Le filtre peut vérifier les valeurs actuelles de **Email**, **First name**, **Last name**, **Unsubscribed** et des champs personnalisés, ainsi que leurs valeurs précédentes, listées sous **Previous email**, **Previous first name**, etc. Les valeurs précédentes ne sont présentes que pour les champs qui ont changé.

Par exemple, pour réagir quand un contact passe au forfait `pro`, ajoutez deux règles avec **All rules match** : `custom_fields.plan` **Equals** `pro`, et **Previous plan** (`previous.custom_fields.plan`) **Not equals** `pro`.

### Date anniversary

Choisissez un **Date field**, un [champ personnalisé](/fr/docs/contacts/custom-fields/) de type date, comme une date d’anniversaire. Une fois par jour, Emailit démarre une exécution pour chaque contact dont la date correspond au mois et au jour courants, en UTC. L’année n’a pas d’importance : un contact avec `1990-04-12` obtient donc une exécution chaque 12 avril. Chaque automatisation traite au maximum 10 000 contacts par jour.

> **Définissez le champ de date avec l’API:** Dans la bêta actuelle, la vérification quotidienne lit le paramètre `date_field` du déclencheur, que le sélecteur **Date field** du tableau de bord ne définit pas encore. Si votre automatisation d’anniversaire ne démarre aucune exécution, définissez-le avec [Mettre à jour une automatisation](/fr/docs/api-reference/automations/update/) : donnez au déclencheur `"config": { "date_field": "birthday" }`, en utilisant la clé du champ personnalisé sans préfixe.

### Déclencheurs de contact réservés à l’API

| Clé API | Démarre une exécution quand |
| --- | --- |
| `contact.loaded_email` | Un contact charge un e-mail suivi envoyé à son adresse. |
| `contact.clicked_in_email` | Un contact clique sur un lien suivi dans un e-mail envoyé à son adresse. |
| `contact.on_date` | Le champ de date d’un contact, défini dans `config.date_field`, est égal à la date du jour en UTC. S’active une seule fois, pas chaque année. |

L’API accepte aussi `contact.visits_url`, `contact.on_purchase` et `contact.on_event`, mais rien ne les active encore.

## Déclencheurs d’e-mail

Les déclencheurs d’e-mail s’activent pour les e-mails de votre espace de travail : tout ce que vous envoyez avec l’API ou SMTP, les e-mails de campagne et d’automatisation, et les e-mails entrants pour **Email received**. Chaque exécution porte sur un e-mail.

| Déclencheur | Clé API | Démarre une exécution quand | Champs de filtre |
| --- | --- | --- | --- |
| **Email delivered** | `email.delivered` | Le serveur du destinataire a accepté l’e-mail. | From, To, Subject, Status |
| **Email bounced** | `email.bounced` | L’e-mail a échoué définitivement. | From, To, Subject, Status |
| **Email failed** | `email.failed` | L’e-mail n’a pas pu être envoyé à cause d’une erreur. | From, To, Subject, Status |
| **Email suppressed** | `email.suppressed` | L’e-mail n’a pas été envoyé car le destinataire est bloqué. | From, To, Subject, Status |
| **Email complained** | `email.complained` | Le destinataire a signalé l’e-mail comme spam. | From, To, Subject, Status |
| **Email received** | `email.received` | Un e-mail entrant est arrivé. Voir [E-mails entrants](/fr/docs/inbound/). | From, To, Subject |
| **Email loaded** | `email.loaded` | Le destinataire a chargé un e-mail suivi. | Recipient, Sender, Subject, IP address, User agent |
| **Email clicked** | `email.clicked` | Le destinataire a cliqué sur un lien suivi. | Recipient, Sender, Subject, Link URL, IP address, User agent |

L’éditeur liste aussi **Email accepted**, **Email scheduled**, **Email attempted** et **Email rejected**. Les automatisations utilisant ces déclencheurs ne peuvent pas encore être enregistrées : choisissez donc l’un des déclencheurs ci-dessus. Avec l’API, vous pouvez aussi utiliser `email.canceled`, qui s’active quand un e-mail programmé ou en file d’attente est annulé.

> **Évitez les boucles:** Les e-mails envoyés par les automatisations activent aussi les déclencheurs d’e-mail. Une automatisation qui envoie un e-mail chaque fois qu’un e-mail rebondit s’exécuterait aussi pour sa propre notification si celle-ci rebondissait. Ajoutez un filtre, par exemple **To** **Not equals** votre adresse d’alerte, pour qu’une automatisation ne puisse pas se déclencher elle-même.

## Déclencheurs d’événement

Pour l’instant, les automatisations Event ne peuvent être créées qu’avec l’API.

| Déclencheur | Clé API | Démarre une exécution quand |
| --- | --- | --- |
| **Manual trigger** | `system.manual` | Vous appelez [Déclencher une exécution](/fr/docs/api-reference/automations/trigger/). |
| Schedule | `system.schedule` | Réservé. Rien ne l’active encore : appelez plutôt l’endpoint de déclenchement depuis votre propre planificateur, comme une tâche cron. |

### Manual trigger

Appelez l’endpoint de déclenchement d’une automatisation en cours, avec un objet `payload` facultatif :

```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" } }'
```

L’endpoint renvoie `{ "message": "Automation trigger dispatched." }`, ou `422` si l’automatisation n’est pas en cours. Les étapes peuvent lire le payload sous la forme `{{payload.email}}`, `{{payload.plan}}`, etc. Emailit ajoute `automation_id` au payload.

> **Un appel atteint toutes les automatisations manuelles:** Dans la bêta actuelle, un appel à l’endpoint de déclenchement démarre une exécution dans chaque automatisation en cours de l’espace de travail dont le déclencheur est **Manual trigger**, et pas seulement dans celle de l’URL. Si vous en avez plusieurs, faites d’abord vérifier à chacune son propre ID avec une étape **Condition** sur `payload.automation_id`.

`system.manual` fonctionne aussi comme déclencheur dans les automatisations Contact et Email créées avec l’API. Incluez `contact_id` (un ID `con_`) ou `email_id` dans le payload pour exécuter l’automatisation pour ce contact ou cet e-mail.

## Données disponibles pour les étapes

Les paramètres des étapes, comme le destinataire de **Send email** ou les valeurs de **Edit contact**, peuvent contenir des variables remplacées pour chaque exécution :

| Variable | Contenu |
| --- | --- |
| `{{contact.<field>}}` | Le contact de l’exécution dans les automatisations Contact, par exemple `{{contact.email}}` ou `{{contact.custom_fields.plan}}`. |
| `{{email.<field>}}` | L’e-mail de l’exécution dans les automatisations Email, par exemple `{{email.rcpt_to}}` ou `{{email.subject}}`. |
| `{{payload.}}` | L’événement qui a démarré l’exécution. Pour les événements de type webhook, les données de l’événement se trouvent sous `payload.object`, par exemple `{{payload.object.to}}`. Pour les déclencheurs manuels, il s’agit de votre `payload`. |
| `{{meta.}}` | Des données supplémentaires qu’Emailit enregistre sur l’exécution. |

Les modèles d’e-mail envoyés par **Send email** utilisent [Temple](/fr/docs/templates/temple/) avec les mêmes données. Consultez [Étapes](/fr/docs/automations/steps/#send-email).

## Voir aussi

  - [Étapes](/fr/docs/automations/steps/): Ce qu’une exécution peut faire une fois démarrée.
  - [Types d’événements webhook](/fr/docs/webhooks/event-types/): Les événements derrière les déclencheurs de contact et d’e-mail.

---
Source: https://emailit.com/fr/docs/automations/triggers/
