تخطي للذهاب إلى المحتوى

n8n للمبتدئين: أتمت أول مسارات عملك

ما هو n8n، والأفكار التي يقوم عليها، وأول سير عمل خطوة بخطوة، وواجهات API، والأخطاء، ووكلاء الذكاء الاصطناعي، والاستضافة والأمان
7 نوفمبر 2026 بواسطة
n8n للمبتدئين: أتمت أول مسارات عملك
Hassan Tabbal

n8n أداة مرئية لأتمتة العمل بين التطبيقات، ويشرح لك دليل n8n للمبتدئين (n8n Tutorial) هذا كيف تبني أول سير عمل (Workflow). تضع العُقد (Nodes) على لوحة العمل وتصل بينها، فينقل n8n البيانات من خطوة إلى التالية، كأن ينقلها من نموذج على موقعك إلى جدول Google Sheets ثم إلى رسالة على Slack. يمكنك استخدام n8n في السحابة أو تثبيته مجانًا على خادمك الخاص بموجب ترخيصه من نوع fair-code، وحين لا تتوفر عقدة جاهزة لتطبيق ما، تستطيع الوصول إليه عبر واجهة برمجة التطبيقات (API) الخاصة به باستخدام عقدة HTTP Request.

ما هو n8n وكم يكلّف

كود n8n منشور علنًا على GitHub بموجب ترخيص الاستخدام المستدام (Sustainable Use License)، وتسمّيه n8n ترخيص fair-code. يحق لك استخدامه وتعديله للعمل الداخلي في شركتك ولمشاريعك الشخصية، ويمكنك أن تبني مسارات عمل لعملائك وتشغّلها وتتقاضى أجرًا على هذا العمل. أما استضافة n8n ليبني عملاؤك مسارات عملهم بأنفسهم، أو إعادة تسميته وتقديمه كمنتجك الخاص، فيحتاجان إلى ترخيص تجاري من n8n. وبعض ميزات الفرق، مثل تسجيل الدخول الموحّد (Single Sign-On) والتحكم بالإصدارات عبر Git، جزء من خطتَي Business وEnterprise المدفوعتين.

أمامك طريقتان لتشغيله:

  • n8n Cloud: تستضيفه n8n نيابةً عنك. تُحتسب الخطط بعدد عمليات تنفيذ سير العمل في الشهر، وتُحسب عملية التنفيذ الواحدة مرة واحدة مهما كان عدد خطواتها. وتتوفر فترة تجريبية مجانية لا تحتاج إلى بطاقة ائتمان.
  • الاستضافة الذاتية (Self-hosted): تعمل نسخة المجتمع (Community Edition) على حاسوبك أو خادمك دون أي كلفة ترخيص، وتتولّى بنفسك الاهتمام بالخادم والتحديثات والنسخ الاحتياطية.

الأسعار والحدود تتغيّر، لذلك راجع صفحة الأسعار على موقع n8n قبل أن تختار.

ست أفكار تحتاج إلى فهمها أولًا

  • سير العمل (Workflow): عُقد متصلة تؤدي مهمة واحدة، كإرسال العملاء المحتملين من موقعك إلى نظام إدارة علاقات العملاء (CRM).
  • المشغّل (Trigger): العقدة التي تبدأ سير العمل، وقد يكون جدولًا زمنيًا، أو خطاف ويب (Webhook) وهو رابط يستدعيه نظام آخر، أو نموذجًا، أو بريدًا إلكترونيًا جديدًا، أو نقرة يدوية.
  • العقدة (Node): خطوة واحدة. بعض العقد يتواصل مع تطبيق (Google Sheets وSlack وGmail وأودو)، وبعضها يعدّل البيانات (Edit Fields وIF وMerge وCode).
  • بيانات الاعتماد (Credentials): بيانات الدخول ومفاتيح API المحفوظة التي تستخدمها العقد. يخزّنها n8n مشفّرة وبمعزل عن سير العمل، فحين تشارك سير عمل لا تشارك كلمات مرورك معه.
  • العناصر والتعابير (Items وExpressions): تنتقل البيانات بين العقد على شكل قائمة من العناصر، ويحمل كل عنصر بيانات بصيغة JSON، وتعمل العقدة مرة واحدة لكل عنصر تستلمه. وداخل أي حقل تكتب تعبيرًا بين قوسين معقوفين مزدوجين، مثل {{ $json.email }}، لتستخدم قيمة من العقدة السابقة.
  • عمليات التنفيذ (Executions): يُحفظ كل تشغيل لسير العمل مع بياناته في كل خطوة، وحين يحدث خطأ يكون تبويب Executions أول مكان تبحث فيه.

فكرة العناصر هي أكثر ما يفوت المبتدئين. فإذا أعادت عقدة Google Sheets 50 صفًا، تعمل العقدة التالية 50 مرة. وهذا ما تريده عادةً، وهو أيضًا ما يفسّر وصول 50 رسالة على Slack حين كنت تنتظر رسالة واحدة.

أول سير عمل لك على n8n خطوة بخطوة

في هذا المثال، يملأ شخص نموذج "اطلب عرضًا تجريبيًا"، فينظّف n8n البيانات ويضيف صفًا إلى جدول Google Sheets وينشر رسالة في قناة المبيعات على Slack.

1. ابدأ بمشغّل

أنشئ سير عمل جديدًا وأضف عقدة n8n Form Trigger. أعطِ النموذج عنوانًا وثلاثة حقول باسم Name وEmail وCompany، واجعل حقل Email إلزاميًا. يمنحك n8n رابط اختبار للنموذج، فافتحه وأرسل إدخالًا تجريبيًا لتظهر البيانات في لوحة مخرجات العقدة.

وإن كانت البيانات تأتي من موقعك الإلكتروني، فاستخدم عقدة Webhook مضبوطة على POST. ويمكنك أن ترسل إليها طلبًا تجريبيًا من الطرفية (Terminal):

curl -X POST "https://your-n8n.example.com/webhook-test/demo-request" \
  -H "Content-Type: application/json" \
  -d '{"Name": "Rana Haddad", "Email": " Rana@Example.com ", "Company": "Cedar Foods"}'

لا يعمل رابط الاختبار إلا حين تكون في وضع الاستماع داخل المحرّر، أما رابط الإنتاج (وفيه /webhook/ بدل /webhook-test/) فيبدأ العمل بعد أن تنشر سير العمل.

2. نظّف البيانات وأضف إليها

أضف عقدة Edit Fields (Set) وأنشئ الحقول التي تريد الاحتفاظ بها مستخدمًا التعابير:

name        {{ $json.Name.trim() }}
email       {{ $json.Email.trim().toLowerCase() }}
company     {{ $json.Company }}
domain      {{ $json.Email.trim().toLowerCase().split('@')[1] }}
received_at {{ $now.toFormat('yyyy-LL-dd HH:mm') }}

$now تاريخ من مكتبة Luxon، لذلك يمكنك تنسيقه كما تشاء. شغّل العقدة وتحقّق من المخرجات قبل أن تنتقل إلى الخطوة التالية.

3. اتّخذ القرار بعقدة IF

أضف عقدة IF تتحقّق مما إذا كان {{ $json.domain }} أحد مزوّدي البريد المجاني، مثل gmail.com أو hotmail.com. أما عناوين البريد الخاصة بالشركات فتخرج من فرع "false" وتكمل طريقها.

4. احفظ البيانات في Google Sheets

أضف عقدة Google Sheets واختر العملية Append Row. أنشئ بيانات اعتماد Google حين يطلبها n8n، واختر الملف والورقة، واربط كل عمود بحقل من العقدة السابقة.

5. أبلغ الفريق على Slack

أضف عقدة Slack مع Send Message، واختر القناة، واكتب رسالة مثل New demo request: {{ $json.name }} from {{ $json.company }} ({{ $json.email }}).

6. اختبر ثم انشر

شغّل سير العمل ببضعة إدخالات، بينها إدخالات غير مرتّبة، وحين يعمل كما يجب انقر Publish. فمنذ الإصدار n8n 2.0 أصبح الحفظ والنشر خطوتين منفصلتين، ولا تصبح التغييرات التي تحفظها فعّالة حتى تنشرها من جديد.

استدعِ أي واجهة API بعقدة HTTP Request

ستحتاج عاجلًا أو آجلًا إلى خدمة ليست لها عقدة جاهزة. تستطيع عقدة HTTP Request استدعاء أي واجهة REST API، فتحدّد الطريقة (GET وPOST وPUT وDELETE) والرابط ومعاملات الاستعلام والترويسات (Headers) وجسم الطلب بصيغة JSON، ويعود الرد على شكل عناصر تستخدمها في العقدة التالية.

  • تعرض معظم وثائق واجهات API مثالًا بأمر curl، فاستخدم Import cURL في العقدة لتملأ الحقول منه.
  • ضع مفاتيح API في بيانات اعتماد (Header Auth أو Bearer أو OAuth2 أو بيانات الاعتماد الجاهزة لخدمة معروفة)، ولا تكتبها أبدًا في الرابط أو الترويسات.
  • وللواجهات التي تعيد النتائج صفحةً بعد صفحة، استخدم خيار Pagination في العقدة بدل أن تبني حلقة تكرار بنفسك.

وحين تحتاج البيانات إلى أكثر مما يستطيعه تعبير، أضف عقدة Code. تشغّل هذه العقدة JavaScript (أو Python في الإعدادات التي تدعمها)، وهذا المثال ينظّف كل عناوين البريد دفعة واحدة:

// Code node, mode: Run Once for All Items
return $input.all().map(item => ({
  json: {
    ...item.json,
    email: String(item.json.email || '').trim().toLowerCase(),
  },
}));

معالجة الأخطاء وإعادة المحاولة

تفشل مسارات العمل لأسباب عادية، كواجهة API متوقفة لدقيقة، أو رمز دخول (Token) منتهي الصلاحية، أو حقل فارغ، فاستعدّ لها من البداية.

  • Retry On Fail: فعّل هذا الخيار من إعدادات العقدة في استدعاءات الخدمات الخارجية، واختر عدد المحاولات والمدة بين كل محاولة وأخرى.
  • On Error: اختر هل يتوقّف سير العمل أم يكمل، أم يكمل عبر مخرج خطأ منفصل توجّهه إلى خطوة بديلة، كحفظ العنصر لمعالجته لاحقًا.
  • سير عمل الأخطاء (Error Workflow): ابنِ سير عمل صغيرًا يبدأ بعقدة Error Trigger ويرسل إليك بريدًا إلكترونيًا أو رسالة دردشة فيها اسم سير العمل والعقدة التي فشلت ورابط عملية التنفيذ، ثم اختره من Workflow Settings في كل سير عمل مهم.
  • Stop and Error: تُفشل هذه العقدة التشغيل عمدًا حين تكون البيانات خاطئة، كطلب بلا عميل، لكي يصلك خبر المشكلة.

عقد الذكاء الاصطناعي والوكلاء في n8n

يتضمّن n8n عقدة وكيل الذكاء الاصطناعي AI Agent التي تربطها بنموذج محادثة (OpenAI وAnthropic وGoogle Gemini ونموذج محلي عبر Ollama وغيرها)، وبذاكرة لكي يتذكّر المحادثة، وبأدوات قد تكون عقدًا أخرى أو مسارات عمل كاملة. يقرأ الوكيل الطلب ويختار أداة ثم يجيب بالنتيجة.

تعلّم العقد الأساسية أولًا، لأن الوكيل لا يكون موثوقًا إلا بقدر موثوقية أدواته، وهذه الأدوات مسارات عمل عادية. أعطه أقل عدد من الأدوات يكفي لإنجاز المهمة، واجعل شخصًا يوافق على أي إجراء يرسل مالًا أو يحذف بيانات أو يراسل العملاء. وإن كان عملك يعتمد على أودو، ففي أودو 20 أيضًا وكلاء خاصون به يشرحهم مقالنا عن وكلاء الذكاء الاصطناعي في أودو 20.

خيارات استضافة n8n

للتعلّم، شغّل n8n على حاسوبك باستخدام Docker:

docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Beirut" -e TZ="Asia/Beirut" \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

ثم افتح http://localhost:5678. وللعمل الفعلي أمامك ثلاثة خيارات شائعة:

  • n8n Cloud هو الخيار الأقل جهدًا، لأن n8n تتولّى الخادم والتحديثات.
  • خادم افتراضي تديره بنفسك (خادم VPS من أي مزوّد سحابي) مع Docker Compose وقاعدة بيانات PostgreSQL ووكيل عكسي (Reverse Proxy) لتأمين HTTPS. كلفته أقل حين يكبر حجم العمل وتبقى البيانات على خادمك، والصيانة مسؤوليتك.
  • منصة مُدارة تقدّم n8n كتطبيق يُثبَّت بنقرة واحدة، وهي خيار وسط بين الاثنين. تحقّق ممن يطبّق التحديثات وكيف تعمل النسخ الاحتياطية قبل أن تعتمد عليها.

نقاط أمنية لـn8n المستضاف ذاتيًا

  • حدّث باستمرار. في يناير 2026 أصلحت n8n ثغرة خطيرة (CVE-2026-21858) في النسخ المستضافة ذاتيًا الأقدم من 1.121.0، إذ كان بإمكان مهاجم من دون تسجيل دخول أن يقرأ ملفات على الخادم، وأظهرت أبحاث منشورة كيف يمكن تحويل ذلك إلى سيطرة كاملة عليه. ثبّت إصدارًا محددًا، واقرأ ملاحظات الإصدار، وحدّث وفق جدول منتظم.
  • احمِ خطافات الويب. رابط Webhook في وضع الإنتاج مفتوح لكل من يعثر عليه، فأضف Header Auth أو Basic Auth إلى عقدة Webhook وتحقّق من البيانات الواردة.
  • احرس مفتاح التشفير. تُشفَّر بيانات الاعتماد بمفتاح محفوظ في مجلد .n8n (أو مضبوط عبر N8N_ENCRYPTION_KEY). فإن فقدته أصبحت كل بيانات الاعتماد المحفوظة غير قابلة للقراءة، وإن تسرّب مع نسخة من قاعدة البيانات أمكن فكّ تشفيرها كلها.
  • قلّل الصلاحيات. كل من يستطيع تعديل مسارات العمل يصل إلى كل نظام تسمح به بيانات الاعتماد، لذلك امنح كل بيانات اعتماد الصلاحيات التي تحتاجها فقط.
  • خذ نسخًا احتياطية واختبر استعادتها. انسخ قاعدة البيانات ومجلد .n8n احتياطيًا، واستعد نسخة بين حين وآخر لتتأكّد أنها تعمل.
  • راقب عمليات التنفيذ المحفوظة. فهي تحمل بيانات حقيقية لعملائك، لذلك حدّد مدة الاحتفاظ بها ومن يستطيع الاطلاع عليها.

أخطاء شائعة لدى المبتدئين

  • نسيان أن العقد تعمل مرة لكل عنصر، ثم تلقّي رسائل بريد أو صفوف مكرّرة. استخدم Aggregate أو إعداد "Execute Once" في العقدة حين تحتاج إلى تشغيل واحد.
  • الاختبار برابط Webhook التجريبي، ثم الاستغراب من أن الموقع الفعلي لا يفعل شيئًا بعد النشر.
  • لصق مفاتيح API في الحقول بدل بيانات الاعتماد، ثم مشاركة سير العمل.
  • غياب سير عمل للأخطاء، فتمرّ الأعطال أيامًا دون أن يلاحظها أحد.
  • إبقاء الأسماء الافتراضية للعقد، فاسم "HTTP Request3" لن يعني شيئًا بعد شهر.

مشاريع للتدريب

  1. جدول يومي يقرأ مواعيد الغد من Google Calendar ويرسل إليك ملخّصًا بالبريد الإلكتروني.
  2. نموذج تواصل يحفظ العملاء المحتملين في جدول، ويتجاوز المكرّر منهم، وينبّهك على Slack أو Telegram.
  3. تنبيه بالطقس أو بسعر الصرف يستدعي واجهة API عامة عبر عقدة HTTP Request ويراسلك حين تتجاوز قيمة ما حدًا معيّنًا.
  4. مساعد لصندوق الوارد يفرز رسائل الدعم الواردة بنموذج ذكاء اصطناعي ويكتب مسودات ردود يراجعها شخص.

في مكتبة قوالب n8n أمثلة لمعظم هذه المشاريع، لكنك ستتعلّم أكثر بكثير إذا بنيت نسختك الخاصة أولًا.

الأسئلة الشائعة

هل n8n مجاني؟

لا كلفة ترخيص لنسخة المجتمع المستضافة ذاتيًا في الاستخدام الداخلي للشركات والاستخدام الشخصي، وتدفع ثمن الخادم الذي تشغّلها عليه. أما n8n Cloud وخطتا Business وEnterprise المستضافتان ذاتيًا فمدفوعة.

هل n8n مفتوح المصدر؟

كوده المصدري متاح للعموم، لكنه يستخدم ترخيص Sustainable Use License الذي تسمّيه n8n ترخيص fair-code. يسمح هذا الترخيص بالاستخدام الداخلي والشخصي ويقيّد بيع n8n نفسه كخدمة، لذلك لا ينطبق عليه التعريف الرسمي للمصدر المفتوح (Open Source).

هل أحتاج إلى معرفة البرمجة لأستخدم n8n؟

لا، فكثير من مسارات العمل تعتمد على العقد الجاهزة والتعابير البسيطة فقط، وأساسيات JavaScript وفهم JSON وواجهات API ستأخذك أبعد بكثير.

ما الفرق بين n8n وZapier أو Make؟

الأدوات الثلاث تربط التطبيقات ببعضها. يمكن استضافة n8n ذاتيًا، وهو يحتسب تشغيل سير العمل كاملًا عملية تنفيذ واحدة ويتيح لك إضافة كود في أي مكان منه، وهذا يناسب المستخدمين التقنيين وأحجام العمل الكبيرة. أما Zapier فلديه عمليات ربط جاهزة أكثر، وهو أسرع في المهام البسيطة جدًا.

تعلّم الأتمتة مع Winners Academy

Winners Academy برنامج التدريب العملي من NavyBits للخرّيجين الجدد وطلاب تكنولوجيا المعلومات في لبنان. تقوم دوراته على مشاريع حقيقية بإشراف مهندسي NavyBits، وتحصل في نهايتها على شهادة تحمل رقمًا تعريفيًا فريدًا. لا توجد دورات قائمة حاليًا، ومن المتوقّع أن تبدأ دورات جديدة قريبًا. اطّلع على صفحة Winners Academy، ثم راسلنا لنخبرك حين تبدأ الدورة التالية.

وإن كنت تدير شركة وتفضّل أن نبني لك مسارات العمل هذه ونتولّى متابعتها، اطّلع على خدمات وكلاء الذكاء الاصطناعي والأتمتة أو احجز مكالمة مجانية مدتها 30 دقيقة.

n8n للمبتدئين: أتمت أول مسارات عملك
Hassan Tabbal 7 نوفمبر 2026
شارك هذا المنشور
راسلنا على واتسابوكيل ذكي يردّ على مدار الساعة
احجز مكالمة مجانية