You can setup roles or users as per collection in a workflow. So one user or role adding data but that data won’t get published, the next role or user will be notified of new data. They can reject or approve data.
If rejected it will get back to previous user with the comments in a notification.
If approved it will be passed to next workflow step and then when you select a step to PUBLISH the data it will be live.
You have sandbox data and live data, this would add DRAFT data that is live but not published to the site.
Then you add a HOOK that says NEW_DATA_ADDED and NEW_DATA_PUBLISHED and then we can extend and notify other systems or users when new data is published.