I am experimenting with Temporal to build a GUI where an end-user can build a workflow through a GUI via selecting from an assortment of pre-defined activities (query a restful API, read from a db etc.)
The key challenges I am dealing with are:
- Ability to pass any custom parameters and triggers (timer, webhook etc) when initializing a workflow.
- Pass these parameters and outputs of preceding activities (in the current workflow) as parameters to subsequent activity.
- Query the inputs and outputs of each activity in the workflow.
- Validate the shapes of inputs and outputs for each activity based on what is specified in the GUI.
- Visualise the execution of a workflow (branching/fanout/errors)
I am new to Golang and Temporal and am picking up things as I go along.
What be the core concepts I should be looking at to support these use cases?