IMHO just an API would be enough, tool could be written on top of that.
My ideal world would be every service, tool and application to have API that I can use i.e. if fridge is open too long (API polling or API webhook) I can send roomba to close it (using API of roomba). Because why not?!
World of API...