Agent IA WhatsApp pour le service client

26 septembre 2025

L'automatisation WhatsApp est devenue un outil essentiel pour les entreprises qui cherchent à améliorer les interactions clients, simplifier la gestion des rendez-vous et réduire la charge de travail manuelle. Aujourd'hui, nous explorons un workflow simple et efficace utilisant n8n et WhatsApp Business qui transforme la gestion des communications clients pour les PME et les agences.

Pourquoi automatiser les interactions WhatsApp est indispensable

Les attentes des clients sont plus élevées que jamais. Réponses immédiates, interactions personnalisées et gestion fluide des rendez-vous sont devenues la norme plutôt que l'exception. Heureusement, l'automatisation offre une solution efficace :

  • Réponses instantanées pour que vos clients se sentent valorisés.
  • Réduction des tâches manuelles pour libérer du temps à votre équipe.
  • Gestion efficace des données pour de meilleurs insights client.

Avec le bot WhatsApp Business utilisant n8n, vous pouvez atteindre tout cela sans effort.

👉 Start your 7-day free trial on Wassenger and leverage our powerful WhatsApp automation flows to transform your customer service today! ⚡

Comment fonctionne l'automatisation du bot WhatsApp

Ce workflow réunit Google Forms, WhatsApp et Google Sheets pour simplifier l'interaction client et la gestion des données :

👉 Start your 7-day free trial on Wassenger and leverage our powerful WhatsApp automation flows to transform your customer service today! ⚡

Étape 1 : Interaction client via Google Forms

Les clients remplissent un Google Form pour demander des informations, réserver des rendez-vous ou envoyer des demandes. Après soumission, ils reçoivent automatiquement une notification via WhatsApp.

Exemple : Imaginez une clinique dentaire où les patients réservent leurs rendez-vous via un simple Google Form. Une fois le formulaire soumis, ils reçoivent instantanément un message de confirmation de rendez-vous directement sur leur WhatsApp.

Étape 2 : Capture des messages des utilisateurs

Lorsqu'un client envoie un message à votre Wassemger Business bot, son message et ses coordonnées sont automatiquement renseignés dans une Google Sheet. Cela centralise les données clients, les rendant accessibles et faciles à gérer pour toute votre équipe.

Scénario : Si un client demande un replanification via WhatsApp, son message est enregistré directement dans Google Sheets, garantissant qu'aucune demande ne passe à travers les mailles du filet.

Étape 3 : Gestion des réponses simplifiée

Répondre aux clients est aussi simple que de mettre à jour votre Google Sheet. Il suffit de remplir la colonne ReplyText, de changer le statut en Ready, et le bot s'occupe du reste. En quelques secondes, n8n récupère ces messages et les envoie via WhatsApp.

Avantage concret : Supposons qu'un membre de votre équipe veuille relancer plusieurs demandes clients rapidement. Il met à jour chaque réponse dans la feuille, et en quelques instants, des réponses personnalisées atteignent chaque client via WhatsApp.

👉 Register on Wassenger with a 7-day free trial to easily set up your own WhatsApp customer support inbox flow and automate your interactions today! 🚀

Personnaliser le workflow selon vos besoins

La beauté de ce workflow n8n est sa flexibilité. Vous pouvez :

  • Connecter des outils supplémentaires comme des systèmes CRM pour enrichir les données clients.
  • Intégrer des calendriers pour la planification automatique des rendez-vous.
  • Améliorer les notifications avec des templates dynamiques pour personnaliser l'expérience client.

Copiez et utilisez ce workflow dès maintenant !

{
  "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"
  }
}

Exemple de personnalisation : Une agence de voyage pourrait intégrer son CRM pour récupérer les préférences des clients et envoyer automatiquement des suggestions de voyages hautement personnalisées via WhatsApp.

Principaux avantages de l'automatisation WhatsApp avec Wassenger

  • Engagement client instantané : Maintenez des taux de satisfaction élevés grâce à des messages opportuns et pertinents.
  • Efficacité opérationnelle : Réduisez les efforts manuels et rationalisez les tâches de communication.
  • Solutions évolutives : Gérez facilement une base client croissante et des workflows complexes.

Discover Wassenger Flows with the technology of n8n

Démarrer avec Wassenger et n8n

Prêt à améliorer votre service client et à automatiser vos communications ?

👉 Sign up for Wassenger with a 7-day free trial and discover how easy it is to integrate powerful WhatsApp automation into your business.

Faites passer vos interactions clients du bon à l'exceptionnel, un message WhatsApp automatisé à la fois. 🎉

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free