Customizing sketch uploading -- is it possible?

Is it possible to customize sketch uploading to an Arduino board from the IDE? I would like to be able to click on Upload button to launch my own software tools to post-process the compiled sketch and upload it to an Arduino. Is it possible?

In theory you can define your own programmer starting a custom software with certain parameters.
In practice I tried with a very little luck. IDE would just ignore programmer I defined.