Call Manager has a full blown API that you can talk directly too. You can easily automate all of your repetitive task and write advanced queries.
The use cause that made me go down this rabbit hole was finding all of the phones that had a given number as a speed dial and automatically update the number/description for when the person in a station changed.