How to create extend rule system

Create extension/new functionality for
https://github.com/Squidex/squidex to
extend rule system and its apis.

At the moment rules system allows only one trigger and one action. We
have to extend it to create rules that can have multiple steps so rules
are kind of workflows.

Requirements:

If task B depends on the successful execution of another task A, it
means Rules system will run task A and only run task B after task A.

If action is success, next actions should be able to use previous
actions response status and response body content as placeholders for
example ${ACTION_ACTIONNAME1.RES.BODY.CITY.NAME} or
${ACTION_ACTIONNAME1.RES.STATUS}

Create new action, “Condition” which is simple that uses Script to
analyze placeholders using different operators and return true or false.

Create new action, “Delay” which takes in variable or value in boolean,
how many seconds to wait until next action will be triggered.

Create trigger Conditions for all actions. Which is simple that uses
Script to analyze placeholders using different operators and return true
or false. If true then run Action, if False then skip action and go to
next action.

I would love that, but workflows are a complicated topic.

We could move to a workflow system like this: https://github.com/danielgerlag/workflow-core

But it is a complicated task, especially when building tools to test the workflow. For now you have to implement your workflow in a webhook.

If you want to sponsor this feature: I am interestd :wink:

1 Like

It will be very useful to switch to an advanced workflow system and make it manageable from the panel.

:pray:

Absolutely, but it is a very big task. The user interface is probably the biggest piece.