I would say 100 pct without exception for my apps which would generate sort of report, and document within Appsheet, I kick a mechanism/function into them like this.
Let me summarise. When a certain user generate a new report, document, which is basically they open up new appsheet “form” and save, I always put a flag and pushing value as “Draft” as well as useremail() value in other field. This makes the new row keep hiden from the eyes of other users as it is purely “draft” unless the user is happy wiht the contents they work on. Prepare the quick action to change the value from Draft to something else, such as “Published” or “Request for Approval” or whatever it is appropriate to the use case.
Once the value is changed, the row is unhiden and become available to the users. And the workflow is fired to push the notifications to other users, to give a head up, “Hey, you have new publish report , this is a link!” or "Now you have new request for approval " Also workflow is fired to generate the PDF report of documents based on the values in the row the action/workflow is originated. The URL links to reach to those created is also save and appended to the output of the workflow, so that the user can access to the PDF docs from app, email body, template etc.
Reverse workflow is also arranged, for instance, the approval is made on the appsheet, then another notification is fired to inform the fact to the Requester… etc.
Bunch of use cases.