Plugin idea: Visualize the action widgets as workflow graph

Now that we have HTTP request and Local LLM AI, I want to make a “Workflow” like coze.com or BPMN but runs inside wiki, and use Action widget as node in the graph (that executes something).

Combine multiple action widget seems like a common idea, do you know any prier works?

For me, there need to be

  1. A new action widget that executes all action widgets in another tiddler, or tiddlers from a list widget
    1. so we can share Workflow using plugin
    2. this feels like UGC/GPTs and SubGraph
  2. Need to use plain wikitext to express Graph structure (or at least DAG or Tree, and use the action widget described above to refer to itself to play in a loop)
    1. Currently, action widgets can warp other action widget to express “sequental execution”, like A → B → C is <$A> <$B> <$C /> </$B> </$A>
    2. and parallel execution C ← A → B is <$A> <$B/> <$C/> </$A>
    3. this can quickly become unreadable, so need to use a visual editor for it
    4. user don’t know most of the action widgets (I have to read tw5-com every time), so a GUI can help search for them and autocomplete fields)
  3. Some trigger like Is there a way to trigger an action on navigation? and Alarm Daemon to trigger daily actions
    1. it can ask local LLM to scan for possible wikilink to add, after wiki open and idle for 5min
    2. or auto update some todo tiddler’s status to Archive (update its fields) based on last modified date
  4. And a layout to organize these Workflows, like camunda marketplace

I’m still thinking how this will look like, so I will start this in half a year, inputs are welcome!

@linonetwo I cant follow all your ideas here however I think you will see more answers and opportunities as you learn TiddlyWiki. A few thoughts;

  • As a rule actions widgets need a trigger, the basic trigger is a button but there is also navigation actions on clicking links to open tiddlers, the startup actions and some community members have created other triggers like timer based ones.
    • I point this out because in many ways a discussion about actions is incomplete without discussing their triggers.
    • Even using buttons as triggers there is more to know about how you code them and the order of operation.
  • However as demonstrated when using the actions= parameter, the actions we refer to can be defined in macros and procedures. This means you can write macros or procedures that include conditions and list widgets that themselves contain action widgets.
    • This means you can write procedures that accept parameters and can replace the more verbose action widget code in you code because you hide the complexity away in the procedure definition.

I have done a lot of related research on this subject and happy to discuss further however we need to discuss this a piece at a time.

So this plugin is going to add some new triggers, by adding some start-up module that adding message handlers.

  1. Allow send message to trigger a file of action, so we can use button to trigger a workflow graph
  2. Time-based trigger, I haven’t use any of them yet, maybe I need to write one?

I won’t use procedure to manage workflow, because I need to filter workflows, only tiddler can be filtered, procedure can’t be easily filtered and displayed as table.

None of your assertions sound correct here @linonetwo but I find it hard to demonstrate given I only see words and not minimal code examples of a problem.

You say file of action[s]?

<$button actions={{my-actions-tiddler}}>
Go button
</$button>

The above will transclude a tiddler “my-actions-tiddler” containing multiple action widgets on click of the “Go button”.

  • The my-actions-tiddler tiddler can even have the actions wrapped in conditional lists widgets and the will work. For example we need to do this to make use of the modifier variable

Look at @EricShulman’s timer solution, perhaps don’t reinvent the wheel, put your skills into missing features instead.