Create Workflow

إنشاء workflow + auto-register cron إن كان triggerType=CRON.

POST/api/automation/workflows🔒 Bearer JWT

Body

الحقلالنوعالوصف
name*stringاسم الـ workflow.
descriptionstringوصف اختياري.
triggerType*enumEVENT | CRON | WEBHOOK | KEYWORD | MANUAL | AGENT
triggerConfigobjectيعتمد على triggerType (eventName / cronExpression / keywords / إلخ).
nodesarrayعقد الـ DAG. كل عقدة {id, type, config, next?}.
edgesanyاختياري — للـ visual builder.
isActivebooleanافتراضي false. فعّل بـ true لبدء الاستماع.
domainenumGENERAL | WHATSAPP | PROJECTS | CLIENTS | AGENTS.
tagsstring[]tags اختيارية للتنظيم.

مثال طلب

curl -X POST https://operix.operixdigital.com/api/automation/workflows \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ترحيب آلي",
    "triggerType": "EVENT",
    "triggerConfig": { "eventName": "client.created" },
    "isActive": true,
    "domain": "CLIENTS",
    "nodes": [
      {
        "id": "send",
        "type": "send_whatsapp",
        "config": {
          "phone": "{{triggerData.phone}}",
          "text": "مرحباً {{triggerData.name}}!"
        }
      }
    ]
  }'

مثال استجابة

{
  "id": "clx456def",
  "name": "ترحيب آلي",
  "triggerType": "EVENT",
  "isActive": true,
  "createdAt": "2026-05-27T10:15:00Z",
  ...
}
سلوك خاص: CRON
لو triggerType=CRON + triggerConfig.cronExpression صحيح + isActive=true، ينشأ WorkflowSchedule تلقائياً ويُسجَّل cron job في SchedulerRegistry.

Errors

الكودالرسالةالسبب
400name is requiredحقول مطلوبة ناقصة.
400triggerType is required
401Unauthorized