Running actions when I disconnect external monitor
Try ControlPlane. It allows you to trigger various actions, including launching applications, based on a variety of "evidence sources" (which include which monitors are connected). Have a look at the full feature list, but it should accomplish what you're looking for.