> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# الأسئلة الشائعة حول سير العمل

> الأسئلة الشائعة حول سير العمل في Twenty.

<AccordionGroup>
  <Accordion title="لماذا لا أستطيع تفعيل سير عمل؟">
    من المحتمل أن تكون مشكلة أذونات. تحتاج إلى صلاحية الوصول إلى سير العمل لإنشائها وتفعيلها.

    **الحل**: تواصل مع مسؤول مساحة العمل لمنحك صلاحية الوصول إلى سير العمل ضمن **الإعدادات → الأدوار**.

    إذا لم ترَ قسم سير العمل إطلاقاً في الشريط الجانبي لديك، فهذا يؤكد أنها مشكلة أذونات.
  </Accordion>

  <Accordion title="لماذا لا أرى زر سير العمل اليدوي في شريط التنقل العلوي؟">
    تظهر عمليات سير العمل اليدوية في شريط التنقل فقط إذا تم إعدادها بشكل صحيح:

    1. يجب أن يكون سير العمل **مفعَّلاً** (ليس في وضع المسودة)
    2. يجب تعيين موضع شريط التنقل إلى **Pinned**
    3. بالنسبة لمشغلات Single/Bulk، يجب أن تكون في صفحة الكائن الصحيحة

    **للتحقق**: افتح سير العمل → انقر المشغل → تأكد من أن "Navbar placement" معيّن إلى "Pinned".

    يمكنك دائماً الوصول إلى عمليات سير العمل اليدوية عبر **Cmd + K** (أو **Ctrl + K**) بغض النظر عن إعدادات شريط التنقل.
  </Accordion>

  <Accordion title="ما الفرق بين المشغلات اليدوية Single وGlobal وBulk؟">
    | النوع         | السجلات المطلوبة  | عمليات تشغيل سير العمل             |
    | ------------- | ----------------- | ---------------------------------- |
    | \| **Global** | لا شيء            | مرة واحدة، دون إدخال سجل           |
    | \| **Single** | واحد أو أكثر محدد | مرة لكل سجل محدد                   |
    | \| **Bulk**   | واحد أو أكثر محدد | مرة واحدة، مع جميع السجلات كمصفوفة |

    * **Global**: استخدمه عندما لا يحتاج سير العمل إلى سياق أي سجل (مثال: إنشاء تقرير)
    * **Single**: استخدمه عندما تريد معالجة كل سجل محدد بشكل مستقل (مثال: إرسال رسائل بريد إلكتروني فردية)
    * **Bulk**: استخدمه عندما تحتاج إلى معالجة السجلات معاً أو تحسين استخدام الرصيد (يتطلب إجراء Iterator)

    راجع [مشغلات سير العمل](/l/ar/user-guide/workflows/capabilities/workflow-triggers) للحصول على التفاصيل.
  </Accordion>

  <Accordion title="لا أرى عقدة If/Else. ماذا يجب أن أفعل؟">
    عقدة If/Else صريحة غير متاحة بعد، لكنها ضمن خارطة الطريق لدينا.

    **الحل المؤقت الحالي**: أنشئ عدة فروع من خطوتك، يبدأ كل منها بإجراء **Filter**:

    ```
    Step 1
       │
       ├── Branch A: Filter (condition = true) → Actions...
       │
       └── Branch B: Filter (condition = false) → Actions...
    ```

    فقط الفرع الذي يمر فيه شرط التصفية سيُنفِّذ إجراءاته اللاحقة.

    راجع [كيفية استخدام الفروع](/l/ar/user-guide/workflows/capabilities/workflow-branches) للحصول على دليل خطوة بخطوة.
  </Accordion>

  <Accordion title="هل تعمل فروع سير العمل بالتوازي؟">
    **نعم**، تعمل الفروع بالتوازي افتراضياً.

    إذا كنت تريد تنفيذ فرع واحد فقط:

    * أضف إجراء **Filter** في بداية كل فرع
    * عيّن شروطاً متعاكسة (مثال: Branch A: status = "Open", Branch B: status ≠ "Open")

    الفروع التي لا تستوفي شرط التصفية تتوقف عن التنفيذ، بينما تستمر الفروع الأخرى.
  </Accordion>

  <Accordion title="هل يمكنني دمج الفروع معاً مرة أخرى؟">
    **نعم**. بعد اكتمال فروعك المتوازية، يمكنك إضافة خطوة يتصل بها الفرعان.

    في محرر سير العمل:

    1. أكمل إجراءات الفروع
    2. أضف خطوة جديدة بعد الفروع
    3. اسحب الاتصالات من نهاية كل فرع إلى هذه الخطوة الجديدة

    ستُنفَّذ الخطوة المدمجة بعد اكتمال جميع الفروع المتصلة.
  </Accordion>

  <Accordion title="ما الحد الأقصى لنتائج Search Records؟">
    **تعيد Search Records بحد أقصى 200 سجل.**

    إذا كنت بحاجة إلى معالجة المزيد:

    * أضف عوامل تصفية أكثر تحديداً لتقليل النتائج
    * استخدم سير عمل مجدولاً للمعالجة على دفعات
    * فكّر في استخدام الـAPI للعمليات المجمّعة

    بالنسبة لمعظم سير العمل، يكفي 200 سجل. إذا بلغت هذا الحد بشكل متكرر، فكر في إعادة هيكلة الأتمتة لديك.
  </Accordion>

  <Accordion title="هل يمكنني إضافة CC إلى الأشخاص في رسائل البريد الخاصة بسير العمل؟">
    **ليس بعد.** حقولا CC وBCC لإجراء Send Email على خارطة الطريق لدينا.

    **الحل المؤقت الحالي**: أضف عدة إجراءات Send Email للإرسال إلى مستلمين إضافيين، أو استخدم HTTP Request للإرسال عبر خدمة بريد إلكتروني خارجية تدعم CC.
  </Accordion>

  <Accordion title="كيف أستخدم مخرجات الخطوات السابقة؟">
    كل إجراء ينتج بيانات مخرجات يمكن استخدامها في الخطوات اللاحقة.

    **للإشارة إلى بيانات الخطوات السابقة**:

    * استخدم أداة اختيار المتغير عند تكوين حقل
    * أو اكتب `{{stepName.fieldName}}` مباشرةً

    **أمثلة**:

    * بيانات المشغل: `{{trigger.object.email}}`
    * نتائج البحث: `{{searchRecords[0].name}}`
    * مخرجات الكود: `{{code.calculatedValue}}`

    مرّر المؤشر فوق أي حقل في تكوين الإجراء لرؤية المتغيرات المتاحة من الخطوات السابقة.
  </Accordion>

  <Accordion title="لماذا يفشل Iterator لدي؟">
    **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}}`
  </Accordion>

  <Accordion title="ما أقصى وقت تنفيذ لإجراءات Code؟">
    إجراءات Code (دوال منطقية) لديها **مهلة افتراضية قدرها 5 دقائق** (300 ثانية).

    أقصى مهلة يمكن ضبطها هي **15 دقيقة** (900 ثانية).

    إذا تجاوز الكود هذا الحد، سيفشل الإجراء بخطأ انتهاء المهلة.

    **نصائح لتجنب انتهاء المهلة**:

    * قسّم العمليات الكبيرة إلى أجزاء أصغر باستخدام Iterator
    * تجنب العمليات الحسابية الثقيلة؛ استخدم خدمات خارجية عبر HTTP Request للمعالجة المكثفة
    * حسّن الكود لديك لتقليل وقت التنفيذ
    * إذا كنت بحاجة إلى معالجة أطول، ففكّر في استخدام سير عمل مجدول يعالج البيانات على دفعات
  </Accordion>

  <Accordion title="كيف أقرأ تشغيلات سير العمل؟">
    تعرض تشغيلات سير العمل سجل التنفيذ وتساعدك على تصحيح المشكلات.

    **الوصول إلى التشغيلات**:

    * في محرر سير العمل → لوحة **التشغيلات** على اليمين
    * أو انتقل إلى **تشغيلات سير العمل** في الشريط الجانبي

    **فهم التشغيل**:

    * **الحالة**: قيد التشغيل، مكتمل، فشل، في الانتظار
    * **الخطوات**: اطّلِع على الخطوات التي تم تنفيذها ومخرجاتها
    * **الأخطاء**: انقر الخطوات الفاشلة لرؤية رسائل الخطأ
    * **البيانات**: اعرض بيانات الإدخال/الإخراج في كل خطوة

    راجع [تشغيلات سير العمل](/l/ar/user-guide/workflows/capabilities/workflow-runs) للحصول على التفاصيل.
  </Accordion>

  <Accordion title="لماذا لا أرى تشغيلات سير العمل الخاصة بي؟">
    قد تفشل تشغيلات سير العمل فوراً بسبب حدود المعدل.

    **حد صارم: 5,000 عملية تشغيل في الساعة لكل مساحة عمل.**

    إذا تجاوزت هذا الحد، ستُعلَّم عمليات التشغيل فوراً كفاشلة ولن تظهر في قائمة التشغيلات كما هو متوقع.

    **سيناريوهات شائعة تصل إلى هذا الحد**:

    * اختيار أكثر من 5,000 سجل باستخدام مشغل يدوي Single
    * تشغيل عدة سير عمل بالتزامن عبر مساحة العمل
    * مشغلات آلية عالية التكرار (مثال: Record Updated على كائن مزدحم)

    **حلول**:

    * استخدم مشغلات **Bulk** بدلاً من Single لمعالجة العديد من السجلات في تشغيل واحد
    * وزّع العمليات الدفعية الكبيرة زمنياً
    * استخدم عوامل تصفية لتقليل تكرار المشغل
    * قم بجدولة سير العمل الثقيلة خلال ساعات خارج أوقات الذروة
  </Accordion>

  <Accordion title="ما هي حدود معدل سير العمل؟">
    لدى Twenty حدّان للمعدل لضمان استقرار النظام:

    | الحد           | القيمة           | السلوك                                                        |
    | -------------- | ---------------- | ------------------------------------------------------------- |
    | \| **حد مرن**  | 100 تشغيل/دقيقة  | تُصفّ في قائمة الانتظار بحالة "Not Started" وتُعالَج تدريجياً |
    | \| **حد صارم** | 5,000 تشغيل/ساعة | تفشل التشغيلات فوراً                                          |

    **الحد المرن (100/دقيقة)**: لن تفشل سير العمل لديك—ستنتظر فقط في قائمة الانتظار وتُعالَج بمرور الوقت. يمكنك تشغيل أكثر من 100 سجل؛ سيكون التنفيذ أبطأ.

    **الحد الصارم (5,000/ساعة)**: ينطبق هذا على مساحة العمل بالكامل. إذا تجاوز مجموع تشغيلات جميع سير العمل لديك 5,000 تشغيل في ساعة واحدة، فسوف تفشل التشغيلات الإضافية فوراً.

    **نصائح للبقاء ضمن الحدود**:

    * استخدم مشغلات Bulk مع Iterator بدلاً من مشغلات Single للدفعات الكبيرة
    * ادمج الأتمتة ذات الصلة في عدد أقل من سير العمل
    * استخدم سير عمل مجدولة لتوزيع الحمل بمرور الوقت
  </Accordion>

  <Accordion title="هل يمكنني إعادة محاولة تشغيل سير عمل فاشل؟">
    **لا، لا توجد حالياً وظيفة إعادة المحاولة التلقائية.**

    إذا فشل تشغيل سير عمل، فستحتاج إلى:

    1. راجع الخطأ في **الإعدادات → سير العمل → \[سير العمل الخاص بك] → التشغيلات**
    2. أصلِح المشكلة (البيانات، الإعداد، أو الخدمة الخارجية)
    3. قم بتشغيل سير العمل يدوياً مرة أخرى على السجل/السجلات المتأثرة

    **نصائح لتقليل حالات الفشل**:

    * أضف عقد **Filter** للتحقق من البيانات قبل الإجراءات
    * استخدم **Search Records** للتحقق مما إذا كانت السجلات ذات الصلة موجودة
    * اختبر بدقة باستخدام عدد قليل من السجلات قبل العمليات المجمّعة

    وظيفة إعادة المحاولة التلقائية ضمن خارطة الطريق لإصدار مستقبلي.
  </Accordion>

  <Accordion title="هل يجب إلغاء تفعيل سير العمل قبل استيراد CSV؟">
    **نعم، إذا كانت سير العمل لديك تُشغَّل بإنشاء السجلات أو تحديثها.**

    عند استيراد البيانات عبر CSV، يمكن لكل سجل يتم إنشاؤه أو تحديثه تشغيل سير العمل. قد يؤدي الاستيراد الكبير (آلاف السجلات) إلى:

    * بلوغ حد 5,000 تشغيل/ساعة
    * استهلاك قدر كبير من اعتمادات سير العمل
    * إرسال رسائل بريد إلكتروني أو إشعارات غير متوقعة
    * إنشاء مهام أو سجلات مكررة

    **قبل الاستيراد الكمي**:

    1. اذهب إلى **الإعدادات → سير العمل**
    2. حدّد سير العمل المُشغَّلة بواسطة الكائن الذي تقوم باستيراده
    3. **عطِّلها** مؤقتاً
    4. شغّل استيراد CSV الخاص بك
    5. **أعد تفعيل** سير العمل عند الانتهاء

    **بديل**: إذا كنت تحتاج إلى أن تعمل سير العمل على البيانات المستوردة، فقم بالاستيراد على دفعات أصغر للبقاء ضمن حدود المعدل.
  </Accordion>

  <Accordion title="كيف أرتّب مخطط سير العمل؟">
    إذا بدا مخطط سير العمل لديك فوضوياً مع تشتت العقد، فيمكنك تنظيمه تلقائياً:

    1. انقر بزر الفأرة الأيمن في أي مكان على مخطط سير العمل
    2. انقر **Tidy up workflow**

    سيؤدي ذلك إلى إعادة ترتيب جميع العقد تلقائياً في مخطط نظيف ومنظم.
  </Accordion>
</AccordionGroup>
