Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 23 additions & 13 deletions ar/basic/ai/routine.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ description: دع Cuppy ينفّذ مطالبة وفق جدول زمني، ور

<Note>متاح في جميع خطط السحابة؛ أما النسخة المستضافة ذاتيًا فتتطلب خطة Business أو أعلى.</Note>

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

الروتين مورد داخل المشروع، ويظهر في الشريط الجانبي الأيمن إلى جانب الجداول والتطبيقات والأتمتة.

<Info>تُستثار الأتمتة بحدث، مثل تغيّر سجل أو إرسال نموذج أو Webhook، وتنفّذ الخطوات التي أعددتها مسبقًا. أما الروتين فيُستثار بالوقت وحده، وينفّذ مطالبة يفسّرها الوكيل بنفسه. اختر الأتمتة حين تحتاج إلى خطوات ثابتة ونتيجة متوقّعة، واختر الروتين حين تريد أن يقرّر الوكيل في كل مرة ما يفعله بالبيانات الحالية.</Info>
<Info>تنفّذ الأتمتة الخطوات التي أعددتها مسبقًا، بينما ينفّذ الروتين مطالبة يفسّرها الوكيل بنفسه. وكلاهما يمكن أن يُستثار بالوقت، وكلاهما يمكن أن يُستثار بحدث من تطبيق خارجي متصل. اختر الأتمتة حين تحتاج إلى خطوات ثابتة ونتيجة متوقّعة، واختر الروتين حين تريد أن يقرّر الوكيل في كل مرة ما يفعله بالبيانات الحالية.</Info>

## إنشاء روتين

Expand All @@ -20,29 +20,37 @@ description: دع Cuppy ينفّذ مطالبة وفق جدول زمني، ور
<Step title="كتابة المطالبة">
صِف في **المطالبة** ما ينبغي أن يفعله كل تشغيل. المطالبة هي التعليمات الكاملة للتشغيل الواحد، لذا اذكر مصدر البيانات وطريقة المعالجة ووجهة النتيجة. مثال: «لخّص السجلات المضافة أمس إلى جدول المهام، وجمّعها حسب المسؤول، واكتب الملخّص في جدول التقرير اليومي».
</Step>
<Step title="ضبط الجدولة">
اختر تكرارًا ضمن **الجدولة**، واضبط **البداية** و**النهاية (اختياري)** عند الحاجة.
<Step title="اختيار المُشغِّل">
اختر ضمن **المُشغِّل** إما **حسب جدول زمني** أو **عند حدث من الموصِّل**، ثم املأ إعدادات النوع الذي اخترته.
</Step>
<Step title="التفعيل">
انقر **تفعيل**. يجب أن تكون الإعدادات محفوظة مسبقًا، وأن يتضمّن الجدول موعدًا قادمًا.
انقر **تفعيل**. يجب أن تكون الإعدادات محفوظة مسبقًا: فـ**حسب جدول زمني** يتطلّب موعدًا قادمًا، و**عند حدث من الموصِّل** يتطلّب حسابًا صالحًا للاستخدام.
</Step>
</Steps>

## الإعدادات

إلى جانب المطالبة والجدولة، يتضمّن النموذج هذه الإعدادات:
إلى جانب المطالبة والمُشغِّل، يتضمّن النموذج هذه الإعدادات:

| الإعداد | الوصف |
| --- | --- |
| **النموذج** | النموذج ومستوى الذكاء اللذان يعمل بهما هذا الروتين. اترك **النموذج الافتراضي** لاستخدام نموذج المحادثة الافتراضي للمساحة |
| **المحادثة** | **محادثة جديدة لكل تشغيل** تُبقي عمليات التشغيل مستقلّة بعضها عن بعض؛ و**متابعة محادثة التشغيل السابق** تنقل سياق عمليات التشغيل السابقة، وهو ما يناسب العمل الذي يحتاج إلى الرجوع إلى النتيجة السابقة |
| **البداية** / **النهاية (اختياري)** | حدود الجدول. من دون وقت انتهاء يستمر الروتين بلا أجل |
| **البداية** / **النهاية (اختياري)** | حدود الجدول، وتُستخدم مع **حسب جدول زمني** فقط. من دون وقت انتهاء يستمر الروتين بلا أجل |

يُسجَّل النموذج ومستوى الذكاء عند الحفظ، ولذلك يُظهر سجل التشغيل ما عمل به كل تشغيل فعليًا.

### المُشغِّل

يشغّل **حسب جدول زمني** الروتين في الأوقات التي تحدّدها، وإعداداته في قسم الجدولة أدناه.

ويشغّله **عند حدث من الموصِّل** مرة واحدة كلما أبلغ تطبيق خارجي متصل عن حدث، مثل وصول رسالة بريد جديدة أو فتح مشكلة جديدة. اختر التطبيق والحدث و**الحساب** الذي يستقبله والمعلمات التي يطلبها الحدث؛ والإعداد هنا مطابق لمُشغِّل الأتمتة الموصوف في [عند تلقي حدث من الموصِّل](/ar/basic/automation/trigger/external/connector-event). والروتين على هذا المُشغِّل ليس له وقت **التشغيل التالي**، ولا يستخدم الجدول ولا حدوده.

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

### الجدولة

اختر التكرار من الإعدادات الجاهزة: **كل ساعة** عند دقيقة محدّدة، و**يوميًا** و**أيام العمل** عند وقت محدّد، و**أسبوعيًا** في يوم من الأسبوع ووقت، و**شهريًا** في يوم ووقت.
تُستخدم الجدولة مع **حسب جدول زمني** فقط. اختر التكرار من الإعدادات الجاهزة: **كل ساعة** عند دقيقة محدّدة، و**يوميًا** و**أيام العمل** عند وقت محدّد، و**أسبوعيًا** في يوم من الأسبوع ووقت، و**شهريًا** في يوم ووقت.

لما هو أدقّ من ذلك، اختر **مخصص (RRULE)** واكتب قاعدة وفق RFC 5545، مثل `FREQ=DAILY;BYHOUR=9;BYMINUTE=0`. وللقاعدة المخصّصة هذه الحدود:

Expand All @@ -56,15 +64,17 @@ description: دع Cuppy ينفّذ مطالبة وفق جدول زمني، ور

## المسودّة والتحديث والتشغيل الفوري

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

يُنفّذ **تشغيل الآن** مرة واحدة من دون انتظار المُشغِّل، وهو مفيد للتحقّق من المطالبة. ولا يمكن تشغيل الروتين يدويًا مرة أخرى قبل انتهاء تشغيله السابق.

يُنفّذ **تشغيل الآن** مرة واحدة من دون انتظار الجدول، وهو مفيد للتحقّق من المطالبة. ولا يمكن تشغيل الروتين يدويًا مرة أخرى قبل انتهاء تشغيله السابق.
وفي روتين يعمل بحدث من الموصِّل ولم يُفعَّل بعد، يعرض **تشغيل الآن** بدلًا من ذلك **بانتظار حدث**: أطلِق ذلك الحدث في التطبيق، فيستخدمه Teable لتشغيل واحد يظهر بعدها في سجل التشغيل. ولإنهاء الانتظار انقر **إيقاف الانتظار**. أما الروتين المفعَّل فيستقبل أحداثه أصلًا، فلا يحتاج إلى ذلك ولا يسمح به.

أوقف المفتاح لتعطيله؛ عندها يتوقّف الجدول عن الاستثارة، ويبقى سجل التشغيل الحالي كما هو.
أوقف المفتاح لتعطيله؛ عندها يتوقّف الروتين عن الاستثارة، ويبقى سجل التشغيل الحالي كما هو.

## سجل التشغيل

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

تُعرض حالات التشغيل كالآتي: **في قائمة الانتظار**، **قيد التشغيل**، **مكتمل**، **فشل**، **ملغى**. وتظهر **ملغى** حين يقاطع أحدهم ذلك التشغيل، أو حين يكون الروتين أو مشروعه قد حُذف.

Expand Down Expand Up @@ -103,7 +113,7 @@ description: دع Cuppy ينفّذ مطالبة وفق جدول زمني، ور
</Accordion>

<Accordion title="هل تعمل الروتينات تلقائيًا في مشروع مثبّت من قالب؟">
نعم. بعد تثبيت القالب تُفعَّل روتيناته كما تُفعَّل مسارات العمل فيه. أما الجدول الذي لا موعد قادم له فيبقى مسودّة.
الروتينات المجدولة تعمل. فبعد تثبيت القالب تُفعَّل كما تُفعَّل سير العمل، ويبقى الجدول الذي لا موعد قادم له مسودّة. أما روتينات حدث الموصِّل فلا تُفعَّل تلقائيًا: إذ لا تنتقل بيانات الاعتماد مع القالب، فاختر حسابك أولًا ثم فعّله.
</Accordion>

<Accordion title="هل يتضخّم السياق بلا حدّ عند متابعة محادثة التشغيل السابق؟">
Expand Down
74 changes: 74 additions & 0 deletions ar/basic/automation/trigger/external/connector-event.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
title: "عند تلقي حدث من الموصِّل"
description: "تشغيل سير العمل عندما يُبلغ تطبيق خارجي متصل عن حدث"
---

<Note>متاح في جميع خطط السحابة؛ أما الاستضافة الذاتية فتتطلّب خطة الأعمال أو أعلى، مع تفعيل أحداث الموصِّل من قِبل مَن يدير عملية النشر.</Note>

ابدأ سير العمل انطلاقًا مما يحدث داخل تطبيق متصل مثل GitHub أو Gmail أو Slack: وصول رسالة بريد جديدة، أو فتح مشكلة، أو نشر رسالة. يسلّم التطبيق الحدث إلى Teable مباشرة، فلا تحتاج إلى استضافة عنوان Webhook ولا إلى الاستعلام الدوري عن التغييرات.

## الإنشاء بالذكاء الاصطناعي

افتح محادثة الذكاء الاصطناعي في الشريط الجانبي الأيمن لأي جدول واشرح ما تحتاج إليه.

يتولّى الذكاء الاصطناعي كل شيء: يختار المُشغِّل المناسب، ويربط الحقول ذات الصلة، ويُعدّ الإجراءات.

اشرح الهدف مرة واحدة ليصبح سير العمل جاهزًا من دون إعداد يدوي.

**مثال:** *"عند فتح مشكلة جديدة في مستودع GitHub، أنشئ سجلًا في جدول المهام"*

## كيفية الإعداد

<Steps>
<Step title="اختيار المُشغِّل">
أنشئ سير عمل واختر **عند تلقي حدث من الموصِّل** مُشغِّلًا له.
</Step>
<Step title="اختيار التطبيق والحدث">
اختر التطبيق ضمن **التطبيق**، ثم الحدث المحدّد ضمن **الحدث**. لكل حدث في القائمة وصف من سطر واحد وشارة، وتجد شرح الشارات أدناه.
</Step>
<Step title="اختيار الحساب">
اختر ضمن **الحساب** أيَّ حساب متصل يستقبل الحدث. وإن لم تكن قد وصلت هذا التطبيق من قبل، فوصِّله من القائمة نفسها: يُمنح الاتصال الجديد لسير العمل هذا تلقائيًا.
</Step>
<Step title="تعبئة المعلمات">
عبّئ **المعلمات** التي يطلبها الحدث، مثل مستودع أو قناة أو وسم. والحقول المعلّمة بـ * إلزامية. ثم انقر **حفظ**.
</Step>
<Step title="التفعيل">
أضف الإجراءات التالية ثم شغّل سير العمل. يُنشأ الاشتراك عند التفعيل، لذا لا تستقبل المسودّة شيئًا.
</Step>
</Steps>

وعند تغيير التطبيق أو الحدث تُمسح الخطوات التالية، وتتوقّف المتغيرات التي كانت تشير إلى الحدث السابق عن العمل، فتحتاج تلك الخطوات إلى إعداد من جديد.

## شارات الأحداث

| الشارة | المعنى |
| --- | --- |
| **فوري** | يدفع التطبيق الحدث، فيصل بعد وقوعه بقليل |
| **استطلاع · قد يتأخر بضع دقائق** | يستعلم Teable من التطبيق دوريًا، فلا تعتمد على هذه الأحداث حين يكون التوقيت مهمًا |
| **يُشغَّل كثيرًا** | يقع هذا الحدث كثيرًا في الاستخدام الفعلي، وكل وقوع يُحتسب تشغيلًا للأتمتة |
| **مُهمَل** | أوقف التطبيق دعم هذا الحدث وقد يتوقف عن إرساله، فاختر حدثًا آخر |

## البيانات المتاحة بعد الاستثارة

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

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

## عند انقطاع الاتصال

يتوقّف المُشغِّل عن استقبال الأحداث عند سحب منح الحساب، أو إزالة الحساب المتصل، أو إيقاف التطبيق للاشتراك (انتهاء صلاحية بيانات الاعتماد أو اشتراك غير سليم)، أو تعذّر إنشاء الاشتراك. ولا يُغلَق سير العمل نفسه، لكن لا يقع أي تشغيل جديد حتى تتم المعالجة.

ويُرسل Teable إشعارًا إلى العضو الذي عدّل سير العمل آخر مرة، وتعرض لوحة المُشغِّل **غير متصل — أعد توصيل الحساب أو اختر حسابًا آخر**. وتختلف المعالجة بحسب السبب:

- انقر **إعادة الربط** على الحساب نفسه ضمن **الإعدادات** ← **التكاملات**، فيُعاد بناء الاشتراك تلقائيًا.
- ولاستخدام حساب آخر، عُد إلى المُشغِّل واختر **الحساب** من جديد ثم احفظ.
- وإن تعذّر إنشاء الاشتراك، فتحقّق من المعلمات ثم احفظ مرة أخرى لإعادة المحاولة.

## بعد النسخ أو الاستيراد

لا تنتقل بيانات الاعتماد مع سير العمل. فبعد نسخ سير عمل، أو استيراد مشروع أو نسخه، يعرض المُشغِّل **الحساب غير مصرح به**: اختر حسابًا من حساباتك واحفظ ليتمكّن سير العمل من الاشتراك من جديد.

## مستندات ذات صلة

- [بيانات الاعتماد وعمليات التكامل](/ar/basic/credential)
- [روتين](/ar/basic/ai/routine)
Loading
Loading