Skip to content

Create Workflow Automation Module with Admin Configuration & Execution Engine #6

Description

@TadreebLMS

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
    "

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions