For planning, scheduling and time tracking I currently use a combination of Todoist and WorkingHours Pro. Along with SubTotal Pro works great for me. With just a bit of integration the Todoist - WorkingHours Pro combination could be awesome.
What would be great is a button on a Todoist task that when clicked executes a "Start Work" object in WorkingHours. When the start work object is created it would get the Tag name (a Todoist "Project") and the Description (a Todoist Task name) from Todoist as part of the create process.
That's it. Just that simple little automation would make the two apps work together like they were meant for each other. There are other integration opportunities such as syncing Todoist Projects with WorkingHours Tags, syncing Todoist Tasks with WorkingHours Tasks, but the one above is the 80%.
Todoist offers well documented API and SDK - Developing with Todoist – Guides | Todoist Developer.
https://developer.todoist.com/guides/#developing-with-todoist
https://developer.todoist.com/ui-extensions#introduction