I'm working on designs for a web application where users can create data-processing workflows that get executed asynchronously from the server. Most of the time workflows will run in perpetuity unless an error is encountered or the user disables it. When a user enables a workflow it may or may not be executed immediatedly; warnings and errors generated during workflow execution are added to log which can be retrieved via API. The ideal state is that there are no enabled workflows in a faulty state, errors are the exception.
Since workflows are executing asynchronously the user could be working in any part of the application when a warning or error is generated.
There is a dedicated log page available from the main navigation where users can go to view and filter through all application logs.
How can I provide feedback to users that workflows are encountering warnings or errors, regardless of where they are in the application, and then direct them to fix the issue?
What we tried
|Display a toast card for each warning or error||There could be multiple workflows in an failing state and each individual one could throw tens of warnings/errors in a short period of time easily overwhelming toast card timing.|
|Use the browser's Notification API||Only works in HTTPS contexts which our application isn't guaranteed to do. Users may never see the the prompt based off of their browser settings.|
|Add a sticky panel to the bottom of the viewport to display the log at all times||This consumes a ton of space and drastically reduces the working viewport height. It feels very reminiscent of an old Win32 app, complete with split panels.|
|Add the log to the contextual sidebar||We have a contextual sidebar that only appears when needed. It displays lists of objects to be used with some complex in-line controls. Adding the log here means the panel would appear on all pages and clutter the purpose/intent of the panel.|