Agent IA WhatsApp pour le service client modèle de flux de travail N8n inclus

25 juin 2025

WhatsApp automation est devenue un outil crucial pour les entreprises souhaitant améliorer les interactions avec les 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 manière dont les PME et les agences gèrent les communications clients.

Pourquoi automatiser les interactions WhatsApp est essentiel

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 apporte 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 clients.

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

👉 Commencez votre essai gratuit de 7 jours sur Wassenger et profitez de nos puissants flux d'automatisation WhatsApp pour transformer votre service client dès aujourd'hui ! ⚡

Comment fonctionne l'automatisation du bot WhatsApp

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

👉 Commencez votre essai gratuit de 7 jours sur Wassenger et profitez de nos puissants flux d'automatisation WhatsApp pour transformer votre service client dès aujourd'hui ! ⚡

Étape 1 : Interaction client via Google Forms

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

Exemple : Imaginez une clinique dentaire où les patients prennent 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 : Récupération des messages des utilisateurs

Lorsqu'un client envoie un message à votre Wassemger Business bot, son message et ses coordonnées sont automatiquement ajouté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 changement de rendez‑vous via WhatsApp, son message est enregistré directement dans Google Sheets, garantissant qu'aucune demande ne passe entre les mailles du filet.

Étape 3 : Gestion simple des réponses

Répondre aux clients est aussi simple que mettre à jour votre Google Sheet. Remplissez la colonne ReplyText, changez 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 doive relancer rapidement plusieurs demandes clients. Il met à jour chaque réponse dans la feuille, et en quelques instants des réponses personnalisées atteignent chaque client via WhatsApp.

👉 Inscrivez‑vous sur Wassenger avec un essai gratuit de 7 jours pour configurer facilement votre propre flux de boîte de support client WhatsApp et automatiser vos interactions dès aujourd'hui ! 🚀

Personnaliser le workflow selon vos besoins

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

  • Connecter des outils supplémentaires comme des 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 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 voyages pourrait intégrer son CRM pour extraire les préférences clients et envoyer automatiquement des suggestions de voyage 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 pertinents et opportuns.
  • Efficacité opérationnelle : Réduisez les efforts manuels et optimisez les tâches de communication.
  • Solutions évolutives : Gérez facilement une base de clients croissante et des workflows complexes.

Découvrez Wassenger Flows avec la technologie de n8n

Commencer avec Wassenger et n8n

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

👉 Inscrivez‑vous sur Wassenger avec un essai gratuit de 7 jours et découvrez comme il est facile d'intégrer une puissante automatisation WhatsApp dans votre entreprise.

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