At the moment in our organisation we have numerous processes, which we administer through paper forms. In almost all cases the processes are initiated by customers (not employed within the organisation) who fill a form, which then needs to be signed off by a member of department A.
Department A is always responsible for designing and overseeing the forms.
A single form & its associated workflow of passing between depts. is generally useful for a period of anywhere between months and years once made.
For some cases department A must forward the form (on paper or scanned) to Joe of department B, then Joe might need to return it to dept. A if the form is wrong or send it to Alice in team C. Forms must be able to be passed around departments with branching logic directly to each other according to a workflow which we can set, if everything goes well.
When a form is somewhere in a stage of its workflow, we must also be able to send it to a dept. included in the workflow, which dept. isn't quite the next or previous, but rather chosen by the employee of a dept. who currently has to fill their stage of the form and decides that due to some invalid information, the form must be sent to some other dept. rather than the next or previous.
The super set of mobility of a form should allow such movement (Dp = dept.): Customer -> Dp A -> Dp B -> Dp A -> Dp Z -> Dp A -> Customer
We don't expect to have more than 5-6 stages (each stage being a form section assigned to a department) in any of are workflows currently. Some workflows will be consisting of just going through a couple of depts. and notifying the customer of the final outcome.
The customer is always notified of the final outcome of the process currently.
We are looking for a web based solution which in an ideal world scales well on a mobile screen where customers can browse forms and select a form to fill. The form would contain a set of sections in a set order, when the customer fills their section, the dept. who is supposed to handle it first should be notified (email would do) and given a hyperlink or have a designated view within the system of a list of the forms which currently are at the stage of needing to be filled by that dept. When a department fills their section, the form's set workflow logic should transfer it to the next stage and notify the next dept. or notify the customer if the process is completed.
It would be great if departments become user groups and anyone who logs in from a dept. can see the list of forms, which need a member of the dept. to fill a section as the form's current workflow stage. It would also be great if this was available to each customer for them to see the progress of stages in a list of their own forms when they login. It would be great if team A could see their, the customers' and every other team's forms and be able to filter by user/form type/dept., sort by date and see a list of the stages set for each form and at which stage the form is currently at.
It would be useful to hold the data behind the form in a SQL database and host the data and the system on hardware and server running on our premises, if possible (CMS, CMS app builders and extensions).
Alternatively a cloud based third party solution would do. We tried a number of solutions, but neither managed to fit all requirements above, the nearest was Microsoft's PowerApps, but we weren't able to expose the app to external users (the customers) or share it with email addresses for creating accounts if the email addresses didn't have strictly the same domain extension.
Any suggestions would be greatly appreciated, thank you!