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 →
{
"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.
gmailOAuth2openRouterApislackOAuth2Api
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
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,
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
Automates financial risk evaluation by intelligently consolidating information from five critical sources: financial, operational, legal, insurance, and regulatory systems. Hourly triggers enable cont