Pre-declare available working hours, and adhere to them.
I have a cronjob that signs out of {slack, email, zoom, ...} at a particular time of day, my work accounts aren't attached to my personal devices, and i respond promptly to communication during working hours. I genuinely don't see work-related comms when i'm not working, and my work availability is in my slack profile, my internal email signature, and in my outlook calendar.