Caso d'uso per il supporto: usa WhatsApp per creare un flusso con agente IA

Piani ActiveCampaign
Starter
Plus
Pro
Enterprise

Con la funzionalità WhatsApp di ActiveCampaign, puoi usare ChatGPT per creare un flusso che risponde alle domande più frequenti sulla tua attività. In questo modo il tuo team di Support può concentrarsi su problemi dei clienti più complessi e ti aiuta a fornire informazioni su prodotti o servizi 24/7, anche quando i tuoi agenti non sono online.

In questo articolo vedrai come creare un flusso di agente AI di supporto in entrata che risponde alle domande dei clienti, con una condizione di passaggio a un agente umano se la domanda è troppo complessa per l’IA.

Prendi nota

  • Per completare questa configurazione, ti serve:
  • Ti consigliamo di usare il playground se non hai ancora familiarità con l’API. Segna il tuo assistant_id, perché ti servirà più tardi
  • Questa opzione è pensata per utenti avanzati. Devi sentirti a tuo agio con il codice. Il nostro team di Assistenza Clienti non può aiutarti a implementare o a risolvere problemi di codice
  • Questo flusso richiede l’uso di un campo personalizzato di tipo testo per il contatto per salvare la risposta del cliente al tuo messaggio di benvenuto. Nei passaggi qui sotto, usiamo un campo chiamato "gpt_response". Scopri come creare un campo contatto personalizzato 

Crea un flusso Support GPT

Passaggio 1: Crea un nuovo flusso.

Dal tuo account ActiveCampaign:

  1. Fai clic su WhatsApp > Messaging Flows.
  2. Fai clic su "Nuovo flusso di messaggi".
  3. Nella scheda "Dettagli", dai al tuo flusso un nome breve ma descrittivo. Poi fai clic su "Avanti".
  4. Nella scheda "Trigger", decidi come i contatti entrano nel tuo flusso. Per questo esempio:
    • Seleziona "Inbound Message"
    • Seleziona "Any Message". In questo modo il flusso parte ogni volta che un lead o un contatto invia un messaggio al tuo numero di assistenza
    • Fai clic su "Avanti"

Passaggio 2: aggiungi un passaggio "Domanda" al tuo flusso.

Quando un cliente attiva il nostro flusso, vogliamo salutarlo con un messaggio o una domanda. Per farlo, aggiungeremo il passaggio "Domanda" al nostro flusso.

La risposta del cliente a questo step viene salvata nel flusso come variabile di step. Faremo riferimento a questa variabile nel passaggio 3 qui sotto.

Tieni presente che salviamo automaticamente nome, cognome e numero di telefono del cliente quando avvia un flusso in entrata.

  1. Seleziona l’opzione "Domanda", poi fai clic su "Aggiungi".
  2. Configura il passaggio “Domanda”:
    • Fai clic sull'icona a forma di matita e assegna un nome al tuo step. Ti consigliamo di usare nomi brevi e descrittivi. In questo esempio, chiameremo questo passaggio "Avvia conversazione"
    • Scrivi la domanda che vuoi fare nel campo indicato. Per esempio: "Ciao!" Come posso aiutarti oggi?” 
      Riquadro del suggerimento in verde: clicca sull'icona a forma di fulmine nel composer per personalizzare il messaggio. Per esempio, puoi salutare i clienti usando il loro nome.
    • Seleziona un tipo di risposta. Tieni presente che, a seconda del tipo di risposta che scegli, saranno necessarie configurazioni aggiuntive. Leggi l’articolo sul passaggio “Question” per maggiori informazioni
    • Imposta un messaggio di convalida della risposta
    • Fai clic sugli interruttori facoltativi per impostarli su "On":
      • Vai a un altro passaggio se il contatto non risponde correttamente alla domanda
      • Vai a un altro step se il contatto non risponde alla domanda entro un certo periodo di tempo
      • Fai qualcosa se il messaggio non viene inviato

Passaggio 3: salva la risposta del cliente

Ora vogliamo salvare la risposta del cliente rispetto al passaggio "Domanda" qui sopra. Per farlo, aggiungeremo lo step “Update contact” al nostro flusso. Il passo "Aggiorna contatto" salverà la risposta del cliente come valore di un campo personalizzato nel suo record contatto.

  1. Aggiungi il passaggio "Aggiorna contatto" al tuo flusso:
    • Fai clic sul nodo (“+”) sotto il passaggio "Domanda"
    • Seleziona "Aggiorna contatto"
  2. Configura il passaggio “Aggiorna contatto”:
    • Fai clic sull’icona a forma di matita e assegna un nome al tuo step. In questo esempio, chiameremo questo step “Crea/aggiorna contatto”
    • Fai clic sulla scheda "Personalizzato" > pulsante "Aggiungi proprietà"
    • Fai clic sul primo menu a discesa e seleziona il campo personalizzato che vuoi aggiornare con la risposta del cliente. In questo esempio useremo un campo contatto personalizzato chiamato "gpt_response" 
    • Ora dobbiamo collegare il nostro campo personalizzato alla variabile dello step che ha salvato la risposta del cliente. Per farlo, clicca sull’icona del fulmine, clicca su “Step Variables”, poi seleziona la variabile di step fornita. (Al momento dovrebbe essercene solo una in elenco)

      Esempio del passaggio di flusso Create Update contact. Questo mostra la proprietà e la variabile nella scheda personalizzata.

Passaggio 4: integra GPT per rispondere alle domande

In questo passaggio avvieremo un thread OpenAI per inviare la risposta dell’utente all’agente AI. 

  1. Aggiungi uno step “API” al tuo flusso:
    • Clicca sul nodo (+) sotto lo step “Aggiorna contatto” 
    • Seleziona "Connect APIs", poi fai clic su "Add"
  2. Configura il passaggio "Connect APIs":
    • Fai clic sull’icona a forma di matita e assegna un nome al tuo step. In questo esempio chiameremo questo step "Avvia thread OpenAI"
    • Seleziona "Post" sotto "Tipo di metodo"
    • Inserisci il seguente URL: https://api.openai.com/v1/threads
    • Seleziona "JSON" nella scheda "Body". Lascia vuoto il campo "Message body"
    • Nella scheda "Headers", aggiungi queste tre intestazioni:
      • Header 1: OpenAI-Beta / assistants=v2
      • Header 2: Content-Type / richiesta/json
      • Header 3: Authorization / Bearer YOUR_API_KEY

        Example of the Connect APIs flow step configuration.
  3. Gestire la risposta API:
    • OpenAI risponderà con un oggetto JSON che contiene il thread_id, e i dati saranno disponibili per il resto dell’esecuzione del flusso. Questi dati sono temporanei. Se hai bisogno di fare riferimento a questi dati dopo che il contatto esce dal flusso, ti consigliamo di salvarli 

Passaggio 5: invia la richiesta del cliente a OpenAI

  1. Aggiungi un altro step "API" al tuo flusso:
    • Fai clic sul nodo (+) sotto il ramo "Response" del passaggio precedente
    • Seleziona "Connect APIs", poi fai clic su "Add"
  2. Configura il passaggio "Connetti API":

    • Fai clic sull’icona a forma di matita e assegna un nome al tuo step. In questo esempio chiameremo questo step “Invia messaggio al thread OpenAI”
    • Seleziona "Post" sotto "Tipo di metodo"
    • Inserisci il seguente URLhttps://api.openai.com/v1/threads//messages
    • Ora dobbiamo aggiornare l’URL in modo che includa la risposta del cliente al nostro passaggio "Domanda". Per farlo:
      • Fai clic tra le due barre “//” nell’URL
      • Poi, clicca sull’icona a forma di fulmine > Variabili del passaggio
      • Seleziona la variabile dello step che contiene “":step.STEPNAME.response.ID.” Per continuare con il nostro esempio, la nostra variabile è: “step."Invia messaggio a OpenAI Thread.respose.id"
    • Nella scheda "Body", seleziona "JSON"
    • Aggiungi il seguente oggetto JSON nel body:
    {
    
      "role": "utente",
    
      "content": ""
    
    }
  3. Ora dobbiamo aggiornare l’oggetto JSON per fare riferimento al campo che abbiamo usato nel passaggio “Aggiorna contatto” qui sopra:
    • Fai clic tra le due virgolette (“”) nella riga del contenuto
    • Fai clic sull’icona a forma di fulmine > Contatto > Nome del campo. Per continuare con il nostro esempio, usiamo il campo chiamato "last_chatgpt_response"

Passaggio 6: esegui il thread OpenAI

  1. Aggiungi un passaggio API per eseguire l’assistente:
    • Fai clic sul nodo (+) sotto il ramo "Risposta"
    • Seleziona "Connect APIs", poi fai clic su "Add"
  2. Configura il passaggio “Collega API”:
    • Fai clic sull’icona a forma di matita e dai un nome al tuo step. In questo esempio lo chiameremo “Run OpenAI thread with messages”
    • Seleziona "POST" in "Tipo di metodo"
    • Inserisci il seguente URLhttps://api.openai.com/v1/threads//runs
    • Ora dobbiamo aggiornare l’URL in modo che includa l’ID della risposta del thread. Per farlo:
      • Fai clic tra le due barre “//” nell’URL
      • Poi, clicca sull’icona a forma di fulmine > Variabili di step
      • Seleziona la variabile del passaggio che contiene l’ID del thread di risposta. Per continuare con il nostro esempio, selezioniamo "step".Avvia OpenAI thread.response.id"
    • Nella scheda "Body", seleziona "JSON"
    • Aggiungi il seguente oggetto JSON nel body:
{
  "assistant_id": "YOUR_ASSISTANT_ID"
}
  • Tieni presente che dovrai inserire il tuo ID assistente. Puoi ottenere l’ID dell’assistente quando crei un nuovo assistant in OpenAI

Passaggio 7: controlla la risposta di GPT

Qui aggiungiamo un altro step "Connect APIs" per ottenere una risposta da OpenAI. Aggiungeremo anche uno step "Condizionale" per controllare se è stata inviata una risposta.

  1. Aggiungi il passaggio “Connetti API” per controllare la risposta:
    • Fai clic sul nodo (+) sotto il ramo "Risposta"
    • Seleziona "Connect APIs", poi fai clic su "Add"
  2. Configura il passaggio “Connetti API”:
    • Fai clic sull’icona a forma di matita e dai un nome al tuo step. Nel nostro esempio, chiameremo questo step "Get generated OpenAI"
    • Seleziona "Get" in "Method Type"
    • Inserisci il seguente URL: https://api.openai.com/v1/threads//messages
    • Ora dobbiamo aggiornare l’URL in modo che includa l’ID della risposta del thread. Per farlo:
      • Fai clic tra le due barre “//” nell’URL
      • Poi, clicca sull’icona del fulmine > Variabili del passaggio
      • Seleziona la variabile dello step che contiene l’ID del thread di risposta. Per continuare con il nostro esempio, selezioniamo "step".Avvia OpenAI thread.response.id"
    • Non selezionare nulla nella scheda "Body"
  3. Aggiungi un passaggio "Condizionale":
    • Fai clic sul nodo (+) sotto il ramo "Risposta" 
    • Seleziona “Conditional” poi fai clic su “Add”
    • Imposta la condizione per verificare se la risposta di OpenAI è vuota. Per farlo:
      • Dai un nome al tuo step. Nel nostro esempio lo chiameremo "Verifica se il messaggio è presente"
      • Usa i menu a discesa per scegliere le tue condizioni. Per il nostro esempio, useremo quanto segue:

Dove: passaggio.Ottieni il valore generato di OpenAI messages.response.data.0.role (is) equals assistant

Passaggio AND.Ottieni il messaggio generato da OpenAI messages.response.data.0.content.0.text.value "Is empty."
Fai clic sull’opzione "x No"


Example of the configuration fields for the Conditional step.

  1. Configura il ramo "Path 1":
  2. Configura il ramo "Else". Qui dobbiamo verificare se la risposta di GPT indica la necessità di un intervento umano:
    • Aggiungi un passaggio "Condizionale":
      • Fai clic sul nodo (+) sotto il ramo “Else” 
      • Seleziona "Condizionale" poi fai clic su "Aggiungi"
      • Configura il passaggio:
        • Dai un nome a questo step. Nel nostro esempio, lo chiameremo "Assegna a un umano"
        • Usa i menu a discesa per selezionare le tue condizioni. Puoi farlo controllare se nella risposta di GPT compaiono parole chiave o frasi specifiche che indicano la necessità di un intervento umano. Per il nostro esempio useremo quanto segue:

          Dove: step.Ottieni i messaggi generati di OpenAI "messages.response". Data.0.content.0.text.value 
          Contiene Assegna operatore umano

          Example of the Conditional step configuration.

Passaggio 8: configura il ramo "Percorso 1" sotto lo step "Condizionale"

  1. Fai clic sul nodo (+) sotto "Percorso 1".
  2. Seleziona “Domanda” e poi fai clic su “Aggiungi”.
    • Fai clic sull’icona a forma di matita e dai un nome al tuo step. Nel nostro esempio lo chiameremo "Continua chat"
    • Nel corpo del messaggio, clicca sull’icona del fulmine, poi clicca su "Step variables"
    • Seleziona la variabile dello step per lo step “Get generated OpenAI message”. Nel nostro esempio useremo "passo".Ottieni il messaggio generato da OpenAI message.reponse.data.0.content.0.text.value
    • Seleziona "Testo libero" come tipo di messaggio

      Example of Question step configuration.
  3. Fai clic sul nodo, poi aggiungi il passaggio “Aggiorna contatto”. Per configurare questo passaggio:
    • Fai clic sull'icona a forma di matita e dai un nome al tuo step. Nel nostro esempio, lo chiameremo "Crea/aggiorna contatto 2"
    • Fai clic sulla scheda "Personalizzato", poi fai clic su "Aggiungi proprietà"
    • Seleziona il campo personalizzato che hai creato per questo flusso. La nostra si chiama "last_chatgpt_response"
    • Per il valore, clicca sul fulmine, poi su "Variabili del passaggio"
    • Seleziona la variabile dello step precedente. In questo esempio, il nostro si chiama "step".Continua la chat"
  4. Fai clic sul nodo e aggiungi un passaggio "Vai a". Qui vogliamo che i contatti vadano al passaggio "Messaggio inviato al thread OpenAI". Per farlo:
    • Fai clic sull'icona della matita e dai un nome al tuo step. Noi lo chiamiamo "Torna a OpenAI"
    • Il passaggio che stiamo selezionando è “Send Message to OpenAI Thread”. Nota i due passaggi evidenziati nell’immagine qui sotto:

      Esempio del flusso Support GPT nel Flow Builder.

Passaggio 9: configura il ramo "Else" e assegna un agente

In quest’ultima parte del flusso aggiungeremo altri due passaggi che inviano un messaggio al contatto per fargli sapere che lo stiamo passando a un agente. L’ultimo passo è assegnare la conversazione all’agente.

  1. Fai clic sul nodo sotto il ramo "Else" e seleziona il passaggio "Messaggio". Per configurare questo passaggio:
    • Fai clic sull’icona a forma di matita e dai un nome al tuo step. Noi la chiameremo "Messaggio di assegnazione agente"
    • Fai clic sul menu a discesa per "Tipo di messaggio" e seleziona "Testo"
    • Per il corpo del messaggio, scrivi un breve testo per far sapere al cliente che sta per essere trasferito a un agente

      Example of the Message step configuration.
  2. Assegna la conversazione a un team o a un agente. Per farlo:
    • Fai clic sul nodo sotto il passaggio precedente, poi seleziona il passaggio "Conversazione"
    • Configura questo passaggio:
      • Fai clic sull’icona a forma di matita e dai un nome al tuo step. Noi lo chiamiamo "Assegna agente"
      • Per il menu a discesa “Utente/i a cui assegnare questa conversazione”, seleziona l’utente a cui vuoi inviare il messaggio
      • Fai clic sull’interruttore per l’impostazione "Append tags?". Questo significa che qualsiasi tag aggiunto al contatto o alla conversazione si andrà ad aggiungere ai tag già esistenti

Passaggio 10: salva e pubblica il flusso

Fai clic su "Publish" per attivare il flusso. 

Esempio di struttura del flusso

Ora il tuo flusso dovrebbe avere questa struttura:

  1. Attivazione: Qualsiasi messaggio in arrivo
  2. Fase di domanda: chiedi all’utente qual è la sua richiesta
  3. Fase Aggiorna contatto: salva la risposta dell’utente
  4. Fase di connessione delle API: integrazione di OpenAI per rispondere alle domande
  5. Fase di connessione delle API: invia la richiesta dell’utente a OpenAI
  6. Passaggio Connetti API: esegui il thread OpenAI con i messaggi
  7. Passaggio Connetti API: verifica la risposta di OpenAI
  8. Fase condizionale: controlla se è arrivata la risposta
    • Diramazione percorso 1:
      • Fase di attesa: Attendi 10 secondi
      • Vai al passaggio: torna indietro per controllare la risposta di OpenAI
    • Ramo else:
      • Passaggio condizionale: verifica se è necessario l’intervento umano
        • Ramo percorso 1:
          • Passaggio domanda: ottieni la risposta generata da OpenAI
          • Aggiorna passaggio contatto: aggiorna il campo personalizzato con le informazioni del cliente
          • Vai a passaggio: torna al passaggio “Invia messaggio al thread OpenAI” (passaggio 5 qui sopra)
        • Ramo "else":
          • Fase messaggio: fai sapere al cliente che lo stai passando a un agente.
          • Passaggio Assegna agente: assegna la conversazione a un agente

Passi finali

Invia un messaggio di prova al tuo numero di supporto per assicurarti che il flusso si attivi correttamente e che le risposte GPT siano accurate. Inoltre, tieni in considerazione le conversazioni reali che i tuoi utenti potrebbero avere e adatta di conseguenza il prompt GPT e la knowledge base per migliorare le risposte.

Hai altre domande? Contattaci

Start free trial