The company's official ERP in which we report our monthly activities is a horrendously slow and error-prone old-school GUI, where you basically punch a lot of numeric codes that represent customers and activities, and that can be pretty hard to get right. It looks like a spreadsheet with delays of several seconds after each cell is filled-in, because the apps commits everything over the network each time. I would waste several hours of life every month, typing one piece of rubbish at a time into that sad thing. It's a lot of pain and a colleague had written an automation tool based on the ERP's binary formats. However, his tool needed the code to be adjusted to each user, then compiling his thing was no easy task, then you needed to ask for special permissions to be able to feed the ERP with the binaries, and at last you realized that the binary output was a fragile thing, and so nobody used the tool.
So I wrote an automation script in Python with pluggable input sources which can be combined (text files that are easy to read and write, http connection to Redmine activities... later on a colleague took the tool and added a GrindStone source, and another guy plugged it into his Outlook calendar). The output stage to the ERP is built upon PyWinAuto, and it just simulates key-strokes on the proper window. It is not smart. It remains constrained by the ERP's slowness. But IT IS A HELL OF A FUN TO WATCH your monthly torture getting done all by itself, and enjoying a walk with a coffee in hand for that time, coming back from time to time to see your screen doing stuff.
All in all it took me about a whole day to write the script. It has been running for four years now. One ERP update broke the output stage. Fixing it was a matter of minutes : just write down the new keystrokes.