Workflow modeler and task forms for end-users

We’re assessing Camunda for a project and have the following requirements:

  • Give end-users a way to model workflow definitions, ideally (but not necessarily) in a web-based UI.
  • Allow end-users to design forms as part of those workflow definitions (ideally with a user-friendly drag/drop interface).
  • Allow end-users of an existing application to work with instances of those workflow definitions, e.g. initiate them, execute tasks, etc. This should feel like it’s all part of the same application, not a separate app.

Firstly, are our assumptions below correct…

  • Camunda does not supply a web-based workflow modeler.
  • The installable workflow modeler can be downloaded and installed on end-users’ PCs, but:
    • Does not include any form-editing functionality.
    • Cannot be configured. By “configured”, what we mean is: given that this is aimed at end-users, not developers, we’d like to “dumb it down” in some ways, i.e. limit some of the options, and add to others, to make it usable by less technical users. For example, we might want to provide a pre-created set of system actions users could choose for a Service task, rather than asking end-users to specify Java class names. Or we might like to add some custom control types (e.g. a grid which will be used to show a list of documents in some back-end system).
  • Camunda does not supply a graphical form editor. An external tool such as formio should be used.

The workflows will generally be related to working with documents (approval, review, etc). We don’t think we can use the TaskList application because:

  • The workflows will require custom non-standard UI in the task screens, e.g. showing a list of documents in a grid, having custom actions on that grid which launch custom UI components/actions, etc).
  • The workflow screens need to seamlessly integrate with an existing application.

Does that sound sensible, or do you think it might still be possible to use TaskList?

Assuming we don’t use TaskList, we think we’ll need to write the UI ourselves, but the UI will need to have programmatic access to the form definitions so that it can read them and render the UI based on the information in them. From some initial reading, it seems that an integration with formio is the recommended approach for this. Is that correct? If so, is there some working example or tutorial where we can see this? I have seen that DigitalState have a number of repositories on GitHub with something like this, but I haven’t found any detailed documentation or tutorials about how it all works.

Thanks in advance.