Vai al contenuto principale

Automazioni per utenti avanzati

Gestisci scenari di automazione complessi: dai flussi multicanale al controllo intelligente delle automazioni

Mika Hally avatar
Scritto da Mika Hally
Aggiornato oggi

Questo articolo tratta concetti avanzati che ti aiutano a padroneggiare scenari di automazione complessi ed evitare errori comuni.

Lavorare con più automazioni

Non appena inizi a creare più automazioni, possono sorgere rapidamente problemi, soprattutto quando più automazioni ascoltano lo stesso segnale: un nuovo messaggio in arrivo.

Comprendere il problema

I diversi trigger di messaggi ascoltano tutti lo stesso segnale di base (un messaggio in arrivo), ma con circostanze diverse:

  • Nuova conversazione in arrivo: Circostanza: Deve essere il primo messaggio di una conversazione E deve provenire dal contatto

  • Conversazione riaperta: Circostanza: La conversazione esistente ha stato "Completata" E il contatto invia un nuovo messaggio (non quando l'agente la riapre)

  • Il contatto scansiona il codice QR / apre il link: Circostanza: Essenzialmente "Nuovo messaggio in arrivo" + contenuto del messaggio già precompilato

  • Nuovo messaggio in arrivo: Circostanza: Nessuna ulteriore restrizione - ogni messaggio attiva il trigger

Quando sorgono problemi?

I trigger sopra elencati (Nuova conversazione, Riaperta, Codice QR) sono mutuamente esclusivi perché hanno il filtro già integrato nel trigger. Non possono attivarsi contemporaneamente per lo stesso messaggio.

I problemi sorgono solo quando utilizzi "Nuovo messaggio in arrivo". Questo trigger non ha restrizioni e può quindi attivarsi sempre contemporaneamente agli altri trigger.

Esempio: Quando le cose vanno male

Hai creato due automazioni:

Automazione 1:

  • Trigger: "Nuova conversazione in arrivo"

  • Azione: L'agente AI risponde alla richiesta

Automazione 2:

  • Trigger: "Nuovo messaggio in arrivo"

  • Filtro: Il messaggio contiene "Aiuto"

  • Azione: Invia il link al centro assistenza

Cosa succede quando un cliente scrive per la prima volta: "Aiuto, ho bisogno di supporto"?

  1. L'automazione 1 si attiva (nuova conversazione) → L'agente AI inizia a rispondere

  2. L'automazione 2 si attiva contemporaneamente (il messaggio contiene "Aiuto") → Viene inviato il link al centro assistenza

  3. Il contatto riceve 2 messaggi contemporaneamente - uno dall'agente AI E il link al centro assistenza

  4. Il contatto è confuso, la comunicazione sembra scoordinata

Il problema: Entrambe le automazioni vengono eseguite in parallelo e non sono a conoscenza l'una dell'altra.

La soluzione: L'automazione più generale verifica e cede il passo

La soluzione migliore per questo problema: Far sì che l'automazione più generale verifichi se un'automazione più specifica è già in esecuzione. Se sì → si interrompe.

Nel nostro esempio, l'Automazione 1 è più generale (solo trigger, nessuna condizione aggiuntiva), l'Automazione 2 è più specifica (trigger + filtro "contiene Aiuto").

Ecco come costruirla:

Automazione 1 (quella più generale):

  1. Trigger: "Nuova conversazione in arrivo"

  2. Nodo "Attendi / Pausa": Attendi 4 secondi

  3. Nodo "Filtro / Condizione": Automazione attiva

    • Percorso 1: Non contiene nessuna di "Automazione 2" → Continua verso l'agente AI

    • Altrimenti: L'automazione si interrompe (non fare nulla)

  4. Nodo "Agente AI"

Automazione 2 rimane invariata (nessuna modifica necessaria)

Cosa succede ora?

Scenario 1: Il cliente scrive "Aiuto, ho bisogno di supporto"

  1. Entrambe le automazioni si attivano contemporaneamente

  2. L'Automazione 2 parte immediatamente (filtro "contiene Aiuto" → corrisponde)

  3. L'Automazione 1 attende 4 secondi

  4. Dopo 4 secondi: Il filtro verifica se l'Automazione 2 è attiva → Sì, è in esecuzione

  5. L'Automazione 1 si interrompe → Il contatto riceve solo il link al centro assistenza

Scenario 2: Il cliente scrive "Ciao, ho una domanda"

  1. Entrambe le automazioni si attivano contemporaneamente

  2. L'Automazione 2 verifica il filtro "contiene Aiuto" → non corrisponde → si interrompe immediatamente

  3. L'Automazione 1 attende 4 secondi

  4. Dopo 4 secondi: Il filtro verifica se l'Automazione 2 è attiva → No, non è più in esecuzione

  5. L'Automazione 1 continua → Il contatto riceve la risposta dell'agente AI

Perché attendere 4 secondi?

Senza il tempo di attesa, potrebbero verificarsi problemi di tempistica - l'Automazione 1 verifica se l'Automazione 2 è in esecuzione prima che questa sia anche solo partita o abbia controllato i suoi filtri. I 4 secondi danno all'Automazione 2 abbastanza tempo per avviarsi ed eseguire i suoi filtri.

Importante - La regola:

L'automazione più generale (meno filtri, portata più ampia) dovrebbe verificare e cedere il passo - non quella più specifica. Perché? Perché l'automazione più specifica è più mirata e dovrebbe avere la priorità nei casi in cui si applica.

Cosa ricordare per più automazioni

I problemi con più automazioni sovrapposte si risolvono sempre con una combinazione di:

  • Nodo "Attendi / Pausa" - Dà alle altre automazioni il tempo di avviarsi

  • Filtro "Automazione attiva" - Verifica quali altre automazioni sono attualmente in esecuzione

  • Nodo "Termina altre automazioni" - Termina specificamente altre automazioni che non dovrebbero continuare a essere eseguite

Con questi tre strumenti puoi gestire qualsiasi collisione di automazioni.

Lavorare con automazioni omnicanale

Un'automazione può essere eseguita su più canali contemporaneamente. Ciò significa che puoi iniziare a comunicare con un contatto tramite WhatsApp in una singola automazione e poi continuare via email.

Come funziona?

Scenario di esempio:

  1. Trigger: "Il contatto scansiona il codice QR" (WhatsApp)

  2. Nodo "Fai una domanda": "Qual è il tuo indirizzo email?"

  3. Nodo "Modifica contatto": Salva l'email nel contatto

  4. Ora arriva il trucco: Nodo "Invia messaggio"

Nel nodo "Invia messaggio" normalmente il campo "A" è precompilato con "Conversazione dal trigger". Ciò significa che il messaggio verrà inviato alla conversazione WhatsApp.

Ma: Puoi invece selezionare "Al contatto".

Non appena lo fai, appare un nuovo menu a tendina con solo email e SMS come opzioni (questi sono gli unici canali in uscita che supportiamo).

Seleziona "Email" o "SMS", componi il tuo messaggio - e una seconda conversazione viene aperta all'interno della stessa automazione.

Perché non WhatsApp?

WhatsApp non appare qui perché esiste un nodo dedicato: "Invia template WhatsApp". WhatsApp ha regole più severe (finestra di 24 ore, solo template approvati fuori dalla finestra) - ecco perché esiste un nodo separato. Per email e SMS si utilizza il nodo "Invia messaggio" regolare.

Cosa significa questo per la tua automazione?

Dal momento in cui hai aperto una seconda conversazione, hai due conversazioni parallele:

  1. La conversazione WhatsApp (dal trigger)

  2. La conversazione email (dal nodo "Invia messaggio")

Importante: Per tutte le azioni basate su una conversazione, ora devi selezionare a quale conversazione applicare l'azione.

Esempio: Aggiorna etichetta

Dopo il nodo "Invia messaggio" (email) aggiungi un nodo "Aggiorna etichetta".

  • Prima: Solo un campo "Etichetta" - è chiaro a quale conversazione ci si riferisce (quella dal trigger)

  • Ora: Campo aggiuntivo in alto: "Conversazione" con menu a tendina:

    • "Conversazione dal trigger" (conversazione WhatsApp)

    • "Conversazione dall'invio email" (conversazione email)

Devi scegliere esplicitamente a quale conversazione vuoi aggiungere l'etichetta.

Quali nodi sono interessati?

Tutti i nodi che lavorano sulle conversazioni necessitano della selezione:

  • Aggiorna etichetta

  • Contrassegna conversazione come completata

  • Contrassegna conversazione come spam

  • Elimina conversazione

  • Sposta conversazione in un'altra Inbox

  • Assegna conversazione

  • Crea nota

Esempio di utilizzo: Fallback per problemi di consegna

Scenario: Utilizzi un trigger webhook (ad esempio, dal tuo sistema di e-commerce) per notificare i clienti tramite WhatsApp. Ma cosa succede se il contatto non ha un numero WhatsApp salvato o non è raggiungibile su WhatsApp?

Configurazione dell'automazione:

  1. Trigger: Webhook in arrivo (ad esempio, "Ordine effettuato")

  2. Nodo "Invia template WhatsApp": Invia conferma ordine tramite WhatsApp

  3. Percorsi successivi dal nodo template WhatsApp:

    • Percorso di errore: Messaggio non consegnato (ad esempio, perché il contatto non è su WhatsApp, ecc.)

  4. Nel percorso di errore: Nodo "Invia messaggio"

    • A: Contatto

    • Canale: Seleziona email o SMS

    • Componi la stessa conferma d'ordine

  5. Risultato: Il contatto riceverà sicuramente la notifica - o tramite WhatsApp o, in alternativa, tramite email/SMS

Variabili di automazione vs attributi di contatto

Nelle automazioni esistono due tipi di dati: le variabili di automazione e gli attributi di contatto. La differenza è importante.

La differenza

Attributi di contatto:

  • Sono memorizzati permanentemente sul contatto

  • Rimangono anche dopo la fine dell'automazione

  • Possono essere utilizzati in altre automazioni

  • Visibili nella visualizzazione dettagliata del contatto

  • Esempi: Nome, email, telefono, attributi personalizzati del contatto

Variabili di automazione:

  • Esistono solo mentre l'automazione è in esecuzione

  • Scompaiono dopo la fine dell'automazione

  • NON possono essere utilizzate in altre automazioni

  • Non visibili al di fuori dell'automazione

  • Esempi: Risposta da "Fai una domanda", risposta HTTP, ecc.

Variabile di sistema: Data / ora corrente

Una variabile di automazione particolarmente importante è la variabile di sistema "Data / ora corrente".

Perché è così preziosa?

Puoi utilizzarla per memorizzare timestamp negli attributi di contatto e poi utilizzarli per la logica di temporizzazione.

Esempio: Tracciare l'ultimo intervento manuale

  1. Crea un attributo di contatto "Ultimo intervento manuale" (tipo: Data/ora)

  2. Automazione con trigger "Conversazione contrassegnata come completata" → Aggiorna contatto: Imposta "Ultimo intervento manuale" sulla variabile di sistema "Data / ora corrente"

  3. Un'altra automazione con trigger "Conversazione nuova/riaperta" → Filtro: "Ultimo intervento manuale" è più di 30 minuti fa → Se sì: All'agente AI, Se no: Direttamente al team

Nodi con variabili di output

Molti nodi creano variabili di automazione dopo essere stati eseguiti. Puoi utilizzarle nei nodi successivi.

Tutti i trigger di messaggi

Ogni trigger di messaggio (Nuova conversazione in arrivo, Nuovo messaggio in arrivo, Conversazione riaperta, ecc.) restituisce le seguenti variabili:

  • Nome Inbox - In quale Inbox si trova la conversazione

  • Contenuto del messaggio - Cosa ha scritto il contatto

  • Canale - Tramite quale canale (ad es. "+391234567890", "test@superchat.it")

Trigger Webhook

Restituisce tutte le variabili mappate che hai definito nella configurazione del trigger sotto "Variabili salvate".

Esempio:

Shopify invia order_id → Mappi sulla variabile "numero_ordine" → Utilizzi nel messaggio: "Il tuo ordine #{{numero_ordine}} è stato ricevuto"

Trigger Manuale

Se il trigger manuale ha campi di input, questi vengono restituiti come variabili. Inoltre, il trigger manuale restituisce anche il nome dell'Inbox in cui è stata attivata l'automazione.

Esempio:

Campo di input "Codice sconto" → L'utente inserisce "ESTATE20" → Utilizzi nel messaggio: "Ecco il tuo codice: #{{codice_sconto}}"

Nodo Richiesta HTTP

Restituisce le seguenti variabili:

  • Codice di stato - Come testo (ad es. "200", "404", "500")

  • Corpo della risposta - L'intera risposta

  • Variabili salvate - Tutti i campi che hai mappato dalla risposta sotto "Variabili salvate"

Esempio:

L'API restituisce {customer_name: "Mario"} → Mappi su "customer_name" → Utilizzi: "Ciao #{{customer_name}}"

Nodo Formatta Dati

Restituisce il risultato formattato come variabile.

Esempio:

Input: "2024-05-20" → Trasformazione: Formatta in "20 maggio 2024" → La variabile contiene "20 maggio 2024"

Tutti i nodi di messaggio con interazione

I seguenti nodi di messaggio restituiscono la risposta del contatto come variabile:

  • Lista WhatsApp - Quale elemento della lista è stato cliccato

  • Risposte rapide WhatsApp - Quale risposta rapida è stata cliccata

  • Live chat interattiva - Quale opzione è stata selezionata

  • Fai una domanda - Cosa ha risposto il contatto

Importante: La variabile contiene o il pulsante/elemento selezionato O il testo libero se il contatto ha scritto qualcos'altro.

Esempio Fai una domanda:

  • Chiedi: "Come ti chiami?"

  • Il contatto risponde: "Mario Rossi"

  • La variabile contiene: "Mario Rossi"

  • Utilizzi nel nodo successivo: "Grazie #{{fai_domanda.risposta}}!"

Nodo Attendi Risposta

Esiste un nodo di follow-up speciale "Attendi risposta" che restituisce anche la risposta del contatto come variabile. Questo nodo può essere utilizzato solo in due punti specifici:

1. Dopo il nodo "Invia messaggio":

Puoi posizionare "Attendi risposta" direttamente dopo qualsiasi nodo "Invia messaggio". L'automazione si mette quindi in pausa fino a quando il contatto non risponde e restituisce la risposta come variabile.

2. Dopo il trigger "Template WhatsApp inviato":

Puoi posizionare "Attendi risposta" dopo questo trigger, ma solo se il template selezionato non contiene elementi interattivi (risposte rapide o elementi di lista). I pulsanti call-to-action sono consentiti, ma nessun elemento di messaggio interattivo.

Perché questa restrizione?

Per i template con risposte rapide o elementi di lista, esistono già percorsi di follow-up automatici per ogni opzione di risposta. Il nodo "Attendi risposta" sarebbe ridondante e porterebbe a conflitti.

Output:

Il nodo restituisce la risposta del contatto come variabile, proprio come gli altri nodi di messaggio.

Maggiori dettagli:

Questo nodo è trattato in dettaglio nell'articolo "Nodi di messaggio".

Nodo Assegna

Se l'assegnazione segue una regola "Round Robin" o "Carico di lavoro", il nodo restituisce le seguenti variabili:

  • Nome - Nome dell'utente assegnato

  • Cognome - Cognome dell'utente assegnato

Esempio:

"La tua richiesta è stata inoltrata a #{{assegna_conversazione.nome}}. Il nostro team ti risponderà a breve!"

Hai ricevuto la risposta alla tua domanda?