Riferimento
Passaggi delle automazioni
Riferimento di tutti i passaggi delle automazioni, da invio di email, attesa e condizione ai passaggi su liste, contatti e soppressioni, più diramazioni ed errori dei passaggi.
I passaggi sono ciò che un’esecuzione fa dopo che è scattato il trigger. Questa pagina elenca tutti i passaggi per contesto con le loro impostazioni e regole, spiega come i passaggi si collegano in diramazioni e mostra cosa succede quando un passaggio non riesce.
Aggiungi e configura i passaggi
Nella scheda Editor dell’automazione (disponibile mentre l’automazione è in bozza o in pausa):
- Aggiungi un passaggio: seleziona il pulsante più sotto l’ultimo passaggio, oppure sotto Yes o No in una condizione. Cerca nel selettore o scegli tra le Actions.
- Configura un passaggio: selezionalo sulla tela. Le sue impostazioni si aprono in un pannello laterale. Dopo la prima esecuzione del passaggio, accanto a Configure compare una scheda Stats.
- Rimuovi un passaggio: selezionalo e seleziona Delete step nel pannello laterale.
- Salva: seleziona Save. I passaggi con problemi vengono evidenziati con il numero di errori.
Passaggi per contesto
| Passaggio | Chiave API | Contact | Event (API) | |
|---|---|---|---|---|
| Send email | send_email |
Sì | Sì | Sì |
| Wait / Delay | wait |
Sì | Sì | Sì |
| Condition (If/Else) | condition |
Sì | Sì | Sì |
| Add to audience | add_to_audience |
Sì | ||
| Remove from audience | remove_from_audience |
Sì | ||
| Edit contact | edit_contact |
Sì | ||
| Forward email | forward_email |
Sì | Sì | |
| Add to suppressions | add_to_suppressions |
Sì | Sì | |
| Remove from suppressions | remove_from_suppressions |
Sì | Sì | |
| Create contact | create_contact |
Sì | Sì | |
| Passaggi solo API | call_webhook, run_automation, experiment, end |
API | API | API |
Le impostazioni dei passaggi possono contenere segnaposto come {{contact.first_name}} o {{payload.object.to}}, compilati per ogni esecuzione. Vedi Dati disponibili per i passaggi.
Send email
Invia un’email creata da uno dei tuoi template.
| Impostazione | Obbligatoria | Note |
|---|---|---|
| Email template | Sì | Il template da inviare. Con l’API, template_id accetta un ID tem_ o un alias, che usa la versione pubblicata. |
| To (recipient) | Contesti Email ed Event | L’indirizzo a cui inviare. Le automazioni di tipo Contact inviano sempre al contatto dell’esecuzione. |
| Subject | No | Sostituisce l’oggetto del template. |
| From | No | Sostituisce il mittente del template, ad esempio "Acme" <hello@acme.com>. |
| Reply to | No | Sostituisce l’indirizzo di risposta del template. |
Regole:
- Il template viene elaborato con Temple. Nelle automazioni di tipo Contact, i campi del contatto sono disponibili direttamente, quindi
{{first_name}},{{email}}e{{custom_fields.plan}}funzionano. Ogni contesto ha anche{{contact.*}},{{payload.*}}e{{meta.*}}. I tag di unione delle campagne come{{cf.plan}}e{{unsubscribe_url}}non vengono compilati. - Il mittente deve appartenere a un dominio verificato. La sostituzione in From o il mittente del template deve usare un dominio verificato nel workspace. Save controlla le sostituzioni, e il passaggio non riesce in fase di esecuzione se il dominio non è verificato.
- Oggetto e contenuto sono obbligatori, dal template o dalle sostituzioni.
- Ogni email costa 1 credito, oltre ai 3 crediti dell’esecuzione.
- Non controlla le iscrizioni. L’email viene inviata anche se il contatto si è disiscritto dalle tue liste. Gli indirizzi soppressi vengono comunque bloccati alla consegna, e i workspace in sandbox possono inviare solo agli indirizzi degli account dei membri.
- Niente link di disiscrizione né caricamenti e clic. Le email delle automazioni non ricevono gli header
List-Unsubscribe, e caricamenti e clic non vengono tracciati.
Le Stats del passaggio seguono ogni email inviata attraverso Accepted e Delivered, e contano bounce, errori e segnalazioni.
Wait / Delay
Mette in pausa l’esecuzione prima del passaggio successivo.
| Impostazione | Note |
|---|---|
| Duration e Unit | Minutes, Hours o Days. L’attesa massima è di 30 giorni. Con l’API, imposta seconds, fino a 2592000. |
Mentre un’esecuzione è in attesa, resta Running e il passaggio di attesa risulta in attesa. Mettere in pausa l’automazione non interrompe le esecuzioni in attesa.
Condition (If/Else)
Indirizza l’esecuzione sulla diramazione Yes quando le regole corrispondono, o sulla diramazione No quando non corrispondono.
- Regole: un campo, un operatore e un valore, combinati con All rules match o Any rule matches. Gli operatori sono gli stessi dei filtri dei trigger.
- Campi: nelle automazioni di tipo Contact, Email, First name, Last name e i tuoi campi personalizzati. Nelle automazioni di tipo Email, i campi dell’evento del trigger. Con l’API,
fieldpuò essere qualsiasi percorso, con i prefissicontact.,email.,payload.emeta.. - Diramazioni: aggiungi il passaggio successivo sotto Yes, No o entrambi. Una diramazione senza passaggi termina lì l’esecuzione.
Add to audience
Contesto Contact. Iscrive il contatto dell’esecuzione alla lista scelta in Audience. Se il contatto si era disiscritto, viene iscritto di nuovo. Il passaggio non riesce se la lista ha raggiunto il limite di iscritti. Non avvia le automazioni Added to audience.
Remove from audience
Contesto Contact. Disattiva l’iscrizione del contatto alla lista scelta in Audience. Il contatto resta nella lista come iscritto disiscritto, a differenza di Remove from audience nel pannello, che elimina l’appartenenza.
Edit contact
Contesto Contact. Imposta uno o più campi del contatto dell’esecuzione. Aggiungi una riga per campo, con Field name e Value:
| Nome del campo | Effetto |
|---|---|
first_name, last_name, email |
Aggiorna quel campo. |
unsubscribed |
Imposta lo stato marketing del contatto. Usa true per disiscrivere il contatto da tutte le campagne. Qualsiasi valore non vuoto vale come true. |
| Qualsiasi altro nome | Salva il valore nel campo personalizzato con quella chiave, mantenendo gli altri campi personalizzati. |
I valori possono usare segnaposto, ad esempio {{payload.object.audience.name}}. La modifica non genera un evento contact.updated, quindi non avvia automazioni Contact updated né webhook.
Forward email
Contesti Email ed Event. Invia una copia dell’email dell’esecuzione, con il contenuto e gli allegati originali, all’indirizzo indicato in Forward to. L’oggetto diventa «Fwd: » seguito dall’oggetto originale. L’email deve provenire da un dominio di invio verificato nel workspace, e ogni inoltro costa 1 credito. Vedi Inoltra con le automazioni.
Add to suppressions
Contesti Email ed Event. Aggiunge un indirizzo alla lista di soppressione con tipo recipient, che blocca ogni invio a quell’indirizzo, e con il motivo inserito in Reason (predefinito automation). Nelle automazioni di tipo Email, l’indirizzo è il destinatario dell’email. Nelle automazioni di tipo Event, imposta email con l’API, ad esempio {{payload.email}}. Il passaggio genera un evento suppression.created.
Remove from suppressions
Contesti Email ed Event. Rimuove l’indirizzo dalla lista di soppressione: il destinatario dell’email nelle automazioni di tipo Email, oppure email impostato con l’API nelle automazioni di tipo Event.
Create contact
Contesti Email ed Event. Crea un contatto e, se scegli una lista in Audience (optional), lo iscrive a quella lista.
- Nelle automazioni di tipo Email, il contatto è l’indirizzo del destinatario dell’email. Per le email ricevute, è l’indirizzo a cui è stata inviata l’email. Per creare invece un contatto per il mittente, imposta
emailsu{{email.mail_from}}con l’API. - Nelle automazioni di tipo Event, imposta
emaile, facoltativamente,first_namecon l’API. - Se il contatto esiste già, viene mantenuto così com’è e solo iscritto alla lista.
- Il passaggio non avvia le automazioni Added to audience.
Passaggi solo API
Questi passaggi si possono aggiungere con l’API ma non ancora nell’editor del pannello. Funzionano in tutti i contesti.
| Passaggio | Chiave API | Configurazione | Cosa fa |
|---|---|---|---|
| Call webhook | call_webhook |
url (obbligatorio), method (predefinito POST), headers, body |
Invia una richiesta HTTP con content type JSON e registra la risposta. Una risposta non 2xx o un timeout viene registrato come esito del passaggio (2xx, 4xx, 5xx, timeout o network_error) e non fa fallire l’esecuzione. |
| Run automation | run_automation |
automation_id (obbligatorio) |
Avvia un’esecuzione di un’altra automazione in esecuzione con lo stesso payload, poi prosegue. L’altra esecuzione costa i propri 3 crediti. Viene saltato se quell’automazione non è in esecuzione. |
| Random split | experiment |
variants: elenco di { "key", "weight" }, control facoltativo |
Indirizza ogni esecuzione su una diramazione a caso, in proporzione ai pesi. La diramazione di ogni variante prende il nome dalla sua key. Quando la diramazione di una variante termina, l’esecuzione prosegue sulla diramazione default del passaggio. |
| End | end |
Nessuna | Segna la fine di una diramazione. |
{
"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" }
}
}Diramazioni e collegamenti
Con l’API, un’automazione è un elenco di steps, ciascuno con una key univoca, e un elenco di connections dalla chiave di un passaggio a quella successiva:
{
"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èdefaultper un normale passaggio successivo,yesonodopo una condizione e la chiave di una variante dopo un random split.- Una condizione segue solo la diramazione che ha scelto. Un collegamento
defaultin uscita da una condizione non viene mai seguito. - Un passaggio con più collegamenti in uscita sulla stessa diramazione li avvia tutti, e le diramazioni vengono eseguite in parallelo.
- Ogni passaggio deve essere raggiungibile da un trigger. Nelle automazioni di tipo Contact ed Email con più trigger, tutti i trigger devono essere collegati allo stesso primo passaggio.
- Invia
stepseconnectionsinsieme quando aggiorni un’automazione. I passaggi le cui chiavi non cambiano mantengono cronologia e statistiche.
Quando un passaggio non riesce
Per impostazione predefinita, un passaggio non riuscito fa fallire l’intera esecuzione, e i passaggi rimanenti non vengono eseguiti. L’errore viene salvato sul passaggio, e puoi leggerlo nei dettagli dell’esecuzione nella scheda Runs. Per lasciare invece proseguire le esecuzioni oltre i passaggi non riusciti, imposta on_step_failure su skip nelle settings dell’automazione con l’API.
| Errore | Causa |
|---|---|
send_email: Template '…' not found or not published |
Il template è stato eliminato, oppure l’alias non ha una versione pubblicata. |
send_email: Sending domain is not verified or not found |
Il dominio del mittente non è verificato nel workspace. |
send_email: Unable to determine recipient address |
To (recipient) è vuoto, oppure il contatto non esiste più. |
send_email: Insufficient credits (…) |
Il workspace ha esaurito i crediti. |
Pro includes 50,000 subscribers per audience. (o il limite del tuo piano) |
Un passaggio Add to audience o Create contact ha trovato una lista piena. |
forward_email: Source email has no raw content to forward |
Il contenuto dell’email è già stato rimosso in base alle impostazioni di conservazione dei dati. |
Per trovare e correggere le esecuzioni non riuscite, vedi Esecuzioni e statistiche.