وكيل ذكي للعقارات على واتساب

يفهم ما يريده العميل، ويقترح وحدات مناسبة، ويحجز المعاينات — بالعربية أو الإنجليزية.

وكيل ذكيمتقدم توفّر ~25 ساعة شهريًا وكلاء الذكاء الاصطناعيبواسطة فريق Flowngn

تعمل مع n8n · Make · Zapier

كيف تعمل

المشغّل: واتساب — عميل يرسل رسالة
  1. يسأل العميل عن عقار على واتساب.
  2. يسأل الوكيل عن الشراء أو الإيجار والمنطقة والميزانية وعدد الغرف والموعد.
  3. يقترح حتى 3 وحدات متاحة بالسعر ورابط الصور.
  4. يحجز معاينة في تقويمك وينبّه وكيلك على تيليجرام.

ماذا يستطيع أن يفعل

على عكس الأتمتة الثابتة، يقرر الوكيل أي أدواته يستخدم وبأي ترتيب — ويتذكر المحادثة.

  • يقيّم العملاء بشكل طبيعي: شراء أم إيجار، المنطقة، الميزانية، الغرف، الموعد
  • يقترح فقط الوحدات المتاحة من جدولك
  • يحجز المعاينات في تقويم الوكيل
  • ينبّه وكيلك بالمشترين الجادين

التعليمات (System prompt)

التعليمات التي تشكّل سلوك الوكيل. موجودة بالفعل داخل قالب n8n — انسخها إلى Make أو Zapier، وعدّل أجزاء YOUR_….

التعليمات (System prompt)
You are the WhatsApp assistant for YOUR_AGENCY, a real-estate agency. Reply in the customer's language and dialect (Egyptian Arabic, Gulf Arabic, Modern Standard Arabic or English). Be warm and brief.

Help people find properties, answer questions about listings, and book viewings.

Ask (one at a time, naturally): buy or rent, area, budget, bedrooms, and when they want to move.

Tools:
- "Search listings": our current listings (code, area, type, bedrooms, price, status, photos link). Only suggest listings marked available.
- "Book viewing": books a viewing in the agent's calendar. Use only after the client picks a listing and a time and gives their name.
- "Notify agent": tells our agent about a serious buyer, a booked viewing, or a question you can't answer.

Today is {{ $now.toFormat('cccc d LLLL yyyy') }}. Viewings: YOUR_VIEWING_HOURS.

Rules:
- Never invent listings, prices, payment plans or legal details.
- Share at most 3 listings at a time, each with its code, price and photos link.
- Never pressure; if nothing fits, offer to notify them when something matching comes up.

قواعد الأمان

مدمجة في التعليمات والأدوات:

  • لا يخترع وحدات أو أسعارًا أو أنظمة سداد أو تفاصيل قانونية
  • يعرض 3 وحدات كحد أقصى في كل مرة
  • بدون ضغط على العميل

يستخدم مفتاح الذكاء الاصطناعي الخاص بك (Claude أو OpenAI أو غيرهما). التكلفة تعتمد على النموذج وطول المحادثة — والنموذج الصغير السريع يجعل معظم المحادثات بجزء من السنت.

المخطط

WIncoming messageWhatsApp Trigger{ }Get questionCodeReal-estate agentAI AgentClaude modelAnthropic Chat Mo…◷MemorySimple MemoryGSearch listingsGoogle Sheets ToolCBook viewingGoogle Calendar T…TNotify agentTelegram ToolWReply on WhatsAppWhatsApp Business Cloud
مشغّل تطبيق كود ذكاء اصطناعي أداة للوكيل

الكود

كود JavaScript المستخدم في خطوات Code، وهو مضمَّن بالفعل في القالب بالأسفل.

Get question · عقدة Code
// Keeps only text messages and pulls out who sent it and what they asked.
const msg = $input.first().json.messages?.[0];
if (!msg || msg.type !== "text") return [];

return [{ json: { from: msg.from, question: msg.text.body } }];

ابنِها بأداتك

اختر أداتك — نفس الأتمتة، خطوة بخطوة.

انسخه والصقه مباشرة في مساحة عمل n8n (Ctrl+V)، أو حمّله واستخدم Import from File. بعد ذلك اربط حساباتك واستبدل كل قيمة تبدأ بـ YOUR_. خطوات الذكاء الاصطناعي تستخدم نموذج Claude، ويمكنك استبداله بـ OpenAI أو Gemini أو Ollama.

ملف Workflow JSON
عرض الكود (283 سطر)
{
  "name": "وكيل ذكي للعقارات على واتساب (Flowngn)",
  "nodes": [
    {
      "parameters": {
        "content": "## وكيل ذكي للعقارات على واتساب\nيفهم ما يريده العميل، ويقترح وحدات مناسبة، ويحجز المعاينات — بالعربية أو الإنجليزية.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
        "height": 260,
        "width": 340
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Setup notes",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -420,
        -60
      ]
    },
    {
      "parameters": {
        "updates": [
          "messages"
        ]
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Incoming message",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "webhookId": "47157a09-b4de-42a3-abd6-68f495f76b64"
    },
    {
      "parameters": {
        "jsCode": "// Keeps only text messages and pulls out who sent it and what they asked.\nconst msg = $input.first().json.messages?.[0];\nif (!msg || msg.type !== \"text\") return [];\n\nreturn [{ json: { from: msg.from, question: msg.text.body } }];"
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Get question",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        300,
        0
      ]
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.question }}",
        "options": {
          "systemMessage": "=You are the WhatsApp assistant for YOUR_AGENCY, a real-estate agency. Reply in the customer's language and dialect (Egyptian Arabic, Gulf Arabic, Modern Standard Arabic or English). Be warm and brief.\n\nHelp people find properties, answer questions about listings, and book viewings.\n\nAsk (one at a time, naturally): buy or rent, area, budget, bedrooms, and when they want to move.\n\nTools:\n- \"Search listings\": our current listings (code, area, type, bedrooms, price, status, photos link). Only suggest listings marked available.\n- \"Book viewing\": books a viewing in the agent's calendar. Use only after the client picks a listing and a time and gives their name.\n- \"Notify agent\": tells our agent about a serious buyer, a booked viewing, or a question you can't answer.\n\nToday is {{ $now.toFormat('cccc d LLLL yyyy') }}. Viewings: YOUR_VIEWING_HOURS.\n\nRules:\n- Never invent listings, prices, payment plans or legal details.\n- Share at most 3 listings at a time, each with its code, price and photos link.\n- Never pressure; if nothing fits, offer to notify them when something matching comes up."
        }
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Real-estate agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        600,
        0
      ]
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "claude-sonnet-5",
          "mode": "list"
        },
        "options": {}
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Claude model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.3,
      "position": [
        260,
        220
      ]
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('Get question').item.json.from }}",
        "contextWindowLength": 10
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        430,
        220
      ]
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Returns our listings (code, area, type, bedrooms, price, status, photos link).",
        "operation": "read",
        "documentId": {
          "__rl": true,
          "value": "YOUR_SPREADSHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Listings",
          "mode": "name"
        },
        "options": {}
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Search listings",
      "type": "n8n-nodes-base.googleSheetsTool",
      "typeVersion": 4.5,
      "position": [
        600,
        220
      ]
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Books a property viewing in the agent's calendar.",
        "calendar": {
          "__rl": true,
          "value": "primary",
          "mode": "id"
        },
        "start": "={{ $fromAI('start', \"Viewing start, ISO 8601 with timezone\", 'string') }}",
        "end": "={{ $fromAI('end', \"Viewing end (45 minutes later), ISO 8601 with timezone\", 'string') }}",
        "additionalFields": {
          "summary": "={{ $fromAI('title', \"Viewing: <listing code> – <client name>\", 'string') }}",
          "description": "=Client WhatsApp: +{{ $('Get question').item.json.from }}"
        }
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Book viewing",
      "type": "n8n-nodes-base.googleCalendarTool",
      "typeVersion": 1.3,
      "position": [
        770,
        220
      ]
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Tells our agent about a serious buyer, a booked viewing, or a question you can't answer.",
        "chatId": "YOUR_AGENT_CHAT_ID",
        "text": "={{ $fromAI('message', \"Client needs, budget, listing codes and phone\", 'string') }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Notify agent",
      "type": "n8n-nodes-base.telegramTool",
      "typeVersion": 1.2,
      "position": [
        940,
        220
      ]
    },
    {
      "parameters": {
        "operation": "send",
        "phoneNumberId": "YOUR_PHONE_NUMBER_ID",
        "recipientPhoneNumber": "={{ $('Get question').item.json.from }}",
        "textBody": "={{ $json.output }}"
      },
      "id": "47157a09-b4de-42a3-abd6-68f495f76b64",
      "name": "Reply on WhatsApp",
      "type": "n8n-nodes-base.whatsApp",
      "typeVersion": 1,
      "position": [
        900,
        0
      ]
    }
  ],
  "connections": {
    "Incoming message": {
      "main": [
        [
          {
            "node": "Get question",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get question": {
      "main": [
        [
          {
            "node": "Real-estate agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Real-estate agent": {
      "main": [
        [
          {
            "node": "Reply on WhatsApp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude model": {
      "ai_languageModel": [
        [
          {
            "node": "Real-estate agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "node": "Real-estate agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Search listings": {
      "ai_tool": [
        [
          {
            "node": "Real-estate agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Book viewing": {
      "ai_tool": [
        [
          {
            "node": "Real-estate agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Notify agent": {
      "ai_tool": [
        [
          {
            "node": "Real-estate agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}

← افتحها في ساحة التجربة لتعديلها

نصائح

  • حدّث عمود الحالة في جدول الوحدات باستمرار حتى لا تُعرض وحدات مباعة.

أتمتات مشابهة