How many different destinations can a single transaction have? I am building a web-app that needs to send money to different customer's addresses. I would like to minimize transaction costs and avoid unnecesary traffic, therefore I would like to pay all of them at the same time. How many different destinations can one single transaction have?

Cheers!
There isn't a maximum number of outputs but instead a maximum size of data in a block.  So if there was just one transaction with a lot of outputs, the combined size would need to be below the block maximum of 500K.  

I don't know the size of each transaction but you are talking thousands or tens of thousands of outputs before hitting these per-block limits.