Sometimes, it's just a massive pain to get an application to do all you want/need as most application tend to be focusing on one part of the solution you need. That's why many applications implement APIs to allow you to build your own solution by piecing all applications together in a specific way. This is great but you need some serious coding skills or a big budget to hire a developer to make your vision a reality, not to mention re-hiring/maintaining the integration when application APIs change.