Agente AI di WhatsApp per il Servizio Clienti

26 settembre 2025

L'automazione di WhatsApp è diventata uno strumento fondamentale per le aziende che vogliono migliorare le interazioni con i clienti, semplificare la gestione degli appuntamenti e ridurre il lavoro manuale. Oggi esploriamo un flusso di lavoro semplice ed efficace usando n8n e WhatsApp Business che trasforma il modo in cui PMI e agenzie gestiscono le comunicazioni con i clienti.

Perché è essenziale automatizzare le interazioni su WhatsApp

Le aspettative dei clienti sono più alte che mai. Risposte immediate, interazioni personalizzate e gestione fluida degli appuntamenti sono la norma piuttosto che l'eccezione. Fortunatamente, l'automazione offre una soluzione efficace:

  • Risposte istantanee che fanno sentire i clienti valorizzati.
  • Riduzione delle attività manuali che libera tempo al tuo team.
  • Gestione efficiente dei dati che consente migliori insight sul cliente.

Con il bot WhatsApp Business utilizzando n8n, puoi ottenere tutto questo senza sforzo.

👉 Inizia la tua prova gratuita di 7 giorni su Wassenger e sfrutta i nostri potenti flussi di automazione WhatsApp per trasformare il tuo servizio clienti oggi! ⚡

Come funziona l'automazione del Bot WhatsApp

Questo flusso di lavoro mette insieme Google Forms, WhatsApp e Google Sheets per semplificare l'interazione con i clienti e la gestione dei dati:

👉 Inizia la tua prova gratuita di 7 giorni su Wassenger e sfrutta i nostri potenti flussi di automazione WhatsApp per trasformare il tuo servizio clienti oggi! ⚡

Passo 1: Interazione del cliente tramite Google Forms

I clienti compilano un Google Form per richiedere informazioni, prenotare appuntamenti o inviare richieste. Al momento dell'invio, ricevono automaticamente una notifica via WhatsApp.

Esempio: Immagina una clinica dentistica dove i pazienti prenotano i loro appuntamenti tramite un semplice Google Form. Una volta inviato il modulo, ricevono immediatamente un messaggio di conferma appuntamento direttamente su WhatsApp.

Passo 2: Registrazione dei messaggi degli utenti

Quando un cliente invia un messaggio al tuo Wassemger Business bot, il suo messaggio e i dettagli di contatto vengono automaticamente inseriti in un Google Sheet. Questo centralizza i dati dei clienti, rendendoli accessibili e gestibili per tutto il team.

Scenario: Se un cliente chiede di riprogrammare via WhatsApp, il suo messaggio viene registrato direttamente in Google Sheets, assicurando che nulla venga trascurato.

Passo 3: Gestione facile delle risposte

Rispondere ai clienti è semplice come aggiornare il tuo Google Sheet. Basta compilare la colonna ReplyText, impostare lo stato suReady e il bot si occupa del resto. In pochi secondi, n8n rileva questi messaggi e li invia tramite WhatsApp.

Vantaggio nel mondo reale: Supponiamo che un membro del team voglia seguire rapidamente più richieste dei clienti. Aggiorna ogni risposta nel foglio e, in pochi istanti, risposte personalizzate raggiungono ogni cliente tramite WhatsApp.

👉 Registrati su Wassenger con una prova gratuita di 7 giorni per configurare facilmente il tuo inbox di assistenza clienti WhatsApp e automatizzare le tue interazioni oggi! 🚀

Personalizzare il flusso di lavoro in base alle tue esigenze

La bellezza di questo flusso n8n è la sua flessibilità. Puoi:

  • Collegare strumenti aggiuntivi come sistemi CRM per dati cliente più ricchi.
  • Integrare calendari per la programmazione automatica degli appuntamenti.
  • Migliorare le notifiche con template dinamici per personalizzare l'esperienza del cliente.

Copia e usa questo flusso ora!

{
  "name": "Customer Support WhatsApp Bot with Google Docs Knowledge Base and Gemini AI",
  "nodes": [
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 1
          },
          "conditions": [
            {
              "id": "8a765e57-8e39-4547-a99a-0458df2b75f4",
              "operator": {
                "type": "object",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $('Wassenger Trigger').item.json }}",
              "rightValue": ""
            }
          ],
          "combinator": "and"
        },
        "options": {
          "looseTypeValidation": true
        }
      },
      "id": "3237130a-f8dd-4e66-b2bb-f29cbe963427",
      "name": "Is message?",
      "type": "n8n-nodes-base.if",
      "position": [240, 600],
      "typeVersion": 2
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "id": "1d2ce3be-f107-4949-8753-16ea3a97b7b1",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [0, 1020],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "options": {}
      },
      "id": "4f5189fd-a36a-468a-ab7f-512262e192e6",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [440, 1020],
      "typeVersion": 3
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit?usp=drivesdk",
          "cachedResultName": "WhatsApp Appointments(Responses)"
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1621824221,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit#gid=1621824221",
          "cachedResultName": "WA-messages"
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Status",
              "lookupValue": "Ready"
            }
          ]
        },
        "options": {}
      },
      "id": "164042e8-4b56-4432-9b46-dfdf4c93116a",
      "name": "Get new answers",
      "type": "n8n-nodes-base.googleSheets",
      "position": [220, 1020],
      "typeVersion": 4.4,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ckNCFcoJBFt2fiDJ",
          "name": "Google Sheets account 8"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit?usp=drivesdk",
          "cachedResultName": "WhatsApp Appointments(Responses)"
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1621824221,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit#gid=1621824221",
          "cachedResultName": "WA-messages"
        },
        "columns": {
          "value": {
            "Status": "Replied",
            "row_number": "={{ $('Loop Over Items').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "UserPhone",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "UserPhone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "UserName",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "UserName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "UserMessage",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "UserMessage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ReplyText",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "ReplyText",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": ["row_number"]
        },
        "options": {}
      },
      "id": "d31cdbd1-1384-4608-9822-64b643508689",
      "name": "Update message status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [840, 1020],
      "typeVersion": 4.4,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ckNCFcoJBFt2fiDJ",
          "name": "Google Sheets account 8"
        }
      }
    },
    {
      "parameters": {
        "amount": 1
      },
      "id": "c712f711-bc98-412f-940d-69af277c9126",
      "name": "Wait 1 sec",
      "type": "n8n-nodes-base.wait",
      "position": [1020, 1020],
      "webhookId": "df4df4f8-378c-4228-b1e2-326b9d956e7e",
      "typeVersion": 1.1
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1D5sI-FJNl6zH9P6DPkyD7-kifKX-TJnChdhsfLji50U",
          "mode": "list",
          "cachedResultName": "Chat logs",
          "cachedResultUrl": "google_drive_url"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "google_drive_url"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "TIMESTAMP": "={{ $json.data.timestamp }}",
            "USER": "={{ $json.data.toNumber }}",
            "MESSAGE": "={{ $json.data.body }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "TIMESTAMP",
              "displayName": "TIMESTAMP",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "USER",
              "displayName": "USER",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "MESSAGE",
              "displayName": "MESSAGE",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "RESPONSE",
              "displayName": "RESPONSE",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "id": "76e576d5-2bad-4588-a044-4091db02b3f7",
      "name": "New message from the user",
      "type": "n8n-nodes-base.googleSheets",
      "position": [500, 600],
      "typeVersion": 4.4,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ckNCFcoJBFt2fiDJ",
          "name": "Google Sheets account 8"
        }
      }
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyX",
              "value": 5,
              "unit": "minutes"
            }
          ]
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE",
          "cachedResultUrl": "google_drive_url",
          "cachedResultName": "WhatsApp Appointments(Responses)"
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 470797219,
          "cachedResultUrl": "",
          "cachedResultName": "Form Responses 1"
        },
        "event": "rowAdded",
        "options": {}
      },
      "id": "906a1913-5356-4cb1-936b-489afcb58153",
      "name": "Get new entries",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [20, 160],
      "typeVersion": 1,
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "3JS9kFioVK3IrITX",
          "name": "Google Sheets Trigger account 2"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b9bfdb33-0d9c-4320-b4bc-0bf0a469c8ca",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json[\"I consent to receive WhatsApp notifications regarding my appointments\"] }}",
              "rightValue": "Yes"
            }
          ]
        },
        "options": {}
      },
      "id": "88ac4ee1-d83e-46f6-9241-1ad92458c527",
      "name": "User consented for WA messages?",
      "type": "n8n-nodes-base.filter",
      "position": [240, 160],
      "typeVersion": 2
    },
    {
      "parameters": {
        "content": "## Send a WhatsApp(WA) template message\nOccurs after a user submits a new Google form.If the user opted-in for WA notifications during the form submission, a template message will be sent via WhatsApp.\n\n**IMPORTANT!**\n1.You will need to create a new [wassenger account](https://wassenger.com/register)\n2.Once connected to Wassenger your WhatsApp number will be ready to use:)",
        "height": 405,
        "width": 745
      },
      "id": "3f31fb13-7238-4fb3-a2ff-421b8b0f2408",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [-20, -80],
      "typeVersion": 1
    },
    {
      "parameters": {
        "content": "## Store incoming WhatsApp user messages in a Google Sheet\nTo receive user messages, you need to add a Wassenger Trigger node\n\nOnce the trigger receives a payload from your customer, we check if the incoming data contains a message and add a new row with user data and message text in [Google Sheet](https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit?gid=1621824221#gid=1621824221).\n\nWassenger trigger also receives status notifications(i.e.message sent, message read etc.), so we ignore such notifications in this workflow.",
        "height": 458,
        "width": 752
      },
      "id": "b4827163-9ea5-4857-b367-ac8dd02148c8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [-20, 340],
      "typeVersion": 1
    },
    {
      "parameters": {
        "content": "## Reply to the user via WhatsApp\nWhatsApp allows sending automatic messages **with custom text** via bots only within the 24h time frame after the last incoming user message.\n\nAfter the user sends a message to the WhatsApp bot, a row is added to the [Google Sheet](https://docs.google.com/spreadsheets/d/1T-B0yepcrCHxQpn7Sj6QjTa0VqwwVBQhO5ZcIUSxWJE/edit?gid=1621824221#gid=1621824221) with the Status 'New'\n\nType something in the `ReplyText` column and change the Status to 'Ready'.\nIn a few minutes, Flows timer will fetch all 'Ready' replies from the Google Sheet and send them one by one to the recipients",
        "height": 369.34131736526945,
        "width": 1197.9640718562885
      },
      "id": "129153f7-ee86-4200-b6c0-06798c431051",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [-20, 820],
      "typeVersion": 1
    },
    {
      "parameters": {
        "device": "device_id",
        "phone": "={{ $json['Your mobile number'] }}",
        "options": {}
      },
      "type": "n8n-nodes-wassenger.wassenger",
      "typeVersion": 1,
      "position": [460, 160],
      "id": "26d678c0-b581-449a-8540-c6209bf99ced",
      "name": "Wassenger",
      "credentials": {
        "wassengerApiKey": {
          "id": "your_api_key",
          "name": "Wassenger Key account 9"
        }
      }
    },
    {
      "parameters": {
        "device": "device_id",
        "events": ["message:in:new"],
        "sampleEvent": "inbound-text"
      },
      "type": "n8n-nodes-wassenger.wassengerTrigger",
      "typeVersion": 1,
      "position": [20, 600],
      "id": "71c82d9c-1ab6-4b83-9c5a-c0a714d42325",
      "name": "Wassenger Trigger",
      "webhookId": "38a35cf6-5aa7-434e-9bf3-bcd31717e1d4",
      "credentials": {
        "wassengerApiKey": {
          "id": "your_api_key",
          "name": "Wassenger Key account 9"
        }
      }
    },
    {
      "parameters": {
        "device": "device_id",
        "phone": "={{ $('Wassenger Trigger').item.json.data.fromNumber }}",
        "options": {}
      },
      "type": "n8n-nodes-wassenger.wassenger",
      "typeVersion": 1,
      "position": [660, 1020],
      "id": "1fcb9b18-4319-4bf3-b6b3-8be3a09ac969",
      "name": "Wassenger1",
      "credentials": {
        "wassengerApiKey": {
          "id": "your_api_key",
          "name": "Wassenger Key account"
        }
      }
    }
  ],
  "pinData": {},
  "connections": {
    "Wait 1 sec": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is message?": {
      "main": [
        [
          {
            "node": "New message from the user",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get new answers": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get new entries": {
      "main": [
        [
          {
            "node": "User consented for WA messages?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get new answers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update message status": {
      "main": [
        [
          {
            "node": "Wait 1 sec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User consented for WA messages?": {
      "main": [
        [
          {
            "node": "Wassenger",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wassenger Trigger": {
      "main": [
        [
          {
            "node": "Is message?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Wassenger1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wassenger1": {
      "main": [
        [
          {
            "node": "Update message status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  }
}

Esempio di personalizzazione: Un'agenzia di viaggi potrebbe integrare il proprio CRM per estrarre le preferenze dei clienti e inviare automaticamente suggerimenti di viaggio altamente personalizzati via WhatsApp.

Vantaggi chiave dell'automazione WhatsApp con Wassenger

  • Coinvolgimento immediato dei clienti: Mantieni alti livelli di soddisfazione con messaggi tempestivi e pertinenti.
  • Efficienza operativa: Riduci gli sforzi manuali e semplifica le attività di comunicazione.
  • Soluzioni scalabili: Gestisci facilmente basi di clienti in crescita e flussi di lavoro complessi.

Scopri Wassenger Flows con la tecnologia di n8n

Per iniziare con Wassenger e n8n

Pronto a elevare il tuo servizio clienti e automatizzare le comunicazioni?

👉 Iscriviti a Wassenger con una prova gratuita di 7 giorni e scopri quanto è facile integrare potenti automazioni WhatsApp nella tua attività.

Porta le tue interazioni con i clienti da buone a eccezionali, un messaggio WhatsApp automatizzato alla volta. 🎉

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free