الانتقال إلى المحتوى الرئيسي
من المحتمل أن تكون مشكلة أذونات. تحتاج إلى صلاحية الوصول إلى سير العمل لإنشائها وتفعيلها.الحل: تواصل مع مسؤول مساحة العمل لمنحك صلاحية الوصول إلى سير العمل ضمن الإعدادات → الأدوار.إذا لم ترَ قسم سير العمل إطلاقاً في الشريط الجانبي لديك، فهذا يؤكد أنها مشكلة أذونات.
تظهر عمليات سير العمل اليدوية في شريط التنقل فقط إذا تم إعدادها بشكل صحيح:
  1. يجب أن يكون سير العمل مفعَّلاً (ليس في وضع المسودة)
  2. يجب تعيين موضع شريط التنقل إلى Pinned
  3. بالنسبة لمشغلات Single/Bulk، يجب أن تكون في صفحة الكائن الصحيحة
للتحقق: افتح سير العمل → انقر المشغل → تأكد من أن “Navbar placement” معيّن إلى “Pinned”.يمكنك دائماً الوصول إلى عمليات سير العمل اليدوية عبر Cmd + K (أو Ctrl + K) بغض النظر عن إعدادات شريط التنقل.
النوعالسجلات المطلوبةعمليات تشغيل سير العمل
| Global | لا شيء | مرة واحدة، دون إدخال سجل | | Single | واحد أو أكثر محدد | مرة لكل سجل محدد | | Bulk | واحد أو أكثر محدد | مرة واحدة، مع جميع السجلات كمصفوفة |
  • Global: استخدمه عندما لا يحتاج سير العمل إلى سياق أي سجل (مثال: إنشاء تقرير)
  • Single: استخدمه عندما تريد معالجة كل سجل محدد بشكل مستقل (مثال: إرسال رسائل بريد إلكتروني فردية)
  • Bulk: استخدمه عندما تحتاج إلى معالجة السجلات معاً أو تحسين استخدام الرصيد (يتطلب إجراء Iterator)
راجع مشغلات سير العمل للحصول على التفاصيل.
عقدة If/Else صريحة غير متاحة بعد، لكنها ضمن خارطة الطريق لدينا.الحل المؤقت الحالي: أنشئ عدة فروع من خطوتك، يبدأ كل منها بإجراء Filter:
Step 1

   ├── Branch A: Filter (condition = true) → Actions...

   └── Branch B: Filter (condition = false) → Actions...
فقط الفرع الذي يمر فيه شرط التصفية سيُنفِّذ إجراءاته اللاحقة.راجع كيفية استخدام الفروع للحصول على دليل خطوة بخطوة.
نعم، تعمل الفروع بالتوازي افتراضياً.إذا كنت تريد تنفيذ فرع واحد فقط:
  • أضف إجراء Filter في بداية كل فرع
  • عيّن شروطاً متعاكسة (مثال: Branch A: status = “Open”, Branch B: status ≠ “Open”)
الفروع التي لا تستوفي شرط التصفية تتوقف عن التنفيذ، بينما تستمر الفروع الأخرى.
نعم. بعد اكتمال فروعك المتوازية، يمكنك إضافة خطوة يتصل بها الفرعان.في محرر سير العمل:
  1. أكمل إجراءات الفروع
  2. أضف خطوة جديدة بعد الفروع
  3. اسحب الاتصالات من نهاية كل فرع إلى هذه الخطوة الجديدة
ستُنفَّذ الخطوة المدمجة بعد اكتمال جميع الفروع المتصلة.
تعيد Search Records بحد أقصى 200 سجل.إذا كنت بحاجة إلى معالجة المزيد:
  • أضف عوامل تصفية أكثر تحديداً لتقليل النتائج
  • استخدم سير عمل مجدولاً للمعالجة على دفعات
  • فكّر في استخدام الـAPI للعمليات المجمّعة
بالنسبة لمعظم سير العمل، يكفي 200 سجل. إذا بلغت هذا الحد بشكل متكرر، فكر في إعادة هيكلة الأتمتة لديك.
ليس بعد. حقولا CC وBCC لإجراء Send Email على خارطة الطريق لدينا.الحل المؤقت الحالي: أضف عدة إجراءات Send Email للإرسال إلى مستلمين إضافيين، أو استخدم HTTP Request للإرسال عبر خدمة بريد إلكتروني خارجية تدعم CC.
كل إجراء ينتج بيانات مخرجات يمكن استخدامها في الخطوات اللاحقة.للإشارة إلى بيانات الخطوات السابقة:
  • استخدم أداة اختيار المتغير عند تكوين حقل
  • أو اكتب {{stepName.fieldName}} مباشرةً
أمثلة:
  • بيانات المشغل: {{trigger.object.email}}
  • نتائج البحث: {{searchRecords[0].name}}
  • مخرجات الكود: {{code.calculatedValue}}
مرّر المؤشر فوق أي حقل في تكوين الإجراء لرؤية المتغيرات المتاحة من الخطوات السابقة.
Iterator يتطلب مُدخلًا من نوع مصفوفة. مشكلات شائعة:
  1. المدخل ليس مصفوفة: تأكد من أنك تمرر نتائج من Search Records أو إجراء آخر يُرجع مصفوفة
  2. المصفوفة فارغة: أضف عامل تصفية قبل Iterator للتحقق من {{searchRecords.length}} > 0
  3. تم اختيار متغير خاطئ: تأكد من اختيارك للمصفوفة نفسها، وليس سجلاً واحداً
الإعداد الصحيح:
  1. Search Records (تُرجع مصفوفة)
  2. Filter: length > 0
  3. Iterator: اختر {{searchRecords}}
  4. الإجراءات داخل Iterator تستخدم {{iterator.currentItem.fieldName}}
إجراءات Code (دوال بلا خادم) لديها مهلة افتراضية قدرها 5 دقائق (300 ثانية).أقصى مهلة يمكن ضبطها هي 15 دقيقة (900 ثانية).إذا تجاوز الكود هذا الحد، سيفشل الإجراء بخطأ انتهاء المهلة.نصائح لتجنب انتهاء المهلة:
  • قسّم العمليات الكبيرة إلى أجزاء أصغر باستخدام Iterator
  • تجنب العمليات الحسابية الثقيلة؛ استخدم خدمات خارجية عبر HTTP Request للمعالجة المكثفة
  • حسّن الكود لديك لتقليل وقت التنفيذ
  • إذا كنت بحاجة إلى معالجة أطول، ففكّر في استخدام سير عمل مجدول يعالج البيانات على دفعات
تعرض تشغيلات سير العمل سجل التنفيذ وتساعدك على تصحيح المشكلات.الوصول إلى التشغيلات:
  • في محرر سير العمل → لوحة التشغيلات على اليمين
  • أو انتقل إلى تشغيلات سير العمل في الشريط الجانبي
فهم التشغيل:
  • الحالة: قيد التشغيل، مكتمل، فشل، في الانتظار
  • الخطوات: اطّلِع على الخطوات التي تم تنفيذها ومخرجاتها
  • الأخطاء: انقر الخطوات الفاشلة لرؤية رسائل الخطأ
  • البيانات: اعرض بيانات الإدخال/الإخراج في كل خطوة
راجع تشغيلات سير العمل للحصول على التفاصيل.
قد تفشل تشغيلات سير العمل فوراً بسبب حدود المعدل.حد صارم: 5,000 عملية تشغيل في الساعة لكل مساحة عمل.إذا تجاوزت هذا الحد، ستُعلَّم عمليات التشغيل فوراً كفاشلة ولن تظهر في قائمة التشغيلات كما هو متوقع.سيناريوهات شائعة تصل إلى هذا الحد:
  • اختيار أكثر من 5,000 سجل باستخدام مشغل يدوي Single
  • تشغيل عدة سير عمل بالتزامن عبر مساحة العمل
  • مشغلات آلية عالية التكرار (مثال: Record Updated على كائن مزدحم)
حلول:
  • استخدم مشغلات Bulk بدلاً من Single لمعالجة العديد من السجلات في تشغيل واحد
  • وزّع العمليات الدفعية الكبيرة زمنياً
  • استخدم عوامل تصفية لتقليل تكرار المشغل
  • قم بجدولة سير العمل الثقيلة خلال ساعات خارج أوقات الذروة
لدى Twenty حدّان للمعدل لضمان استقرار النظام:
الحدالقيمةالسلوك
| حد مرن | 100 تشغيل/دقيقة | تُصفّ في قائمة الانتظار بحالة “Not Started” وتُعالَج تدريجياً | | حد صارم | 5,000 تشغيل/ساعة | تفشل التشغيلات فوراً |الحد المرن (100/دقيقة): لن تفشل سير العمل لديك—ستنتظر فقط في قائمة الانتظار وتُعالَج بمرور الوقت. يمكنك تشغيل أكثر من 100 سجل؛ سيكون التنفيذ أبطأ.الحد الصارم (5,000/ساعة): ينطبق هذا على مساحة العمل بالكامل. إذا تجاوز مجموع تشغيلات جميع سير العمل لديك 5,000 تشغيل في ساعة واحدة، فسوف تفشل التشغيلات الإضافية فوراً.نصائح للبقاء ضمن الحدود:
  • استخدم مشغلات Bulk مع Iterator بدلاً من مشغلات Single للدفعات الكبيرة
  • ادمج الأتمتة ذات الصلة في عدد أقل من سير العمل
  • استخدم سير عمل مجدولة لتوزيع الحمل بمرور الوقت
لا، لا توجد حالياً وظيفة إعادة المحاولة التلقائية.إذا فشل تشغيل سير عمل، فستحتاج إلى:
  1. راجع الخطأ في الإعدادات → سير العمل → [سير العمل الخاص بك] → التشغيلات
  2. أصلِح المشكلة (البيانات، الإعداد، أو الخدمة الخارجية)
  3. قم بتشغيل سير العمل يدوياً مرة أخرى على السجل/السجلات المتأثرة
نصائح لتقليل حالات الفشل:
  • أضف عقد Filter للتحقق من البيانات قبل الإجراءات
  • استخدم Search Records للتحقق مما إذا كانت السجلات ذات الصلة موجودة
  • اختبر بدقة باستخدام عدد قليل من السجلات قبل العمليات المجمّعة
وظيفة إعادة المحاولة التلقائية ضمن خارطة الطريق لإصدار مستقبلي.
نعم، إذا كانت سير العمل لديك تُشغَّل بإنشاء السجلات أو تحديثها.عند استيراد البيانات عبر CSV، يمكن لكل سجل يتم إنشاؤه أو تحديثه تشغيل سير العمل. قد يؤدي الاستيراد الكبير (آلاف السجلات) إلى:
  • بلوغ حد 5,000 تشغيل/ساعة
  • استهلاك قدر كبير من اعتمادات سير العمل
  • إرسال رسائل بريد إلكتروني أو إشعارات غير متوقعة
  • إنشاء مهام أو سجلات مكررة
قبل الاستيراد الكمي:
  1. اذهب إلى الإعدادات → سير العمل
  2. حدّد سير العمل المُشغَّلة بواسطة الكائن الذي تقوم باستيراده
  3. عطِّلها مؤقتاً
  4. شغّل استيراد CSV الخاص بك
  5. أعد تفعيل سير العمل عند الانتهاء
بديل: إذا كنت تحتاج إلى أن تعمل سير العمل على البيانات المستوردة، فقم بالاستيراد على دفعات أصغر للبقاء ضمن حدود المعدل.
إذا بدا مخطط سير العمل لديك فوضوياً مع تشتت العقد، فيمكنك تنظيمه تلقائياً:
  1. انقر بزر الفأرة الأيمن في أي مكان على مخطط سير العمل
  2. انقر Tidy up workflow
سيؤدي ذلك إلى إعادة ترتيب جميع العقد تلقائياً في مخطط نظيف ومنظم.