A computer-implemented method for a messaging service, the method comprising: receiving a first message subscription service request at a message router (108,208), the first message subscription service request including message criteria; receiving a second message subscription service request at the message router (108,208), the second message subscription service request including the message criteria; determining at the message router (108,208) a first sending agent (320, 322, 112, 212) based on the first message subscription service request; determining a second sending agent (320, 322, 112, 212) based on the second message subscription service request, wherein the first sending agent (320, 322, 112, 212) and the second sending agent (320, 322, 112, 212) are associated with different respective modes of communication;receiving a first message at the message router (108,208), the first message including a message parameter and message content; determining, at the message router (108,208), whether the message criteria match the message parameter; and in response to a determination that the message criteria match the message parameter: routing the first message to the determined first sending agent; and generating a second message at the first sending agent based on the first message and the first message subscription service request, wherein the second message includes the message content; routing the first message to the determined second sending agent (320, 322, 112, 212); and generating a third message at the second sending agent (320, 322, 112, 212) based on the first message and the second message subscription service request, wherein the third message includes the message content, and wherein the second message and the third message are sent via different modes of communication. receiving a first message subscription service request at a message router (108,208), the first message subscription service request including message criteria; receiving a second message subscription service request at the message router (108,208), the second message subscription service request including the message criteria; determining at the message router (108,208) a first sending agent (320, 322, 112, 212) based on the first message subscription service request; determining a second sending agent (320, 322, 112, 212) based on the second message subscription service request, wherein the first sending agent (320, 322, 112, 212) and the second sending agent (320, 322, 112, 212) are associated with different respective modes of communication;receiving a first message at the message router (108,208), the first message including a message parameter and message content; determining, at the message router (108,208), whether the message criteria match the message parameter; and in response to a determination that the message criteria match the message parameter: routing the first message to the determined first sending agent; and generating a second message at the first sending agent based on the first message and the first message subscription service request, wherein the second message includes the message content; routing the first message to the determined first sending agent; and generating a second message at the first sending agent based on the first message and the first message subscription service request, wherein the second message includes the message content; routing the first message to the determined second sending agent (320, 322, 112, 212); and generating a third message at the second sending agent (320, 322, 112, 212) based on the first message and the second message subscription service request, wherein the third message includes the message content, and wherein the second message and the third message are sent via different modes of communication.