AutomationFlowsAI & RAG › Detect Underpriced Mls Properties with Gpt and Alert via Gmail and Slack

Detect Underpriced Mls Properties with Gpt and Alert via Gmail and Slack

ByCheng Siong Chin @cschin on n8n.io

This workflow automates competitive real estate pricing analysis by combining multiple MLS data sources with AI-powered market intelligence. Designed for real estate professionals, property managers, and investment analysts, it solves the critical challenge of identifying…

Cron / scheduled trigger★★★★☆ complexityAI-powered21 nodesHTTP RequestAgentOutput Parser StructuredAgent ToolGmailSlackOpenRouter Chat
AI & RAG Trigger: Cron / scheduled Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Agenttool 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
{
  "id": "JNn0q33U1cMXAAD2",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI-based pricing agent to detect underpriced properties and alert",
  "tags": [],
  "nodes": [
    {
      "id": "2a8c9709-cf15-4619-821a-e3e0542110f0",
      "name": "Daily Pricing Update Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1744,
        96
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fbe94532-f794-4450-b68f-f43a6d8ee916",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -1520,
        96
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "1a7f02ac-7c84-4585-92f4-1b73fd8a7e1c",
      "name": "Fetch MLS Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1296,
        112
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "bf932c96-f9f1-456f-a87c-fa057efc1512",
      "name": "Fetch Recent Sales Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1296,
        304
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "6b190f60-b4ed-4c40-8798-b1c8054f3d2b",
      "name": "Combine All Market Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        -1072,
        96
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "b2acf0c1-b5f6-4769-b221-3967fc125a95",
      "name": "Pricing Analysis Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -704,
        48
      ],
      "parameters": {
        "options": {},
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "7359ca75-b04f-4d66-a26b-28ec360b52b4",
      "name": "Pricing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -480,
        160
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "7dd9a390-ae23-41c4-a0ea-a2a4b2ea6de3",
      "name": "Market Research Agent Tool",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        -720,
        400
      ],
      "parameters": {
        "options": {},
        "hasOutputParser": true
      },
      "typeVersion": 3
    },
    {
      "id": "51c58552-2250-47cf-ab2b-1ce3e9ff0767",
      "name": "Research Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -576,
        544
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "ecc9b8ce-0033-4dcb-a153-9316b0a63716",
      "name": "Check for Underpriced Properties",
      "type": "n8n-nodes-base.if",
      "position": [
        -304,
        96
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2.3
    },
    {
      "id": "dbb72ea1-edc6-46d9-abb8-71d268173239",
      "name": "Send Underpriced Alert Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        0,
        80
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "022c11e6-58e6-40c7-9b9d-d7183923060f",
      "name": "Send Slack Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        0,
        272
      ],
      "parameters": {
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "72c135d5-fae3-493c-af0e-28a9f5fdcdb0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 512,
        "height": 544,
        "content": "## Automated Alert Distribution\nSends formatted notifications through Gmail and Slack when underpriced properties are identified.\n\n "
      },
      "typeVersion": 1
    },
    {
      "id": "721c1498-480f-4286-a4c6-e9564ed6e5e7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1808,
        -304
      ],
      "parameters": {
        "width": 928,
        "height": 224,
        "content": "## How It Works\nThis workflow automates competitive real estate pricing analysis by combining multiple MLS data sources with AI-powered market intelligence. Designed for real estate professionals, property managers, and investment analysts, it solves the critical challenge of identifying underpriced properties in competitive markets where manual analysis is time-consuming and prone to oversight. The system fetches listings from multiple MLS platforms, consolidates market data, and deploys specialized AI agents for dual-layer analysis. The Pricing Agent evaluates individual property valuations against market comparables, while the Market Research Agent provides broader market context and trend insights. When underpriced opportunities are detected, automated alerts are dispatched via email and Slack, enabling rapid response to market opportunities. Operating on a daily schedule, this workflow transforms hours of manual research into automated intelligence delivery.\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bc4ad0fe-2adc-41c6-b9ca-90a3f128fdd9",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -416
      ],
      "parameters": {
        "color": 3,
        "width": 528,
        "height": 336,
        "content": "## Prerequisites\nOpenAI API account with GPT-4 access, MLS data provider API credentials\n## Use Cases\nInvestment firms identifying acquisition targets, real estate brokerages monitoring competitive listings\n## Customization\nModify AI agent prompts for specific property types, adjust underpricing threshold percentages\n## Benefits\nReduces manual research time by 90%, eliminates human bias in valuation analysis"
      },
      "typeVersion": 1
    },
    {
      "id": "df561369-43d5-49eb-8cab-fdeb0aa81708",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        -352
      ],
      "parameters": {
        "width": 368,
        "height": 272,
        "content": "## Setup Steps\n1. Configure MLS API credentials in \"Fetch MLS Data\" and \"Fetch Recent Sales Data\" nodes\n2. Add OpenAI API key in \"OpenAI Model - Pricing Agent\"\n3. Set Gmail SMTP credentials in \"Send Underpriced Alert Email\" node with recipient addresses\n4. Configure Slack webhook URL in \"Send Slack Alert\" node for channel notifications\n5. Adjust \"Daily Pricing Update Schedule\" cron expression for preferred execution time\n"
      },
      "typeVersion": 1
    },
    {
      "id": "092fdfbe-b4fd-4f80-b711-719b3f433c02",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1808,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 864,
        "height": 528,
        "content": "## Multi-Source Data Aggregation\nFetches and combines MLS listings from multiple platforms to create comprehensive market coverage."
      },
      "typeVersion": 1
    },
    {
      "id": "3768d974-d783-4ff7-ac89-7ca3f135f309",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 336,
        "content": "## What: AI-Powered Dual Analysis\nDeploys specialized OpenAI agents for pricing evaluation and market research with structured output parsing."
      },
      "typeVersion": 1
    },
    {
      "id": "81881135-efef-424b-a41b-c783396dac7b",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 384,
        "content": "## Why: Expert-Level Insights\nAI agents replicate analyst expertise at scale, providing consistent, objective valuations and contextual market intelligence simultaneously."
      },
      "typeVersion": 1
    },
    {
      "id": "5b605f47-d928-4b5b-96be-f5a8a8f4bd5c",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -832,
        176
      ],
      "parameters": {
        "model": "openai/gpt-5.2-pro",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "31596d91-ca01-4753-aa32-0fb13be38b24",
      "name": "OpenRouter Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -816,
        544
      ],
      "parameters": {
        "model": "openai/gpt-5.2-pro",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "3bf4c10a-c4b7-45db-97dd-fc0bd41bd3c5",
  "connections": {
    "Fetch MLS Data": {
      "main": [
        [
          {
            "node": "Combine All Market Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Pricing Analysis Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pricing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Pricing Analysis Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Market Research Agent Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pricing Analysis Agent": {
      "main": [
        [
          {
            "node": "Check for Underpriced Properties",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Market Research Agent Tool",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Fetch MLS Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Recent Sales Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine All Market Data": {
      "main": [
        [
          {
            "node": "Pricing Analysis Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Recent Sales Data": {
      "main": [
        [
          {
            "node": "Combine All Market Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Market Research Agent Tool": {
      "ai_tool": [
        [
          {
            "node": "Pricing Analysis Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Daily Pricing Update Schedule": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for Underpriced Properties": {
      "main": [
        [
          {
            "node": "Send Underpriced Alert Email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Slack Alert",
            "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

This workflow automates competitive real estate pricing analysis by combining multiple MLS data sources with AI-powered market intelligence. Designed for real estate professionals, property managers, and investment analysts, it solves the critical challenge of identifying…

Source: https://n8n.io/workflows/14469/ — 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 workflow automates end-to-end sustainability lifecycle management for corporate sustainability teams, ESG governance officers, and circular economy programme leads. It addresses the challenge of

Form Trigger, Agent, OpenAI Chat +11
AI & RAG

This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves

Agent, OpenAI Chat, Output Parser Structured +12
AI & RAG

This workflow automates energy portfolio governance for energy managers, sustainability teams, and policy compliance officers. It eliminates the manual effort of aggregating multi-source energy data,

HTTP Request, Agent, OpenAI Chat +9
AI & RAG

This workflow automates insurance claims processing by deploying specialized AI agents to analyze actuarial data, draft claim memos, and perform risk assessments. Designed for insurance adjusters, und

HTTP Request, Agent, OpenAI Chat +5
AI & RAG

Automates financial risk evaluation by intelligently consolidating information from five critical sources: financial, operational, legal, insurance, and regulatory systems. Hourly triggers enable cont

HTTP Request, Agent, Output Parser Structured +3