سجّل كل عميل جديد على واتساب كعميل محتمل
أول ما يراسلك شخص جديد على واتساب، يُحفظ في جدول العملاء المحتملين ويصل تنبيه لفريق المبيعات.
كيف تعمل
المشغّل: واتساب — وصول رسالة
- استقبل رسالة واتساب الواردة.
- ابحث عن رقم المرسل في جدول العملاء المحتملين.
- إذا كان جديدًا، أضفه باسمه وأول رسالة والتاريخ.
- نبّه فريق المبيعات على تيليجرام ليرد أحدهم بسرعة.
المخطط
مشغّل تطبيق منطق كود
الكود
كود JavaScript المستخدم في خطوات Code، وهو مضمَّن بالفعل في القالب بالأسفل.
// Pulls the sender's phone, profile name and first message out of the WhatsApp event.
const data = $input.first().json;
const msg = data.messages?.[0];
if (!msg) return [];
return [{
json: {
phone: msg.from,
name: data.contacts?.[0]?.profile?.name || "",
message: msg.type === "text" ? msg.text.body : `(${msg.type})`,
date: new Date(Number(msg.timestamp) * 1000).toISOString(),
},
}];ابنِها بأداتك
اختر أداتك — نفس الأتمتة، خطوة بخطوة.
انسخه والصقه مباشرة في مساحة عمل n8n (Ctrl+V)، أو حمّله واستخدم Import from File. بعد ذلك اربط حساباتك واستبدل كل قيمة تبدأ بـ YOUR_.
عرض الكود (231 سطر)
{
"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": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Setup notes",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-420,
-60
]
},
{
"parameters": {
"updates": [
"messages"
]
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Incoming message",
"type": "n8n-nodes-base.whatsAppTrigger",
"typeVersion": 1,
"position": [
0,
0
],
"webhookId": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1"
},
{
"parameters": {
"jsCode": "// Pulls the sender's phone, profile name and first message out of the WhatsApp event.\nconst data = $input.first().json;\nconst msg = data.messages?.[0];\nif (!msg) return [];\n\nreturn [{\n json: {\n phone: msg.from,\n name: data.contacts?.[0]?.profile?.name || \"\",\n message: msg.type === \"text\" ? msg.text.body : `(${msg.type})`,\n date: new Date(Number(msg.timestamp) * 1000).toISOString(),\n },\n}];"
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Get sender",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
300,
0
]
},
{
"parameters": {
"operation": "read",
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Leads",
"mode": "name"
},
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "phone",
"lookupValue": "={{ $json.phone }}"
}
]
}
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Find in Leads",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
600,
0
],
"alwaysOutputData": true
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose"
},
"conditions": [
{
"id": "c1",
"leftValue": "={{ $json.phone }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "New contact?",
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
900,
0
]
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Leads",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"date": "={{ $('Get sender').item.json.date }}",
"phone": "={{ $('Get sender').item.json.phone }}",
"name": "={{ $('Get sender').item.json.name }}",
"first_message": "={{ $('Get sender').item.json.message }}",
"status": "new"
}
},
"options": {}
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Add lead",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
1200,
0
]
},
{
"parameters": {
"chatId": "YOUR_CHAT_ID",
"text": "=New WhatsApp lead: {{ $('Get sender').item.json.name || 'no name' }} (+{{ $('Get sender').item.json.phone }})\n\"{{ $('Get sender').item.json.message }}\"",
"additionalFields": {
"appendAttribution": false
}
},
"id": "3f36c28d-dcaa-4fe7-afb0-dde2cffcb7d1",
"name": "Alert sales team",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
1500,
0
]
}
],
"connections": {
"Incoming message": {
"main": [
[
{
"node": "Get sender",
"type": "main",
"index": 0
}
]
]
},
"Get sender": {
"main": [
[
{
"node": "Find in Leads",
"type": "main",
"index": 0
}
]
]
},
"Find in Leads": {
"main": [
[
{
"node": "New contact?",
"type": "main",
"index": 0
}
]
]
},
"New contact?": {
"main": [
[
{
"node": "Add lead",
"type": "main",
"index": 0
}
]
]
},
"Add lead": {
"main": [
[
{
"node": "Alert sales team",
"type": "main",
"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)
- Google Sheets › Search Rows (by order_id)
- Filter on the next route: “New contact?”
- إذا نعمGoogle Sheets › Add a Row
- إذا نعمTelegram Bot › Send a Text Message or a Reply
- كل تشغيل لوحدة يستهلك عمليات (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)
- Google Sheets — Lookup Spreadsheet Row
- Filter by Zapier: “New contact?”
- إذا نعمGoogle Sheets — Create Spreadsheet Row
- إذا نعمTelegram — Send Message
- الـ Zaps التي فيها أكثر من خطوتين تحتاج باقة Zapier مدفوعة.
- الـ Webhooks والفلاتر/المسارات و Code by Zapier ميزات مدفوعة في بعض باقات Zapier.
- Code by Zapier يشغّل JavaScript: أعد استخدام الكود بالأعلى، مع قراءة المدخلات من inputData بدلًا من $json.
- قد تختلف أسماء الوحدات والخطوات قليلًا مع تحديث Make و Zapier لتطبيقاتهما.
نصائح
- أضف عمودًا لمصدر العميل، واستخدم رسالة جاهزة مختلفة في كل إعلان لتعرف من أي حملة جاء.
أتمتات مشابهة
وكلاء الذكاء الاصطناعيمتقدم
وكيل مبيعات ذكي على واتساب (بالعربية)
يبيع على واتساب بلهجة العميل: يراجع منتجاتك، ويجيب الأسئلة، ويأخذ طلبات الدفع عند الاستلام.
WhatsApp → AI model → Google Sheets → Telegram30 س/شهر
المبيعات وإدارة العملاءمتوسط
متابعة تلقائية عندما لا يرد العميل
إذا لم يرد أحد بعد 3 أيام من رسالتك، تُرسل له متابعة مهذبة تلقائيًا.
Google Sheets → Gmail5 س/شهر
وكلاء الذكاء الاصطناعيمتقدم
وكيل ذكي للطلبات والمرتجعات على واتساب (بالعربية)
يجيب عن "طلبي فين؟"، ويعطي تحديثات التوصيل، ويسجل المرتجعات والاستبدال — بلهجة العميل.
WhatsApp → AI model → Google Sheets → Telegram30 س/شهر