A method includes receiving a first request associated with a first user account, the first request comprising content of a first message and a first plurality of destination endpoints to receive the first message, and identifying a first routing property defining one or more first constraints for transmitting the first message, determining, based at least on the first routing property, a first routing option for delivering the first message to the first plurality of destination endpoints, for each first destination endpoint of the first plurality of destination endpoints, transforming the content of the first message based at least on communication capabilities of a respective endpoint, and causing one or more versions of the transformed content to be transmitted to the first plurality of destination endpoints using the first routing option.