15. A computer program product comprising a non-transitory computer readable medium storing computer executable code, the computer executable code executable to: provide a graphical user interface to allow a first user to specify a second user to participate in an automated dialog, specific response option, and a maximum time period for responding; access a data store to determine an address for the second user; configure a dialog engine to: execute a first instruction associated with the dialog to send a first communication to the second user from a server via a first communications channel, the first communication containing the specific response option; determine if a first event has occurred in conjunction with the second user, wherein the first event comprises a response by the second user according to the specific response option within the maximum time period for responding; assign a value to a variable associated with the first event based on the determination; branch the dialog based on the value of the variable associated with the first event, wherein: in a first branch, the dialog engine is configured to execute a second instruction associated with the dialog to send a second communication to the second user using a second communications channel; in a second branch, the dialog engine is configured to execute a third instruction associated with the dialog.
15. A computer program product comprising a non-transitory computer readable medium storing computer executable code, the computer executable code executable to: provide a graphical user interface to allow a first user to specify a second user to participate in an automated dialog, specific response option, and a maximum time period for responding; access a data store to determine an address for the second user; configure a dialog engine to: execute a first instruction associated with the dialog to send a first communication to the second user from a server via a first communications channel, the first communication containing the specific response option; determine if a first event has occurred in conjunction with the second user, wherein the first event comprises a response by the second user according to the specific response option within the maximum time period for responding; assign a value to a variable associated with the first event based on the determination; branch the dialog based on the value of the variable associated with the first event, wherein: in a first branch, the dialog engine is configured to execute a second instruction associated with the dialog to send a second communication to the second user using a second communications channel; in a second branch, the dialog engine is configured to execute a third instruction associated with the dialog. 18. The computer program product of claim 15 , wherein the dialog engine is further configured to branch the dialog based on a specified combination of events.