نظرة عامة على سير العمل
ما هي هذه الميزة
سير العمل في BotBat عبارة عن تسلسلات آلية من الإجراءات تُنفّذ استجابةً للمشغّلات. تقوم ببناء سير العمل بصريًا باستخدام محرر Studio بالسحب والإفلات، حيث تربط عقد المشغّلات بعقد الإجراءات لإنشاء أي شيء من تسلسلات رسائل بسيطة إلى عمليات أعمال معقدة متعددة الخطوات. يتم تسجيل كل تنفيذ لسير العمل، ويمكنك اختبار سير العمل في المحاكي قبل تفعيله.
يقع سير العمل في قلب محرك الأتمتة في BotBat. بدلًا من الحاجة إلى كود أو تكاملات مبرمجة، يتيح محرر Studio المرئي لفرق التسويق والدعم والعمليات تصميم مسارات أتمتة متطورة دون مشاركة المطورين. كل سير عمل هو رسم بياني موجّه من العقد: يبدأ بعقدة مشغّل واحدة بالضبط ويتفرع إلى أي عدد من عقد الإجراءات والشروط والمسارات الفرعية. تُقيّم المنصة كل عقدة بالتسلسل (أو بالتوازي حيث تتفرع المسارات)، وتمرر البيانات عبر المتغيرات من عقدة إلى أخرى.
يُصدّر سير العمل تلقائيًا. في كل مرة تحفظ التغييرات، يتم إنشاء نسخة جديدة حتى تتمكن من العودة إلى تكوين سابق إذا حدث خطأ. تعالج مسارات العمل النشطة الأحداث في الوقت الفعلي، ويعيد محرك التنفيذ محاولة الإخفاقات المؤقتة وفقًا لسياسة إعادة المحاولة التي تُعدّها على مستوى سير العمل أو العقدة.
متى تستخدمها
استخدم سير العمل عندما تحتاج للمنصة أن تتفاعل مع حدث أو جدول أو مشغّل يدوي وتنفذ سلسلة من الإجراءات تلقائيًا. تغطي القائمة التالية السيناريوهات الأكثر شيوعًا، لكن سير العمل مرن بما يكفي للتعامل مع أي احتياج أتمتة تقريبًا.
- تسلسلات الرسائل الآلية: إرسال سلسلة ترحيبية عند إنشاء جهة اتصال جديدة، أو المتابعة بعد عملية شراء باستبيان رضا. تسلسل رسائل متعددة مع تأخيرات وشروط بحيث تتلقى كل جهة اتصال رحلة مخصصة.
- العمليات المبنية على الأحداث: تفعيل إجراءات عندما يرد عميل، أو تُضاف علامة، أو يُقدّم نموذج، أو أي حدث مخصص يُطلق من نظامك عبر webhook. تُقيّم مشغّلات الأحداث في أقل من ثانية واحدة، فتبدو استجاباتك فورية للمستخدمين النهائيين.
- المهام المجدولة: تشغيل سير عمل متكرر وفق جدول زمني، مثل إرسال تقارير أسبوعية أو إنهاء المحادثات غير النشطة أو مزامنة البيانات مع أنظمة خارجية. تقبل مشغّلات الجدول تعبيرات cron القياسية بالإضافة إلى إعدادات مسبقة سهلة مثل "كل يوم عمل في الساعة 9 صباحًا".
- منطق الأعمال متعدد الخطوات مع الشروط: بناء سير عمل تفريعي يوجّه جهات الاتصال عبر مسارات مختلفة بناءً على السمات أو الردود أو عمليات البحث في البيانات الخارجية. تدعم عقد الشروط تعبيرات غنية تشمل المقارنات والمعاملات المنطقية والتعبيرات النمطية.
- العمليات التي تتطلب تدخلًا بشريًا: تضمين خطوات موافقة حيث يجب على أحد أعضاء الفريق المراجعة والموافقة قبل استمرار سير العمل. راجع موافقات سير العمل للتفاصيل الكاملة حول تكوين الموافقين والمهلات ومسارات التصعيد.
- إثراء البيانات والتكامل: استخدام عقد استدعاء API لجلب أو دفع البيانات من أنظمة CRM أو قواعد البيانات أو الخدمات الخارجية كجزء من سير العمل. ربط حقول الاستجابة بمتغيرات سير العمل حتى تتمكن العقد اللاحقة من استخدام البيانات المُثراة.
فهم صفحة قائمة سير العمل
عند التنقل إلى سير العمل في الشريط الجانبي الرئيسي، تصل إلى صفحة قائمة سير العمل. تعرض هذه الصفحة كل سير عمل في مساحة عملك مع اسمه وحالته الحالية (نشط، غير نشط، أو مسودة) ونوع المشغّل وطابع آخر تعديل زمني وقائمة إجراءات سريعة. يمكنك تصفية وترتيب القائمة حسب أي عمود، وتفعيل أو تعطيل عدة مسارات عمل دفعة واحدة.

تعرض صفحة القائمة أيضًا إحصائيات التنفيذ لكل سير عمل: عدد التشغيلات في آخر 24 ساعة ومعدل النجاح ومتوسط المدة. تساعدك هذه المقاييس في اكتشاف مسارات العمل التي تفشل بشكل متكرر أو تعمل أبطأ من المتوقع. انقر على أي صف سير عمل لفتحه في محرر Studio.
محرر Studio
محرر Studio هو اللوحة المرئية حيث تصمم سير عملك. تحتل اللوحة وسط الشاشة. على اليسار تجد لوحة العقد، وعلى اليمين تظهر لوحة الخصائص عند تحديد عقدة. يوفر شريط الأدوات في الأعلى عناصر التحكم: حفظ واختبار وتراجع/إعادة وتكبير وتفعيل/تعطيل.

يمكنك تحريك اللوحة بالنقر والسحب على المساحة الفارغة، والتكبير بعجلة التمرير أو أزرار شريط الأدوات. تلتقط العقد شبكة غير مرئية للحفاظ على ترتيب التخطيط. تُرسم الاتصالات بين العقد كخطوط منحنية، ويمكنك إعادة توجيهها بسحب نقطة منتصف الخط.
لوحة العقد وأنواعها
تُنظّم لوحة العقد على الجانب الأيسر من محرر Studio العقد المتاحة في فئتين: المشغّلات والإجراءات. وسّع فئة لرؤية أنواع العقد الفردية، ثم اسحب واحدة إلى اللوحة لإضافتها إلى سير عملك.

يلخّص الجدول التالي كل نوع عقدة متاح في اللوحة.
| الفئة | العقدة | الوصف |
|---|---|---|
| مشغّل | رسالة مستلمة | يتفعّل عند إرسال جهة اتصال رسالة على أي قناة متصلة. يدعم فلاتر القناة والكلمات المفتاحية. |
| مشغّل | حدث | يتفعّل عند حدوث حدث منصة محدد (إنشاء جهة اتصال، إضافة علامة، إغلاق محادثة، وغيرها). |
| مشغّل | جدول زمني | يتفعّل وفق جدول cron متكرر (يومي، أسبوعي، أو تعبير مخصص). |
| مشغّل | Webhook | يتفعّل عندما يرسل نظام خارجي طلب POST إلى URL الـ webhook الفريد لسير العمل. |
| مشغّل | يدوي | يتفعّل عندما ينقر مستخدم وحدة التحكم على زر "تشغيل" لسير العمل هذا. |
| إجراء | إرسال رسالة | إرسال رسالة إلى جهة اتصال على قناة محددة باستخدام قالب أو محتوى مضمّن. |
| إجراء | استدعاء API | إجراء طلب HTTP إلى خدمة خارجية وربط الاستجابة بمتغيرات سير العمل. |
| إجراء | تأخير | إيقاف مؤقت للتنفيذ لمدة محددة (دقائق، ساعات، أو أيام). |
| إجراء | شرط / تفريع | تقييم تعبير وتوجيه التنفيذ إلى منافذ إخراج مختلفة (صحيح، خاطئ، افتراضي). |
| إجراء | حلقة | التكرار على متغير قائمة وتنفيذ العقد الفرعية لكل عنصر. |
| إجراء | موافقة بشرية | إيقاف سير العمل مؤقتًا وإرسال إشعار للموافقين المعيّنين. يُستأنف عند الموافقة أو الرفض. |
| إجراء | سير عمل فرعي | تنفيذ سير عمل آخر كخطوة متداخلة، مع تمرير المتغيرات واستقبال المخرجات. |
| إجراء | استعلام قاعدة بيانات | القراءة من أو الكتابة إلى قاعدة بيانات متصلة، مع إرجاع النتائج كمتغير سير عمل. |
| إجراء | جمع التقييمات | مطالبة جهة الاتصال بتقييم أو ملاحظات نصية وتخزين الاستجابة. |
تكوين خصائص العقدة
عند النقر على عقدة في اللوحة، تُفتح لوحة خصائصها على الجانب الأيمن من المحرر. تحتوي اللوحة على جميع الحقول القابلة للتكوين لنوع تلك العقدة. تُعلّم الحقول المطلوبة بنجمة، ويتضمن كل حقل تلميحًا يشرح غرضه. يمكنك إدراج متغيرات ديناميكية في معظم حقول النص بكتابة {{ لفتح القائمة المنسدلة للإكمال التلقائي.

بالنسبة لعقد إرسال الرسالة، تتضمن اللوحة محدد القناة ومنتقي القالب (أو محرر محتوى مضمّن) وقسم ربط المتغيرات. بالنسبة لعقد استدعاء API، ترى حقول طريقة HTTP وعنوان URL والرؤوس ونص الطلب وربط متغيرات الاستجابة. تعرض عقد الشروط منشئ تعبيرات مع اقتراحات المتغيرات والقوائم المنسدلة للمعاملات.
المتغيرات والبيانات الديناميكية
يدعم سير العمل متغيرات ديناميكية تُحلّ وقت التنفيذ. تتبع المتغيرات صيغة {{scope.path}}. النطاقات الأساسية الثلاثة هي trigger (بيانات من حدث المشغّل)، وcontact (سمات جهة الاتصال التي يعمل عليها سير العمل)، وnodes (مخرجات العقد المنفّذة سابقًا، مشار إليها باسم العقدة). على سبيل المثال، {{trigger.message.text}} تُحلّ إلى نص الرسالة الواردة، و{{nodes.apiLookup.output.email}} تُحلّ إلى حقل البريد الإلكتروني المُرجع من عقدة استدعاء API باسم "apiLookup".
يمكن استخدام المتغيرات في محتوى الرسائل وتعبيرات الشروط وعناوين URL ونصوص استدعاءات API ومدد التأخير (عندما تكون مدفوعة بسمة جهة اتصال) وأي حقل نصي تقريبًا في خصائص العقدة. تعرض القائمة المنسدلة للإكمال التلقائي جميع المتغيرات المتاحة عند النقطة الحالية في سير العمل، فلا تحتاج لحفظ المسارات.
الاختبار باستخدام المحاكي
قبل تفعيل سير العمل، استخدم المحاكي المدمج للتحقق من سلوكه. انقر على "اختبار" في شريط أدوات Studio لفتح لوحة المحاكي. تقدم بيانات مشغّل نموذجية (على سبيل المثال، رسالة واردة وهمية أو حمولة webhook نموذجية) ويُنفّذ المحاكي سير العمل خطوة بخطوة على اللوحة. تتمييز كل عقدة بالأخضر عند النجاح أو الأحمر عند الفشل، وتعرض لوحة المحاكي بيانات الإدخال والإخراج لكل خطوة.

لا يرسل المحاكي رسائل حقيقية أو يجري استدعاءات API حقيقية بشكل افتراضي. تُقلّد الاستدعاءات الخارجية، ويمكنك تقديم استجابات وهمية مخصصة لعقد استدعاء API. إذا كنت تحتاج للاختبار مع خدمات خارجية فعلية، فعّل "الوضع المباشر" في إعدادات المحاكي، لكن استخدم هذا بحذر في مساحات العمل الإنتاجية.
عرض سجل التنفيذ
يعرض تبويب التنفيذات في كل صفحة سير عمل سجلًا لكل تشغيل. يعرض كل إدخال معرّف التنفيذ ووقت البدء والمدة والحالة النهائية (مكتمل، فاشل، أو قيد الانتظار) وبيانات المشغّل التي بدأت التشغيل. انقر على صف تنفيذ لتوسيع تتبعه الكامل خطوة بخطوة.

داخل عرض التتبع، تعرض كل عقدة حالتها ومدة تنفيذها وبيانات الإدخال وبيانات الإخراج. تعرض العقد الفاشلة رسالة الخطأ وتتبع المكدس. يمكنك إعادة تشغيل تنفيذ فاشل من نقطة الفشل (أو من البداية) باستخدام زر "إعادة المحاولة". يتم الاحتفاظ بسجلات التنفيذ لمدة 30 يومًا بشكل افتراضي؛ يمكنك تعديل هذا في إعدادات مساحة العمل.
الأخطاء الشائعة
أتمتة سير العمل قوية، لكن بعض الأخطاء المتكررة قد تسبب سلوكًا غير متوقع. راجع هذه المشاكل قبل بناء أول سير عمل، وارجع إليها عند استكشاف الأخطاء.
- عدم معالجة الأخطاء في استدعاءات API: إذا فشلت عقدة استدعاء API بسبب انتهاء المهلة أو خطأ خادم، يتوقف سير العمل عند تلك الخطوة ما لم تضف منطق تفريع. اتبع دائمًا عقدة استدعاء API بعقدة شرط تتحقق من رمز حالة الاستجابة وتوجّه إلى مسار معالجة الأخطاء.
- الحلقات اللانهائية: سير العمل المُفعّل بـ "رسالة مستلمة" الذي يرسل رسالة بنفسه قد يعيد التفعيل بلا نهاية. امنع هذا بإضافة عقدة شرط تتحقق مما إذا كان المرسل هو الروبوت، أو بتطبيق تأخير تهدئة يمنع إعادة التفعيل ضمن نافذة زمنية.
- سير العمل الكبير جدًا: مسارات العمل التي تحتوي على 50 عقدة أو أكثر تصبح صعبة القراءة والصيانة واستكشاف الأخطاء. قسّم العمليات الكبيرة إلى مسارات فرعية أصغر ومركزة وركّبها باستخدام عقد المسار الفرعي. هذا أيضًا يجعل القطع الفردية قابلة لإعادة الاستخدام عبر مسارات عمل أصلية متعددة.
- القيم الثابتة بدلًا من المتغيرات: كتابة قيم حرفية في محتوى الرسائل وتعبيرات الشروط تجعل سير العمل جامدًا. استخدم سمات جهات الاتصال ومتغيرات بيانات المشغّل حتى يتكيّف سير العمل ديناميكيًا مع كل سياق تنفيذ.
- تخطي المحاكي: تفعيل سير عمل دون اختباره أولًا قد يؤدي إلى إرسال رسائل غير صحيحة لجهات اتصال حقيقية. قم دائمًا بتشغيل جولة محاكي واحدة على الأقل مع بيانات نموذجية واقعية قبل تبديل سير العمل إلى حالة النشط.
ابدأ برسم سير العمل على ورقة أو سبورة بيضاء قبل بنائه في Studio. حدد المشغّل والمسار الأساسي ومسارات الأخطاء وشروط الخروج أولًا. ثم ترجم ذلك التصميم إلى عقد على اللوحة.
- صفحة قائمة سير العمل
- محرر Studio
- لوحة العقد
- خصائص العقدة
- المتغيرات
- المحاكي
- سجل التنفيذ