عرّف سير عمل
يمكن للتطبيقات تضمين سير عمل. يصف كل استدعاءdefineWorkflow() سير عمل واحدًا: مشغّلًا والخطوات التي ينفذها. عند التثبيت، ينشئ Twenty سير العمل هذا كسير عمل نشط في مساحة العمل، جاهزًا للتشغيل.
يعمل سير العمل هذا عند إنشاء شركة. تستدعي إحدى دوال المنطق في التطبيق، ثم تكتب النتيجة في الشركة:
src/workflows/score-new-companies.ts
- يحتاج سير العمل والمشغّل وكل خطوة إلى
universalIdentifierخاص بها. حافظ على استقرارها عبر الإصدارات: فهي الطريقة التي يطابق بها Twenty سير العمل المثبّت عند التثبيت التالي. - يربط
nextStepIdsالرسم البياني. يشير المشغّل إلى الخطوات الأولى، وتشير كل خطوة إلى الخطوات التي تُنفَّذ بعدها. - تقرأ الخطوة مخرجات سابقة باستخدام
{{trigger.\<path>}}أو{{\<step universalIdentifier>.\<path>}}. - يتحقق البناء من التعريف بالكامل: إذ تؤدي أنواع المشغّلات أو الخطوات غير المدعومة، وروابط الخطوات المعطّلة، والمراجع إلى خطوات غير معروفة إلى فشله.
الإشارة إلى كيانات أخرى
تشير الخطوات والمشغّلات إلى البيانات الوصفية بواسطة المعرّف العام، وليس بالاسم أو المعرّف أبدًا:- الكائنات والحقول: الخاصة بتطبيقك، أو القياسية عبر
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS. يفترض المثال أعلاه أن التطبيق يعرّف أيضًا حقل رقمleadScoreفي الشركة باستخدامdefineField(): إذ تفشل عملية التثبيت إذا كتبت خطوة سجل في حقل مفقود من مساحة العمل. - دوال المنطق: الخاصة بتطبيقك، والمعروضة باعتبارها إجراء سير عمل باستخدام
workflowActionTriggerSettings. يمكن لتطبيق Custom المخصص لمساحة العمل أيضًا الإشارة إلى إجراءات سير العمل الخاصة بالتطبيقات الأخرى المثبتة في مساحة العمل، تمامًا كما يمكن لسير العمل المنشأة في التطبيق ذلك. - الوكلاء: الخاصة بتطبيقك، من
defineAgent().
المشغلات
لا يحصل سير العمل اليدوي من دون
availability على إدخال في قائمة الأوامر.
يستمع سير عمل webhook على https://\<your-twenty-domain>/webhooks/workflows/\<workspaceId>/\<workflowId>، حيث إن workflowId هو معرّف سير العمل المثبّت. يتوفر نص الطلب باعتباره {{trigger.\<path>}}.
الخطوات
تدعم سير العمل في التطبيق أنواع الخطوات التالية:LOGIC_FUNCTION، AI_AGENT، HTTP_REQUEST، CLASSIFY، CREATE_RECORD، UPDATE_RECORD، UPSERT_RECORD، DELETE_RECORD، FIND_RECORDS، PICK_RECORD، FILTER، IF_ELSE، ITERATOR، FORM، DELAY، WAIT_FOR_EVENT، SEND_EMAIL، DRAFT_EMAIL، CREATE_CALENDAR_EVENT، وEMPTY.
تتطابق مدخلاتها مع خطوات منشئ سير العمل، مع استخدام المعرّفات العامة بدلًا من الأسماء:
- تأخذ خطوات السجل
objectUniversalIdentifierبدلًا من اسم كائن. - تشير عوامل التصفية والفرز إلى الحقول باستخدام
fieldMetadataUniversalIdentifier. - تسمي حقول النموذج من النوع
RECORDكائنها باستخدامsettings.objectUniversalIdentifier. توفّر الحقول من النوعينSELECTوMULTI_SELECTخيارات حقل موجود من النوع نفسه، تمت تسميته باستخدامsettings.selectedFieldUniversalIdentifier. - لتشغيل التعليمات البرمجية الخاصة بك، استخدم خطوة
LOGIC_FUNCTION. خطوة التعليمات البرمجية في المنشئ غير متاحة. - لا تعمل خطوات البريد الإلكتروني والتقويم إلا إذا كان دور تطبيقك يتضمن علامة الإذن المطابقة:
SystemPermissionFlag.SEND_EMAIL_TOOLلـSEND_EMAILوDRAFT_EMAIL، وSystemPermissionFlag.CREATE_CALENDAR_EVENT_TOOLلـCREATE_CALENDAR_EVENT. تمنحها مساحة العمل عند تثبيت التطبيق، ويمكن للخطوة بعد ذلك استخدام أي حساب متصل في مساحة العمل، مثل سير عمل تم إنشاؤه في التطبيق. - معرّفات الحسابات المتصلة محلية لكل مساحة عمل، لذا لا تضمّن أحدها بصورة ثابتة. مرّر الحساب كمتغير. تتطلب خطوات البريد الإلكتروني أيضًا معرّف عضو مساحة العمل، مثل
{{trigger.properties.after.assigneeId}}، والذي يُحل إلى أول حساب لذلك العضو قادر على الإرسال.
بعد التثبيت
- يصبح سير العمل نشطًا بمجرد تثبيت التطبيق، وتظهر عمليات تشغيله مع عمليات تشغيل سير العمل الأخرى في مساحة العمل.
- يؤدي تثبيت إصدار جديد من التطبيق إلى تحديث سير العمل في مكانه.
- لا يمكن للمستخدمين تعديل سير عمل مثبّت. لتخصيص أحدها، ينسخونه: وتكون النسخة ملكًا لهم لتعديلها.