إنشاء سير عمل
ما هي هذه الميزة
إنشاء سير عمل في BotBat يتضمن اختيار مشغّل وإضافة وتكوين عقد الإجراءات في محرر Studio المرئي وربطها معًا واستخدام المتغيرات للبيانات الديناميكية والاختبار بالمحاكي وتفعيل سير العمل. يوفر محرر Studio لوحة سحب وإفلات حيث تصمم مسار الأتمتة بالكامل بصريًا.
تم تصميم عملية إنشاء سير العمل لتكون متاحة للمستخدمين غير التقنيين مع توفير العمق الذي يحتاجه المستخدمون المتقدمون. يبدأ كل سير عمل من مربع حوار حيث تسمّيه وتختار نوع المشغّل، ثم تنتقل مباشرة إلى لوحة محرر Studio. من هناك تبني أتمتتك بسحب العقد من اللوحة وربطها بخطوط وملء تكوين كل عقدة في لوحة الخصائص. تتحقق المنصة من صحة سير عملك أثناء البناء، وتبرز الحقول المطلوبة المفقودة والعقد غير القابلة للوصول في الوقت الفعلي.
تدعم مسارات العمل التفريع والتكرار وتركيب المسارات الفرعية وخطوات الموافقة البشرية. هذا يعني أن سير عمل واحد يمكنه التعامل مع منطق أعمال معقد مثل "إذا كانت جهة الاتصال في الشريحة أ، أرسل العرض س؛ وإلا تحقق من سجل مشترياتهم عبر API، وإذا أنفقوا أكثر من 500 دولار هذا الربع، وجّه إلى مسار VIP مع موافقة المدير قبل إرسال خصم مخصص." كل هذا يُعبّر عنه بصريًا دون كتابة كود.
متى تستخدمها
- أتمتة عملية متكررة: عندما تجد نفسك تنفذ يدويًا نفس تسلسل الإجراءات لجهات الاتصال بشكل متكرر، ابنِ سير عمل للتعامل معها. تشمل الأمثلة الشائعة تسلسلات الاستقبال وتذكيرات المواعيد ومتابعات ما بعد الشراء.
- الاستجابة للأحداث في الوقت الفعلي: أنشئ سير عمل يُفعّل بالرسائل الواردة أو أحداث جهات الاتصال أو webhooks لاتخاذ إجراء فوري دون تدخل يدوي. تُنفّذ مسارات العمل المُفعّلة بالأحداث خلال ثوانٍ من وقوع الحدث.
- بناء حملات متعددة الخطوات: عندما لا يكفي إرسال حملة واحدة وتحتاج تسلسلًا بتأخيرات وشروط ومتابعات، يمنحك سير العمل تحكمًا كاملًا في التوقيت ومنطق التفريع.
- ربط BotBat بأنظمة خارجية: استخدم عقد استدعاء API ضمن سير العمل لدفع البيانات إلى نظام CRM أو سحب معلومات من قاعدة بيانات أو إرسال إشعار إلى قناة Slack. يمكن ربط بيانات الاستجابة بمتغيرات سير العمل واستخدامها في العقد اللاحقة.
الخطوة 1: فتح منشئ سير العمل
انتقل إلى سير العمل في الشريط الجانبي الرئيسي وانقر على زر "إنشاء سير عمل". يظهر مربع حوار حيث تُدخل اسم سير العمل ووصفًا اختياريًا. يجب أن يكون الاسم وصفيًا بما يكفي ليتمكن فريقك من تحديد غرض سير العمل بنظرة واحدة، مثل "استبيان رضا ما بعد الشراء" أو "مسار تأهيل العملاء المحتملين الجدد".

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

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

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

| نوع العقدة | الخصائص الرئيسية |
|---|---|
| إرسال رسالة | محدد القناة، منتقي القالب أو محرر محتوى مضمّن، ربط المتغيرات للتخصيص |
| استدعاء API | طريقة HTTP (GET، POST، PUT، DELETE)، عنوان URL، الرؤوس (أزواج مفتاح-قيمة)، نص الطلب (محرر JSON)، ربط متغيرات الاستجابة، إعدادات المهلة وإعادة المحاولة |
| تأخير | قيمة المدة والوحدة (دقائق، ساعات، أيام)، أو تعبير ديناميكي يشير إلى متغير |
| شرط / تفريع | منشئ تعبيرات مع محددات المتغيرات ومعاملات المقارنة؛ يدعم تجميع AND/OR |
| حلقة | محدد متغير القائمة، اسم متغير المكرر، حد أقصى للتكرارات |
| موافقة بشرية | محدد الموافق (مستخدم أو فريق أو دور)، مدة المهلة، إجراء المهلة (موافقة تلقائية، رفض تلقائي، تصعيد)، رسالة الإشعار |
| سير عمل فرعي | محدد سير العمل، ربط متغيرات الإدخال، ربط متغيرات الإخراج |
| استعلام قاعدة بيانات | نوع الاستعلام (SELECT، INSERT، UPDATE)، محدد الاتصال، قالب الاستعلام مع عناصر نائبة للمتغيرات |
| جمع التقييمات | نوع التقييم (تقييم بالنجوم، NPS، نص حر)، رسالة المطالبة، متغير التخزين |
املأ كل حقل مطلوب قبل الانتقال إلى العقدة التالية. تبرز المنصة العقد غير المكتملة بشارة تحذير برتقالية حتى تتمكن من اكتشاف ما يحتاج اهتمامًا بسهولة.
الخطوة 5: استخدام المتغيرات للبيانات الديناميكية
أدرج المتغيرات في أي مكان في حقول العقد باستخدام صيغة {{variable}}. عند كتابة {{ في أي حقل نصي، تظهر قائمة إكمال تلقائي منسدلة تسرد جميع المتغيرات المتاحة عند تلك النقطة في سير العمل.

تُنظّم المتغيرات في ثلاثة نطاقات. نطاق trigger يحتوي على بيانات من حدث المشغّل، مثل {{trigger.message.text}} أو {{trigger.webhook.payload.orderId}}. نطاق contact يحتوي على سمات جهة الاتصال التي يعمل عليها سير العمل، مثل {{contact.name}} و{{contact.email}} و{{contact.tags}}. نطاق nodes يحتوي على مخرجات العقد المُنفّذة سابقًا، مشار إليها باسم العقدة، مثل {{nodes.apiLookup.output.status}} أو {{nodes.dbQuery.output.rows[0].balance}}.
يمكنك أيضًا استخدام متغيرات الأدوات المدمجة مثل {{now}} (الطابع الزمني الحالي) و{{randomId}} (UUID مُولّد) و{{env.WORKSPACE_ID}} (معرّف مساحة العمل). هذه مفيدة لتوليد أكواد مرجعية فريدة وتعيين الطوابع الزمنية في طلبات API أو منطق التوجيه بناءً على مساحة العمل.
الخطوة 6: الاختبار بالمحاكي
انقر على "اختبار" في شريط أدوات Studio لفتح لوحة المحاكي. قدّم بيانات مشغّل نموذجية تطابق نوع مشغّلك (على سبيل المثال، JSON رسالة واردة وهمية لمشغّل رسالة مستلمة). يُنفّذ المحاكي كل عقدة بالتسلسل، مع تمييز العقد بالأخضر عند النجاح أو الأحمر عند الفشل.

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

عندما تكون راضيًا عن سلوك سير العمل بشكل صحيح، بدّل حالة سير العمل إلى "نشط" باستخدام الزر في شريط الأدوات العلوي. سيُنفّذ سير العمل الآن تلقائيًا كلما تحقق شرط المشغّل. لإيقاف سير العمل، بدّله مرة أخرى إلى "غير نشط". ستكتمل التنفيذات الجارية، لكن لن تبدأ تنفيذات جديدة. يمكنك أيضًا تعيين تاريخ انتهاء صلاحية لسير العمل بحيث يتوقف تلقائيًا بعد انتهاء حملة ما.
للحصول على إرشادات تفصيلية حول إضافة خطوات الموافقة إلى مسارات عملك، راجع موافقات سير العمل.
الأخطاء الشائعة
هذه أكثر الأخطاء شيوعًا التي تواجهها الفرق عند إنشاء مسارات العمل. راجعها قبل بناء أول سير عمل، وارجع إليها عند استكشاف السلوك غير المتوقع.
- نسيان الحفظ قبل الاختبار: يُشغّل المحاكي آخر نسخة محفوظة من سير العمل. إذا أجريت تغييرات ولم تنقر حفظ، سيُنفّذ الاختبار النسخة القديمة ولن تعكس النتائج تعديلاتك الأخيرة. اعتد على الحفظ بعد كل تغيير مهم.
- ربط المتغيرات المفقود: إذا أشارت عقدة إلى متغير غير موجود (مثل خطأ إملائي كـ
{{contact.naem}}بدلًا من{{contact.name}})، يُحلّ المتغير إلى سلسلة فارغة وقت التنفيذ. استخدم القائمة المنسدلة للإكمال التلقائي لاختيار المتغيرات بدلًا من كتابة المسارات يدويًا. - فلاتر المشغّل واسعة جدًا: مشغّل "رسالة مستلمة" بدون فلاتر يُفعّل عند كل رسالة واردة عبر جميع القنوات. يمكن أن يُولّد هذا آلاف التنفيذات في الساعة في مساحة عمل نشطة. أضف دائمًا فلاتر القنوات أو الكلمات المفتاحية أو سمات جهات الاتصال لتضييق النطاق.
- عدم معالجة جميع فروع الشروط: إذا قيّمت عقدة شرط لا إلى صحيح ولا خاطئ (مثلًا عندما يكون المتغير فارغًا أو غير معرّف)، قد يتوقف سير العمل عند تلك العقدة. اربط دائمًا منفذ الإخراج الافتراضي كمسار احتياطي.
- تجاهل فشل التنفيذ: تحقق من تبويب التنفيذات بانتظام. تعرض التنفيذات الفاشلة الخطوة الدقيقة ورسالة الخطأ. عالج الإخفاقات فورًا لتجنب فقدان البيانات الصامت أو توقف جهات الاتصال في منتصف سير العمل.
استخدم عقدة "سير العمل الفرعي" للحفاظ على نمطية مسارات عملك. ابنِ مسارات فرعية قابلة لإعادة الاستخدام للأنماط الشائعة مثل "إرسال رسالة وانتظار الرد" أو "البحث عن جهة اتصال في CRM". استدعِها من مسارات عمل أصلية متعددة لتجنب تكرار المنطق.
- مربع حوار الإنشاء
- تكوين المشغّل
- لوحة التصميم
- خصائص العقدة
- المتغيرات
- المحاكي
- سجل التنفيذ
- التفعيل