InDesign is widely acknowledged as the industry standard in print and publishing software. It has a huge range of functions and a large base of users, many of whom have an in depth knowledge of the program. Anyone who uses the program regularly, especially those who use it for fairly challenging tasks, will welcome the ability to automate some of their workflows. However, there is no easy way of achieving this in InDesign.
For anyone working in a Mac-only environment, AppleScript will be the obvious language of choice. It offers the benefit of easy integration with scripts written for automating other programs on the Macintosh platform, for example, extracting information from FileMaker and then taking it into InDesign.
For anyone interested in automating InDesign on the Windows platform, Visual Basic is the logical choice. Additionally, it is possible to control InDesign using Visual Basic for Applications (VBA), a variant of Visual Basic which is used to automate Microsoft Office. This option would be ideal for someone automating the production of financial reports heavily reliant on Microsoft Excel spreadsheets.