There is still no known reason why some connections fail, and unfortunately there is no way to auto reconnect them, but there is a way to track them and at least get ahead of any support tickets.
All you need is a flow on a regular schedule checking connections and notifying any that have failed.
You can use either Get connections (just for you) or Get connections as Admin to do an entire environment (ideal for Service Accounts in prod, but requires system admin role).
The flow is relatively simple
- Schedule
- Get list of environments (SharePoint or in my case Dataverse)
- Get connections
- Filter connections
- Send/log list of failed connections (save to Dataverse in my case)
The filter I use is
item()?['properties/statuses'][0]['status'] is the field that shows if the connection has an error. The {your service account tag} is a way to filter out just service accounts or certain flow owners, as else you will get App users with failed connections, which aren't an issue (as they will auto fix next time the user logs into the app).