Skip to content
Back to Blog

Agente AI di WhatsApp per il Servizio Clienti

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.

Browse more

Tutorials, guides and case studies on running WhatsApp at team scale.

Ready for the official WhatsApp Business API?See what Meta charges — and keep your current number.
WhatsApp API pricing