AutomationFlowsAI & RAG › Fitnest Chatbot

Fitnest Chatbot

Fitnest ChatBot. Uses chatTrigger, agent, lmChatOpenAi, memoryBufferWindow. Chat trigger; 9 nodes.

Chat trigger trigger★★★☆☆ complexityAI-powered9 nodesChat TriggerAgentOpenAI ChatMemory Buffer WindowTool Vector StorePinecone Vector StoreOpenAI EmbeddingsAirtable Tool
AI & RAG Trigger: Chat trigger Nodes: 9 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → Airtabletool recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Fitnest ChatBot",
  "nodes": [
    {
      "parameters": {
        "public": true,
        "mode": "webhook",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        -400,
        -160
      ],
      "id": "433a0e48-e053-4545-8ede-63d6242f0daa",
      "name": "When chat message received"
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "=## Role:\nYou are a friendly and helpful assistant for a fitness company named **FitNest**.\n\n## Task:\nYou ONLY assist users with company-related and fitness information **by using tools**, and do not answer using your own knowledge.\n\n## Rules:\n- You MUST use the tool **fitnest_q** to answer any question about FitNest (e.g., hours, services, pricing, location, trainers, etc.).\n- Do NOT generate answers on your own. Only respond with content fetched via the `fitnest_q` tool.\n- If the tool gives no result, apologize and let the user know you couldn\u2019t find the information.\n\n## Tools:\n- **fitnest_q**  \n  Use this to fetch company knowledge. You MUST use this to answer ANY business-related question.\n\n- **Store_lead**  \n  Use this to save customer contact info (name, email, interest). Use it only after the customer agrees to receive a catalog or album.\n\n## Lead Collection Strategy:\n- If a user asks about services, trainers, timings, etc., you may casually ask:\n  > \"Would you like me to send you a quick catalog or image album about this?\"\n- If they say yes, then kindly ask for their name and email. Don\u2019t sound salesy or pushy\u2014act like you\u2019re being helpful.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2,
      "position": [
        -180,
        -160
      ],
      "id": "47ae12c7-f190-47e3-b0a2-6034f648561a",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4o-mini",
          "mode": "list",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        -240,
        40
      ],
      "id": "78b52a0b-f14a-4d95-8a48-847a5c3b1d76",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "contextWindowLength": 10
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        -80,
        40
      ],
      "id": "5a7a4479-5134-40c1-b4bb-c74f9ac7d86e",
      "name": "Simple Memory"
    },
    {
      "parameters": {
        "description": "Gives answers related to FitNest or FitNest Company "
      },
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1.1,
      "position": [
        80,
        60
      ],
      "id": "6acd27af-06da-4d1b-b87e-202538356eb2",
      "name": "fitnest_q"
    },
    {
      "parameters": {
        "pineconeIndex": {
          "__rl": true,
          "value": "fitnestqna",
          "mode": "list",
          "cachedResultName": "fitnestqna"
        },
        "options": {
          "pineconeNamespace": "fitnestQ&A"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "typeVersion": 1.1,
      "position": [
        -100,
        220
      ],
      "id": "4d4eafab-3d53-41fc-877b-61c7e99bd2f8",
      "name": "Pinecone Vector Store",
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        280,
        220
      ],
      "id": "4485a8d7-f4b4-47c0-8935-5968b71fde97",
      "name": "OpenAI Chat Model1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.2,
      "position": [
        -180,
        380
      ],
      "id": "b3bec529-de07-45c6-84dc-61747cdb8b9b",
      "name": "Embeddings OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": {
          "__rl": true,
          "value": "appW8PlrEo47Q913i",
          "mode": "list",
          "cachedResultName": "FitNest",
          "cachedResultUrl": "https://airtable.com/appW8PlrEo47Q913i"
        },
        "table": {
          "__rl": true,
          "value": "tblYBqSSqV8DjHyMX",
          "mode": "list",
          "cachedResultName": "Table 1",
          "cachedResultUrl": "https://airtable.com/appW8PlrEo47Q913i/tblYBqSSqV8DjHyMX"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Name', ``, 'string') }}",
            "Email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}",
            "Interest": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Interest', ``, 'string') }}",
            "Status": "New lead"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Name",
              "displayName": "Name",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Email",
              "displayName": "Email",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Interest",
              "displayName": "Interest",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "string",
              "readOnly": false,
              "removed": false
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "canBeUsedToMatch": true,
              "display": true,
              "type": "options",
              "options": [
                {
                  "name": "New lead",
                  "value": "New lead"
                },
                {
                  "name": "Detail Sent",
                  "value": "Detail Sent"
                }
              ],
              "readOnly": false,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "typecast": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Typecast', ``, 'boolean') }}"
        }
      },
      "type": "n8n-nodes-base.airtableTool",
      "typeVersion": 2.1,
      "position": [
        420,
        60
      ],
      "id": "b6f6e185-c2b2-4d3b-b148-a5647a3a8a2c",
      "name": "Store_lead",
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "fitnest_q": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store": {
      "ai_vectorStore": [
        [
          {
            "node": "fitnest_q",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "fitnest_q",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Store_lead": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b2f7eb94-f2b2-4efb-a8eb-34ab265fe97e",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "jTapU9aLd6feN5aB",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Fitnest ChatBot. Uses chatTrigger, agent, lmChatOpenAi, memoryBufferWindow. Chat trigger; 9 nodes.

Source: https://github.com/VashishthSoni/AI-Automation-Workflows-n8n-make.com/blob/c2b5860c8bfd9a32c3775208faf9b18e374f9ead/n8n/Fitnest_ChatBot.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Empower your workflows with an intelligent AI chat assistant that retrieves real-time context from Google Sheets and a Pinecone knowledge base using Retrieval-Augmented Generation (RAG). 🤖📂 This workf

Memory Buffer Window, Agent, Output Parser Structured +11
AI & RAG

This workflow transforms your n8n instance into a fully automated AI sales assistant for WooCommerce stores. It detects customer intent from chat, searches products, answers FAQs, generates Stripe pay

Chat Trigger, Memory Buffer Window, Information Extractor +13
AI & RAG

Airbnb Guest Assistant. Uses lmChatOpenAi, googleDrive, documentDefaultDataLoader, textSplitterCharacterTextSplitter. Chat trigger; 26 nodes.

OpenAI Chat, Google Drive, Document Default Data Loader +11
AI & RAG

OpenAI Personal Shopper with RAG and WooCommerce. Uses chatTrigger, memoryBufferWindow, toolCalculator, lmChatOpenAi. Chat trigger; 25 nodes.

Chat Trigger, Memory Buffer Window, Tool Calculator +11
AI & RAG

OpenAI Personal Shopper with RAG and WooCommerce. Uses chatTrigger, memoryBufferWindow, toolCalculator, lmChatOpenAi. Chat trigger; 25 nodes.

Chat Trigger, Memory Buffer Window, Tool Calculator +11