Is it possible to check presence status from say Home assistant and IFTTT and only start a schedule if no one is home? Also stop if someone comes home?
You can partially do that.
you can't use zones, you can only vacuum the whole house each time
And I have found a solution for the first part of your problem, but not the second.
I have an automation in home assistant who launch my robot at 14:00 if there was no movement detected in the house the last 2 hours.
I also did an automation who send the stop command to the robot if a movement is detected, but I had to deactivate these, because I don't have find a way to know the state of the robot.
So this command is sent very often, a limit is reach in IFTT, and the command is blocked.
There's a state changed event which fires to IFTTT when the state of the robot changes, so you can see if it's "Cleaning", "Charging" or "Sleeping" for example. I used this in Home Assistant to determine whether the input_boolean I setup was true or false. Then only fire the event to start/stop if it's not already in that state.