وكيل ذكي للعقارات على واتساب
يفهم ما يريده العميل، ويقترح وحدات مناسبة، ويحجز المعاينات — بالعربية أو الإنجليزية.
كيف تعمل
- يسأل العميل عن عقار على واتساب.
- يسأل الوكيل عن الشراء أو الإيجار والمنطقة والميزانية وعدد الغرف والموعد.
- يقترح حتى 3 وحدات متاحة بالسعر ورابط الصور.
- يحجز معاينة في تقويمك وينبّه وكيلك على تيليجرام.
ماذا يستطيع أن يفعل
على عكس الأتمتة الثابتة، يقرر الوكيل أي أدواته يستخدم وبأي ترتيب — ويتذكر المحادثة.
- يقيّم العملاء بشكل طبيعي: شراء أم إيجار، المنطقة، الميزانية، الغرف، الموعد
- يقترح فقط الوحدات المتاحة من جدولك
- يحجز المعاينات في تقويم الوكيل
- ينبّه وكيلك بالمشترين الجادين
التعليمات (System prompt)
التعليمات التي تشكّل سلوك الوكيل. موجودة بالفعل داخل قالب n8n — انسخها إلى Make أو Zapier، وعدّل أجزاء YOUR_….
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 أو غيرهما). التكلفة تعتمد على النموذج وطول المحادثة — والنموذج الصغير السريع يجعل معظم المحادثات بجزء من السنت.
المخطط
الكود
كود JavaScript المستخدم في خطوات 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.
عرض الكود (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": []
}في Make، أنشئ سيناريو جديدًا وأضف هذه الوحدات بالترتيب:
- WhatsApp Business Cloud › Watch Events (messages)
- Tools › Set variable / Iterator + Array aggregator (same logic as the Code step)
- Make AI Agents › Run an agent — give it these tools: “Search listings” (Google Sheets), “Book viewing” (Google Calendar), “Notify agent” (Telegram Bot); paste the system prompt as the agent's instructions
- WhatsApp Business Cloud › Send a Message
- كل تشغيل لوحدة يستهلك عمليات (operations) في Make — والباقة المجانية تتضمن حصة شهرية.
- دوال Make المدمجة (map و sum و formatDate…) تغني عن معظم خطوات Code؛ وللمنطق المعقد استخدم وحدة كود.
- قد تختلف أسماء الوحدات والخطوات قليلًا مع تحديث Make و Zapier لتطبيقاتهما.
في Zapier، أنشئ Zap جديدًا وأضف هذه الخطوات بالترتيب:
- WhatsApp — New Message
- Code by Zapier — Run JavaScript (paste the code from the Code section)
- Zapier Agents — create an agent (or AI by Zapier for a single step) — give it these tools: “Search listings” (Google Sheets), “Book viewing” (Google Calendar), “Notify agent” (Telegram); paste the system prompt as the agent's instructions
- WhatsApp — Send Message
- الـ Zaps التي فيها أكثر من خطوتين تحتاج باقة Zapier مدفوعة.
- الـ Webhooks والفلاتر/المسارات و Code by Zapier ميزات مدفوعة في بعض باقات Zapier.
- Code by Zapier يشغّل JavaScript: أعد استخدام الكود بالأعلى، مع قراءة المدخلات من inputData بدلًا من $json.
- قد تختلف أسماء الوحدات والخطوات قليلًا مع تحديث Make و Zapier لتطبيقاتهما.
نصائح
- حدّث عمود الحالة في جدول الوحدات باستمرار حتى لا تُعرض وحدات مباعة.
أتمتات مشابهة
وكيل ذكي لمركز صيانة السيارات على واتساب
يسأل العملاء "عربيتي خلصت؟"، ويعرفون نطاقات الأسعار ويحجزون مواعيد الصيانة على واتساب.
وكيل مبيعات ذكي على واتساب (بالعربية)
يبيع على واتساب بلهجة العميل: يراجع منتجاتك، ويجيب الأسئلة، ويأخذ طلبات الدفع عند الاستلام.
وكيل ذكي لحجز المواعيد على واتساب
يحجز العملاء مواعيدهم على واتساب بلهجتهم — والوكيل يراجع تقويمك ويحجز الموعد ويبلغ فريقك.