How To Stop Losing Customers Who Are Sick Of Repeating Themselves

July 17, 2025

Personalised customer interactions can make all the difference between a one-time purchase and a loyal customer. Imagine having a WhatsApp bot that not only responds to customer inquiries but remembers important details about them, their preferences, past issues, and personal information they’ve shared. This level of personalisation was once only possible with dedicated customer service teams, but now small businesses can achieve it through automation with Wassenger and n8n.

🚀 🤖 Try Wassenger free for 7 days and see how easy it is to create an AI chatbot for WhatsApp. For technical questions, explore our comprehensive API documentation or test integration scenarios with our API Tester featuring over 100 examples. 🔥

Why Customer Memory Matters in Conversational AI

Standard chatbots treat every conversation as if it’s the first interaction with a customer. This creates frustrating experiences where customers have to repeat themselves constantly:

I already told you my order number yesterday.” “We discussed this issue last week.” “I mentioned I’m allergic to nuts the last three times I ordered!

A bot with memory changes everything. It creates natural, flowing conversations that build upon previous interactions, making customers feel truly understood and valued.

Benefits of a Memory-Powered WhatsApp Bot for Small Businesses

  • Increased customer satisfaction: Customers feel understood when they don’t have to repeat themselves
  • Higher conversion rates: Personalised recommendations based on remembered preferences
  • Reduced support workload: Bot handles routine follow-ups with context awareness
  • Improved customer loyalty: Personalised experiences create stronger emotional connections
  • Better data collection: Naturally gather customer information through conversation
  • Seamless handoffs: When human agents need to step in, they have complete conversation history

How the Memory Bot Works

This solution combines several powerful technologies:

  1. Wassenger: Provides instant WhatsApp connectivity without Meta’s WABA approval process
  2. n8n: Orchestrates the workflow between all components
  3. Google Gemini: Powers the AI conversation capabilities
  4. Supabase: Stores customer memories in a structured database

When a customer messages your business on WhatsApp, the bot:

  1. Retrieves any previous memories about this customer
  2. Processes the new message with context from past interactions
  3. Identifies and extracts important new information shared by the customer
  4. Stores these new “memories” for future reference
  5. Responds naturally without explicitly telling the customer it’s remembering details

The magic happens because the bot doesn’t just respond to the current message; it has access to the entire conversation history and important facts the customer has shared over time.

🚀 🤖 Try Wassenger free for 7 days and see how easy it is to create an AI chatbot for WhatsApp. For technical questions, explore our comprehensive API documentation or test integration scenarios with our API Tester featuring over 100 examples. 🔥

What You’ll Need

  • A Wassenger account (7-day free trial available, no credit card required)
  • An n8n account (self-hosted). A cloud-hosted version will be released soon within the Wassenger app
  • A Supabase account (free tier available)
  • A Gemini account for AI capabilities (or another AI service provider)

Setting Up Your Memory-Powered WhatsApp Bot

Step 1: Create Your Wassenger Account

Sign up for a Wassenger account to get instant WhatsApp API access without Meta’s WABA approval process. Wassenger offers several advantages for this type of bot:

  • Instant activation: Start building your memory bot immediately
  • No template restrictions: Allow natural conversations without pre-approved templates
  • Rich media support: Exchange images, documents, and other media types
  • Advanced webhook system: Seamlessly integrate with n8n

Step 2: Install the Official Wassenger Node in n8n

  1. In n8n, go to Settings > Community Nodes
  2. Search for “n8n-nodes-wassenger” and install it
  3. Add your Wassenger API key to n8n

Step 3: Import the Memory Bot Workflow

Import the following workflow JSON into your n8n instance:

{
  "name": "Bot that remembers you",
  "nodes": [
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $('Wassenger Trigger').item.json.messages[0].text.body }}",
        "options": {
          "systemMessage": "=# ROLE\nYou are a friendly AI assistant.\nYou are currently talking to a user over WhatsApp.\n\n# RULES\nWhen the user sends a new message, decide if they shared any **noteworthy information** that should be **saved in memory** for future reference.\n\nIf so, use the **Save Memory** tool to store this information.\nDO NOT inform the user that you are saving this information.\n\nSimply continue the conversation as normal.\n\n# Tools\n## Save Memory\nUse this tool to **store any important facts** shared by the user.\nSummarize the information clearly and pass it to this tool.\n\n# Memories\nThese are the **last stored facts** collected from the user(including date/time).\n\n{{ $json.ConversationMemories.toJsonString() }}\n\n!! IMPORTANT !!\nTake these stored facts into account when replying.\nIf a fact was already stored, do not repeat asking for it.\n\nRespond naturally and conversationally.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.8,
      "position": [320, 0],
      "id": "d4cfc832-72db-49bd-affe-816c6de18334",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "tableId": "ConversationMemory",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "message",
              "fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Field_Value', ``, 'string') }}"
            },
            {
              "fieldId": "sender",
              "fieldValue": "={{ $('Wassenger Trigger').item.json.messages[0].from }}"
            },
            {
              "fieldId": "recipient",
              "fieldValue": "={{ $('Wassenger Trigger').item.json.metadata.display_phone_number }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabaseTool",
      "typeVersion": 1,
      "position": [540, 220],
      "id": "741638b6-ae0e-4e87-b4b9-a189ff19bd1e",
      "name": "Save Message"
    },
    {
      "parameters": {
        "operation": "getAll",
        "tableId": "ConversationMemory",
        "returnAll": true,
        "filters": {
          "conditions": [
            {
              "keyName": "sender",
              "condition": "eq",
              "keyValue": "={{ $json.messages[0].from }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [-60, 0],
      "id": "250183ba-d05f-46ee-a4a0-31f0f5b34752",
      "name": "Get Memory"
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "ConversationMemories",
        "include": "specifiedFields",
        "fieldsToInclude": "message, created_at ",
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [140, 0],
      "id": "7cf53530-001e-4002-9d45-d033ceb2b643",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "events": ["message:in:new"]
      },
      "type": "n8n-nodes-wassenger.wassengerTrigger",
      "typeVersion": 1,
      "position": [-280, 0],
      "id": "9184e768-5870-48b5-98e1-fca844a6664f",
      "name": "Wassenger Trigger",
      "webhookId": "08226e65-d279-4280-b200-e6aa6ed109aa"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-wassenger.wassenger",
      "typeVersion": 1,
      "position": [660, 0],
      "id": "879b67a5-4c24-4e70-8209-b3155fd3bb20",
      "name": "Wassenger"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [280, 220],
      "id": "ba0f6ca2-32aa-41b1-b4e3-d97d8667d3b9",
      "name": "Google Gemini Chat Model"
    }
  ],
  "connections": {
    "Save Message": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Memory": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wassenger Trigger": {
      "main": [
        [
          {
            "node": "Get Memory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Wassenger",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

Step 4: Set Up Supabase for Memory Storage

  1. Create a new Supabase project
  2. Create a table called “ConversationMemory” with these columns:
  • id (auto-generated)
  • message (text) Stores the important information extracted by the AI
  • sender (text) The customer's phone number
  • recipient (text) Your WhatsApp business number
  • created_at (timestamp with timezone, default: now()) When the memory was created

3. Add your Supabase credentials to n8n

Then, add the new credentials

Go to Supabase

Go to Data API > Copy the Project URL

Then copy the API key

And paste it to n8n

🚀 🤖 Try Wassenger free for 7 days and see how easy it is to create an AI chatbot for WhatsApp. For technical questions, explore our comprehensive API documentation or test integration scenarios with our API Tester featuring over 100 examples. 🔥

Step 5: Configure the Workflow Nodes

  1. Wassenger Trigger: Configure with your Wassenger device ID
  2. Get Memory: Connect to your Supabase database and ConversationMemory table
  3. Aggregate: Ensures all memories are properly formatted for the AI
  4. AI Agent: Uses Google Gemini to process messages with memory context
  5. Save Message: Stores new important information in Supabase
  6. Wassenger: Sends the AI’s response back to the customer

Step 6: Customise the AI Agent’s System Message

The system message in the AI Agent node is what makes the memory magic happen. It instructs the AI to:

  1. Extract important information from customer messages
  2. Save this information using the Save Memory tool
  3. Reference memories when responding
  4. Never explicitly tell customers it’s remembering their information

You can customise this system message to focus on specific types of information relevant to your business:

# ROLE

You are a friendly AI assistant for [Your Business Name].
You are currently talking to a customer over WhatsApp.

# RULES

When the customer sends a new message, decide if they shared any **noteworthy information** that should be **saved in memory** for future reference.
Important information to remember includes:

- Product preferences
- Sizing information
- Delivery preferences
- Past issues or complaints
- Special occasions(birthdays, anniversaries)
- Dietary restrictions
- Contact information
  If so, use the **Save Memory** tool to store this information.
  DO NOT inform the customer that you are saving this information.
  Simply continue the conversation as normal.

# Tools

## Save Memory

Use this tool to **store any important facts** shared by the customer.
Summarize the information clearly and pass it to this tool.

# Memories

These are the **last stored facts** collected from the customer(including date/time).
{{ $json.ConversationMemories.toJsonString() }}
!! IMPORTANT !!
Take these stored facts into account when replying.
If a fact was already stored, do not repeat asking for it.
Respond naturally and conversationally.

🚀 🤖 Try Wassenger free for 7 days and see how easy it is to create an AI chatbot for WhatsApp. For technical questions, explore our comprehensive API documentation or test integration scenarios with our API Tester featuring over 100 examples. 🔥

How the Memory Bot Enhances Customer Experience

Example Scenario: A Clothing Retailer

Day 1: First Interaction

Customer: “Hi, do you have the blue summer dress in size medium?”

Bot: “Hello! Yes, we do have the blue summer dress in medium. Would you like me to send you a link to purchase it, or would you prefer to see other colours available?”

Behind the scenes: The bot saves “Customer is interested in blue summer dress in size medium”

Day 14: Follow-up Interaction

Customer: “Hi, I’m looking for a matching jacket for an outfit”

Bot: “Hello again! I’d be happy to help you find a matching jacket. Are you looking for something to go with the blue summer dress you asked about previously, or is this for a different outfit?”

The customer feels remembered and valued, without the bot explicitly stating it’s using stored information

Example Scenario: A Restaurant

First Interaction

Customer: “Hi, I’d like to make a reservation for Saturday. By the way, I’m allergic to shellfish.”

Bot: “Hello! I’d be happy to help with a reservation for Saturday. What time would you prefer, and how many people will be in your party?”

Behind the scenes: The bot saves “Customer has shellfish allergy”

One Month Later

Customer: “Hi, I’d like to order your weekend special for delivery”

Bot: “Hello! Our weekend special this week is seafood paella. However, I notice you mentioned a shellfish allergy previously. Would you prefer to see our non-seafood specials instead?”

The customer feels protected and cared for, increasing loyalty and trust

Advanced Features Only Possible with Wassenger

Unlike other WhatsApp API providers, Wassenger enables several advanced capabilities for memory-powered bots:

  1. Natural conversations without templates: Create dynamic, personalised responses without being limited to pre-approved templates
  2. Rich media responses: Include images, documents, videos, and other media types in your automated responses
  3. Instant implementation: Start your memory bot immediately without waiting for Meta’s WABA approval process
  4. Seamless integration: Use the official Wassenger n8n node for easier setup and maintenance

Best Practices for Memory-Powered Bots

  1. Be selective about what to remember: Not all information needs to be stored. Focus on details that will be useful for future interactions.
  2. Respect privacy: Only store information voluntarily shared by customers, and ensure your data storage complies with relevant regulations.
  3. Use memories naturally: The bot should incorporate memories in a conversational way, not robotically repeat stored facts.
  4. Regularly review and clean memories: Set up a process to periodically review stored memories and remove outdated or irrelevant information.
  5. Have fallbacks for memory gaps: The bot should gracefully handle situations where it doesn’t have relevant memories.
  6. Combine with human support: For complex issues, ensure the bot can hand off to a human agent along with relevant memory context.

Enhancing Your Memory Bot

Once you have the basic memory bot working, consider these enhancements:

  • Memory Categories: Modify the Supabase table to include a “category” column, allowing you to organise memories by type (e.g., preferences, contact information, issues, etc.).
  • Memory Expiration: Add a “valid_until” column to set expiration dates for certain types of memories that may become outdated.
  • Confidence Scoring: Add a “confidence” column (1–10) to indicate how certain the AI is about a particular memory, helping prioritise more reliable information.
  • Multi-Channel Memory: Extend the system to work across multiple channels (email, social media) by adding a “channel” column to the memory table.
  • Proactive Outreach: Create additional workflows that utilise stored memories to trigger proactive messages, such as birthday wishes and restock notifications for products they like.

Why Wassenger Outperforms Other WhatsApp API Solutions for Memory Bots

  • No approval delays: Start building your memory bot immediately without waiting for Meta’s WABA approval process
  • No template restrictions: Create natural, conversational responses without the limitations of pre-approved templates
  • Richer interactions: Include images, documents, videos, and other media in your automated responses
  • Easier setup: The official n8n node eliminates complex configuration steps
  • More affordable: Wassenger is typically more cost-effective than WABA-based providers

Ready to Transform Your Customer Conversations?

With Wassenger, n8n, and Google Gemini, your small business can create a WhatsApp bot that truly remembers your customers, building stronger relationships, increasing satisfaction, and driving loyalty through personalised interactions.

🚀 🤖 Try Wassenger free for 7 days and see how easy it is to create an AI chatbot for WhatsApp. For technical questions, explore our comprehensive API documentation or test integration scenarios with our API Tester featuring over 100 examples. 🔥

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free