AutomationFlowsAI & RAG › Pinecone + GPT-4.1 Rental Inquiry Assistant

Pinecone + GPT-4.1 Rental Inquiry Assistant

Original n8n title: Handle Guest Inquiries for Multiple Rentals with Pinecone Assistant and Gpt-4.1

ByPinecone @pinecone on n8n.io

🛠️ Read about how multi-domain RAG works and other use cases by working through this tutorial on the n8n Blog here.

Chat trigger trigger★★★★☆ complexityAI-powered19 nodesChat TriggerAgentOpenAI ChatGoogle DriveGoogle Drive Trigger@Pinecone Database/N8N Nodes Pinecone AssistantMemory Buffer Window
AI & RAG Trigger: Chat trigger Nodes: 19 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #13467 — we link there as the canonical source.

This workflow follows the Agent → Chat Trigger 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "b983b51c-4709-4a45-8cc5-7c5985810de3",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -160,
        -208
      ],
      "parameters": {
        "options": {
          "responseMode": "lastNode"
        }
      },
      "typeVersion": 1.4
    },
    {
      "id": "60df5529-cf56-4159-9dd5-d2d9ae5e5738",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        176,
        -192
      ],
      "parameters": {
        "options": {
          "maxIterations": 3,
          "systemMessage": "You are a helpful assistant for a vacation rental property manager and their guests. Based on the user's message, decide if they are requesting information about the \"hillcrest\", \"birchwood\", \"lakeside\" property. You route requests based on property name to the appropriate pinecone assistant tool to fetch answers about the property.\n\nIf you cannot infer the property from the user's message, do not call any tools and instead ask for more information in the chat.\n\nIf the person requests to be contacted, do not call any tools and instead return a response indicating that someone will reach out to them.\n\nUse a friendly, helpful tone."
        }
      },
      "typeVersion": 3
    },
    {
      "id": "413f1cea-1f04-4bf6-be96-656b7b7aa530",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -16,
        112
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "bac22b72-2f09-406c-b68d-5a1139595263",
      "name": "Download new file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        208,
        -1024
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "fileName": "={{ $json.name }}"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "2bf09a95-b3d2-4f34-b791-a19b6e1573c7",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -1136
      ],
      "parameters": {
        "color": 7,
        "width": 1504,
        "height": 752,
        "content": "## Step 1: Upload property data to Pinecone Assistant"
      },
      "typeVersion": 1
    },
    {
      "id": "0dd6b20c-9e6a-4722-b26d-1a7160940326",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -336
      ],
      "parameters": {
        "color": 7,
        "width": 1504,
        "height": 736,
        "content": "## Step 2: Get answers about a specific property"
      },
      "typeVersion": 1
    },
    {
      "id": "4ea04c91-a7ac-4259-9b1e-d80bf0674d2e",
      "name": "Hillcrest file added",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -240,
        -1024
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "12nnk6Q6u1kS5_SMXRzpu-tYszD-ZbjlH",
          "cachedResultUrl": "",
          "cachedResultName": "hillcrest"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c9841786-4c51-4ad8-952f-102addd4fabe",
      "name": "Birchwood file added",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -240,
        -816
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1GHDqU3-hDH2BoPpLZb6GCeH50pi9Fv1s",
          "cachedResultUrl": "",
          "cachedResultName": "birchwood"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "770a7655-a1aa-4ee7-a485-441a976031c2",
      "name": "Lakeside file added",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -240,
        -608
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1cp7-JPn2b_sfs7ZKnXl6voC_kiopzu2T",
          "cachedResultUrl": "",
          "cachedResultName": "lakeside"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9603bfef-bfab-4102-a0f4-e6df7653ea63",
      "name": "Upload file to Hillcrest Assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant",
      "position": [
        608,
        -1024
      ],
      "parameters": {
        "resource": "file",
        "operation": "uploadFile",
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-hillcrest\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "externalFileId": "={{ $json.id }}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0d905bbf-2d7b-4251-b37a-3d69d52881e9",
      "name": "Download new file1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        208,
        -816
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "fileName": "={{ $json.name }}"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e0a45c54-effd-4fb2-8876-e3115c911f9d",
      "name": "Upload file to Birchwood Assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant",
      "position": [
        608,
        -816
      ],
      "parameters": {
        "resource": "file",
        "operation": "uploadFile",
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-birchwood\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "externalFileId": "={{ $json.id }}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "fbaa2fd0-c869-4472-b5ef-8fdc62447004",
      "name": "Download new file2",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        208,
        -608
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "fileName": "={{ $json.name }}"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "969a328c-a1ec-4d68-95f2-8ee4e3c25e84",
      "name": "Upload file to Lakeside Assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant",
      "position": [
        608,
        -608
      ],
      "parameters": {
        "resource": "file",
        "operation": "uploadFile",
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-lakeside\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "externalFileId": "={{ $json.id }}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e5e9c49a-b5bf-493b-85cf-4d523fb56bc0",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1088,
        -1136
      ],
      "parameters": {
        "width": 512,
        "height": 1536,
        "content": "![Pinecone logo](https://www.pinecone.io/images/pinecone-logo-for-n8n-templates.png)\n\n\n## Try it out\n\nThis workflow shows you how a vacation rental property manager can manage multiple properties each with different information using Pinecone Assistant. Guests can ask questions about their property and get a personalized answer back.\n### What is Pinecone Assistant?\n\n[Pinecone Assistant](https://docs.pinecone.io/guides/assistant/overview) allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, reranking for you.\n### Prerequisites\n\n* A [Pinecone account](https://app.pinecone.io/)\n* A GCP project with [Google Drive API enabled and configured](https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/)\n* An [Open AI account](https://auth.openai.com/create-account) and [API key](https://platform.openai.com/settings/organization/api-keys)\n\n### Setup\n\n1. Create three Pinecone Assistants named `n8n-vacation-rental-property-lakeside`, `n8n-vacation-rental-property-birchwood`, `n8n-vacation-rental-property-hillcrest` in the Pinecone Console [here](https://app.pinecone.io/organizations/-/projects/-/assistant) \n2. Use the Connect to Pinecone button to authenticate to Pinecone or if you self-host n8n, create a Pinecone credential and add your [Pinecone API key](https://app.pinecone.io/organizations/-/projects/-/keys) directly\n3. Setup your Google Drive OAuth2 API and OpenAI credentials in n8n\n4. Select your Assistant Name in each of the respective Pinecone Assistant nodes\n5. Ask Claude or ChatGPT to generate fictional data in markdown file(s) for each property. You'll use this data in the next step. Using this prompt:\n```\nGenerate fictional data in markdown format in multiple files for three fictional vacation rental properties in a fictional city. The rental property names are:\n- **Hillcrest Haven** \u2013 cozy hillside cottage\n- **Birchwood Retreat** \u2013 wooded cabin\n- **Lakeside Loft** \u2013 modern loft near the water\n\nInclude house manual and rules, wifi codes, local restaurant, coffee shop, outdoor recreation, and entertainment recommendations, and fictional appliance manuals for the air fryer, coffee pot, tv, and washer and dryer.\n\nAll addresses, cities, names, phone numbers should be fictional. Each set of files should be named based on their property name like \"hillcrest_haven_house_manual.md\".\n```\n**Note:** If you don't want to generate your own files, you can use [these files](https://github.com/pinecone-io/n8n-templates/blob/main/vacation-rental-property-manager-assistants/fictional-data).\n\n6. Add the files to three separate Drive folders named `lakeside`, `birchwood`, and `hillcrest`\n7. Activate the workflow to upload the documents to Pinecone\n8. Once the data is uploaded, ask questions in the chat about a property:\n\t1. `I need help with the coffee maker`\n\t2. `The air fryer isn't working at the Lakeside property`\n\n### Ideas for customizing this workflow\n\n- This workflow uses one Assistant per property. You could also use one Assistant and separate the data by setting a metadata field, `property`, to the name of the property the file is for.\n- Use your own data and customize to your use case with multiple store locations, restaurants, teams, etc.\n\n### Need help?\n\nYou can find help by asking in the [Pinecone Discord community](https://discord.gg/tJ8V62S3sH) or [filing an issue](https://github.com/pinecone-io/n8n-templates/issues/new/choose) on this repo."
      },
      "typeVersion": 1
    },
    {
      "id": "6ddf9274-cc0f-4801-8ac4-4b6295b50716",
      "name": "Hillcrest assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistantTool",
      "position": [
        352,
        208
      ],
      "parameters": {
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-hillcrest\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "780a4404-9ceb-49ac-9a8a-6c3ed1950f90",
      "name": "Conversational memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        160,
        112
      ],
      "parameters": {
        "sessionKey": "={{ $('When chat message received').item.json.sessionId }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 3
      },
      "typeVersion": 1.3
    },
    {
      "id": "50a96294-7ded-4354-866a-8d0c9ed7c12c",
      "name": "Lakeside assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistantTool",
      "position": [
        528,
        160
      ],
      "parameters": {
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-lakeside\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e71a38d8-a463-417f-8841-4193591fb52f",
      "name": "Birchwood assistant",
      "type": "@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistantTool",
      "position": [
        640,
        -32
      ],
      "parameters": {
        "assistantData": "{\"name\":\"n8n-vacation-rental-property-birchwood\",\"host\":\"https://prod-1-data.ke.pinecone.io\"}",
        "additionalFields": {
          "sourceTag": "n8n:n8n_nodes_pinecone_assistant:vacation_rental_property_manager_assistants"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "connections": {
    "Download new file": {
      "main": [
        [
          {
            "node": "Upload file to Hillcrest Assistant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Download new file1": {
      "main": [
        [
          {
            "node": "Upload file to Birchwood Assistant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download new file2": {
      "main": [
        [
          {
            "node": "Upload file to Lakeside Assistant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lakeside assistant": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Birchwood assistant": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Hillcrest assistant": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lakeside file added": {
      "main": [
        [
          {
            "node": "Download new file2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Birchwood file added": {
      "main": [
        [
          {
            "node": "Download new file1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Hillcrest file added": {
      "main": [
        [
          {
            "node": "Download new file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Conversational memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

🛠️ Read about how multi-domain RAG works and other use cases by working through this tutorial on the n8n Blog here.

Source: https://n8n.io/workflows/13467/ — 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

• Create a Google Drive folder to watch. • Connect your Google Drive account in n8n and authorize access. • Point the Google Drive Trigger node to this folder (new/modified files trigger the flow).

Agent, Chat Trigger, Memory Buffer Window +14
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 template monitors a Google Drive folder, converts PDF documents into clean text chunks with Unstructured, generates OpenAI embeddings, and upserts vectors into Pinecone. It’s a practical, product

HTTP Request, Chat Trigger, Agent +6
AI & RAG

Retrieval-Augmented Generation (RAG) allows Large Language Models (LLMs) to provide context-aware answers by retrieving information from an external vector database. In this post, we’ll walk through a

Chat Trigger, Agent, OpenAI Chat +9
AI & RAG

V3_RAG_Chatbot_Copy. Uses googleDrive, vectorStorePinecone, embeddingsOpenAi, documentDefaultDataLoader. Chat trigger; 15 nodes.

Google Drive, Pinecone Vector Store, OpenAI Embeddings +7