AutomationFlowsAI & RAG › Find Your Home with Real Estate Agent and Bright Data

Find Your Home with Real Estate Agent and Bright Data

Original n8n title: 🏠 Find Your Home with Real Estate Agent and Bright Data

ByMiquel Colomer @mcolomer on n8n.io

📝 Overview This workflow transforms n8n into a smart real-estate concierge by combining an AI chat interface with Bright Data’s marketplace datasets. Users interact via chat to specify city, price, bedrooms, and bathrooms—and receive a curated list of three homes for sale,…

Chat trigger trigger★★★☆☆ complexityAI-powered11 nodesChat TriggerMemory Buffer WindowOpenAI ChatN8N Nodes BrightdataExecute Workflow TriggerAgentTool Workflow
AI & RAG Trigger: Chat trigger Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4872 — 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": "d9e07286-a8be-4c28-8519-acf7cd35ad86",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -900,
        -40
      ],
      "parameters": {
        "public": true,
        "options": {
          "showWelcomeScreen": true
        },
        "initialMessages": "Hi there! \ud83d\udc4b\n\nMy name is Miquel and I am your personal Real Estate agent. I help you to find your new home.\n\nWhat are you looking for?"
      },
      "typeVersion": 1.1
    },
    {
      "id": "7ca48714-3c65-4f32-9491-7b7b621aaa00",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -420,
        140
      ],
      "parameters": {
        "contextWindowLength": 30
      },
      "typeVersion": 1.3
    },
    {
      "id": "79bea812-5a33-40a1-aa74-fe202d39dded",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -580,
        140
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "30ef3cfc-56db-4092-af0d-304afdad94f0",
      "name": "Filter Dataset",
      "type": "n8n-nodes-brightdata.brightDataTool",
      "position": [
        -260,
        140
      ],
      "parameters": {
        "resource": "marketplaceDataset",
        "operation": "filterDataset",
        "dataset_id": {
          "__rl": true,
          "mode": "list",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Dataset', ``, 'string') }}"
        },
        "filter_type": "filters_group",
        "filters_group": "={{ $fromAI('Filters_Group') }}",
        "records_limit": "=3",
        "descriptionType": "manual",
        "toolDescription": "Create a dataset snapshot based on a provided filter in BrightData. use always filter homeStatus = FOR_SALE. We have the next operators: =, >, >=, in, <, <=, not_array_includes, !=, not_in, not_includes\n\nFilter must follow the next format:\n{\n    \"operator\": \"and\",\n    \"filters\": [\n        {\n            \"name\": \"homeStatus\",\n            \"operator\": \"=\",\n            \"value\": \"FOR_SALE\"\n        },\n        {\n            \"name\": \"price\",\n            \"operator\": \"=\",\n            \"value\": 1000000\n        },\n        {\n            \"name\": \"city\",\n            \"operator\": \"=\",\n            \"value\": \"new york\"\n        },\n        {\n            \"name\": \"bathrooms\",\n            \"operator\": \"=\",\n            \"value\": 2\n        },\n        {\n            \"name\": \"bedrooms\",\n            \"operator\": \"=\",\n            \"value\": 4\n        }\n    ]\n}"
      },
      "credentials": {
        "brightdataApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6c4c4338-e4d2-40ee-89c0-89e1dd1dc330",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -660,
        -340
      ],
      "parameters": {
        "inputSource": "passthrough"
      },
      "typeVersion": 1.1
    },
    {
      "id": "9db2680e-8bad-4b91-9cd6-8240f53081a0",
      "name": "Snapshot is ready?",
      "type": "n8n-nodes-base.if",
      "position": [
        -120,
        -340
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "3e99082f-412a-4e33-ab77-c99ddd4d7ff5",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.items[0].abbreviatedAddress }}",
              "rightValue": "NodeApiError"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "75f66a3a-7738-4a1c-af8a-29385ad41749",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        100,
        -260
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "19beba9e-6089-443f-a384-4be3ec821423",
      "name": "Real Estate AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -460,
        -40
      ],
      "parameters": {
        "text": "={{ $json.chatInput }}",
        "options": {
          "maxIterations": 10,
          "systemMessage": "=You are an expert AI Real Estate Agent.\n\nFollow the next guidelines always:\n\n1) If you have no memory, recover the metadata from the next databases:\n- Zillow properties listing information gd_lfqkr8wm13ixtbd8f5\nWe have the next filters:\n- city: City name where entity is located. Contains valid US city names as text strings.\n- bedrooms: Column stores the number of bedrooms in properties. Values are positive integers ranging from 1 to 7, with most properties having 2-4 bedrooms and no null values.\n- bathrooms: Number of bathrooms in residential properties. Values are positive integers ranging from 1 to 7, with most properties having 2-3 bathrooms and no null values.\n- price: Property price in US dollars. Format sample: 180,000\n\nInform user that only 3 houses will be reported.\nOnly call filterDataset if user completes city, bedrooms, bathrooms and price filters.\n\n2) Use filterDataset to generate a snapshot of the requested houses by mapping filter of the user.\nOnly allow one call to tool \"Filter Dataset\", \n\n3) After calling \"filter Dataset\" tool, use tool \"Get Snapshot Content\". Pass snapshot_id parameter.\n\n4) Use output from tool \"Get Snapshot Content\" to convert json to a list of properties with ul > li\nuse returned images to present home briefing"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "679e5b92-7b52-4230-a395-f3840d167756",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        -600
      ],
      "parameters": {
        "width": 1260,
        "height": 880,
        "content": "# Real Estate AI Agent with Bright Data\n\n## TODO\n- After pasting this workflow, update node \"Get Snapshot Content\" tool and add current Workflow ID (for instance, if your workflow in n8n has the next url https://n8n-ai.cr.vps2.clients.killia.com/workflow/fjEIEQ1L6n2IKqlx your workflow Id is fjEIEQ1L6n2IKqlx).\n- Add your Bright Data api key to \"Filter Dataset\" tool and \"Recover Snapshot Content\" node."
      },
      "typeVersion": 1
    },
    {
      "id": "118c60c3-3a46-4ca2-be84-997218949bde",
      "name": "Recover Snapshot Content",
      "type": "n8n-nodes-brightdata.brightData",
      "position": [
        -340,
        -340
      ],
      "parameters": {
        "resource": "marketplaceDataset",
        "operation": "getSnapshotContent",
        "snapshot_id": "={{ $('When Executed by Another Workflow').item.json.query }}"
      },
      "credentials": {
        "brightdataApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5cc00806-6995-4d82-a832-f3159a66e31a",
      "name": "Get Snapshot Content",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        -100,
        140
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "Ky9jD15PJgT7PIgP"
        },
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Recover Snapshot Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Dataset": {
      "ai_tool": [
        [
          {
            "node": "Real Estate AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory1": {
      "ai_memory": [
        [
          {
            "node": "Real Estate AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Real Estate AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Snapshot is ready?": {
      "main": [
        [],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Snapshot Content": {
      "ai_tool": [
        [
          {
            "node": "Real Estate AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Recover Snapshot Content": {
      "main": [
        [
          {
            "node": "Snapshot is ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Real Estate AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Recover Snapshot Content",
            "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

📝 Overview This workflow transforms n8n into a smart real-estate concierge by combining an AI chat interface with Bright Data’s marketplace datasets. Users interact via chat to specify city, price, bedrooms, and bathrooms—and receive a curated list of three homes for sale,…

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

This n8n template provides a powerful AI-powered chatbot that acts as your personal Spotify DJ. Simply tell the chatbot what kind of music you're in the mood for, and it will intelligently create a cu

OpenAI Chat, Spotify, Chain Llm +7
AI & RAG

I prepared a detailed guide showcasing the process of building an AI agent that interacts with a Snowflake database using n8n. This setup enables conversational querying, secure execution of SQL queri

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

Currently Work-In-Progress

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

Build your own AI Prompt Hub inside n8n. This template lets ChatGPT automatically search your saved prompts in Notion using semantic embeddings from HuggingFace. Each time a user sends a message, the

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

Chat with an AI and ask questions about your Meta Ads metrics.

Agent, OpenAI Chat, Chat Trigger +8