We publish Application Programming Interfaces (APIs) to our systems as appropriate. The systems become more powerful when other parties — customers or partners — can see data and edit it. Obviously, we make sure that the interface is secure and works only for authorised users. We then control the functionality available to maintain the data integrity of our system. But given those restrictions we can then open up the systems to help others write all sorts of rich features.
You can see a live case at https://trent.whitespace.co.uk/reworkapi which demonstrates a set of API endpoints available on URLs like https://trent.whitespace.co.uk/reworkapi/api/placing