محرّك الأتمتة في Operix يحوّل المهام المتكرّرة إلى workflows تنفّذ تلقائياً. المعمارية بسيطة: trigger → node graph (DAG) → result.
الفكرة
كل workflow فيه:
- مُحفِّز واحد (Trigger) — ما الحدث الذي يبدأ التنفيذ؟
- شبكة عقد (Nodes) — ما الخطوات؟
- روابط بين العقد (Edges) — ما الترتيب؟
مثال بسيط
Trigger: KEYWORD “سعر” على WhatsApp → Node 1:
call_agent يولّد ردّاً → Node 2: send_whatsapp يرسل الرد للعميل. تنتهي. ٣ ثوانٍ من الرسالة للرد.المعمارية التقنية
- الـ Trigger يلتقط الحدث (webhook، event، cron، إلخ).
WorkflowEngineService.fire()ينشئWorkflowRunPENDING.- Job يدخل
workflow-runsBullMQ queue. WorkflowRunsProcessorيلتقط الـ job، يبدأ من أول node، ينفّذ بتسلسل عبر edges.- كل node يستدعي
ActionExecutorلتنفيذ الـ action المناسب. - النتيجة + المتغيّرات تُخزَّن في
WorkflowRun.result.