Description
Create a new Workflow Automation module that allows administrators to define automated rules based on system triggers. The module should allow enabling/disabling workflows, defining conditions, executing actions, and logging execution results.
The module must be installable and manageable similar to the Zoom integration module.
Requirements
1️⃣ Admin Settings & Module Control
- Add a new "Workflow Automation" section under Admin → Integrations/Modules
- Provide option to enable/disable Workflow Automation module
- Ability to activate/deactivate individual workflows
2️⃣ Workflow Creation Interface
Provide UI to:
- Create new workflow
- Define:
- Workflow Name
- Trigger Type (dropdown)
- Conditions (dynamic builder)
- Actions (dynamic builder)
- Enable/disable workflow
- Save workflow configuration
3️⃣ Trigger System
Support initial triggers:
- User Registered
- Course Enrolled
- Course Completed
- Assessment Failed
- Live Session Created
- Payment Successful
System must:
- Listen to Laravel events
- Process matching active workflows
- Be extensible for future triggers
4️⃣ Condition Engine
Support operators:
- =
- !=
-
- <
-
=
- <=
- contains
- in_array
Must:
- Evaluate event payload dynamically
- Support multiple conditions per workflow
- Return boolean result
5️⃣ Action System (Initial Actions)
Implement initial built-in actions:
- Send Email
- Assign Course
- Generate Certificate
- Trigger Webhook
Must:
- Support execution order
- Support delayed execution
- Be queue-based
- Allow future module-based action registration
6️⃣ Queue & Execution Handling
- Workflow execution must run via Laravel queue
- Failed executions must be logged
- Implement retry mechanism
- Store success/failure in workflow_logs table
7️⃣ Workflow Logs UI
Create admin page to:
- View execution logs
- Filter by workflow
- Filter by status (success/failed)
- View error message or response payload
8️⃣ Database Schema
Create tables:
- workflows
- workflow_conditions
- workflow_actions
- workflow_logs
Must:
- Support JSON payloads
- Include proper foreign keys
- Index trigger_type column
- Support soft deletes where appropriate
Acceptance Criteria
- Admin can enable/disable Workflow Automation module
- Admin can create and activate workflows
- Workflows execute automatically when trigger fires
- Conditions evaluate correctly
- Actions execute in defined order
- Execution runs via queue
- Logs are stored and viewable
- Module remains decoupled from LMS core logic
"
Description
Create a new Workflow Automation module that allows administrators to define automated rules based on system triggers. The module should allow enabling/disabling workflows, defining conditions, executing actions, and logging execution results.
The module must be installable and manageable similar to the Zoom integration module.
Requirements
1️⃣ Admin Settings & Module Control
2️⃣ Workflow Creation Interface
Provide UI to:
3️⃣ Trigger System
Support initial triggers:
System must:
4️⃣ Condition Engine
Support operators:
Must:
5️⃣ Action System (Initial Actions)
Implement initial built-in actions:
Must:
6️⃣ Queue & Execution Handling
7️⃣ Workflow Logs UI
Create admin page to:
8️⃣ Database Schema
Create tables:
Must:
Acceptance Criteria
"