A computer implemented method for accessing a subroutine of a dialog process, comprising: receiving, at a server computer and from a user device, a request that specifies a particular child node state of the dialog process comprising an index key value for a dialog process index, wherein the request is generated by selecting a link, wherein the dialog process defines a plurality of node states, the node states including a root node state and child nodes states, wherein: each child node state descends from at least one of another child node state or the root node state; and each node state specifies an input request and input response processing rules for processing an input response received in response to the input request and selecting, based on the input response, one of the child node states that descend from the node state, wherein the dialog process index specifies, for each index entry: a particular child node state entry indexed by respective index key values; and a set of input responses that cause the dialog process to traverse from the root node state to the particular child node state; instantiating, by the server computer and in response to the request that specifies the particular child node state, the dialog process at the root node state; providing, by the server computer, to the dialog process, a plurality of input responses to the dialog process based on the index key, each input response provided in response to an input request, wherein a first input response of the provided input responses is provided for the input request of the root node state, and a last input response of the provided input responses is provided for the input request of a node state that is a parent of the particular child node state and causes the dialog process to select the particular child node state, the providing comprising: accessing the particular child node state entry indexed by the index key value of the request; retrieving, from the dialog process index, the set of input responses; and providing, to the dialog process, the set of input responses; and providing, by the server computer and to the user device, data that causes the user device to present the dialog process at the particular child node state. receiving, at a server computer and from a user device, a request that specifies a particular child node state of the dialog process comprising an index key value for a dialog process index, wherein the request is generated by selecting a link, wherein the dialog process defines a plurality of node states, the node states including a root node state and child nodes states, wherein: each child node state descends from at least one of another child node state or the root node state; and each node state specifies an input request and input response processing rules for processing an input response received in response to the input request and selecting, based on the input response, one of the child node states that descend from the node state, each child node state descends from at least one of another child node state or the root node state; and each node state specifies an input request and input response processing rules for processing an input response received in response to the input request and selecting, based on the input response, one of the child node states that descend from the node state, wherein the dialog process index specifies, for each index entry: a particular child node state entry indexed by respective index key values; and a set of input responses that cause the dialog process to traverse from the root node state to the particular child node state; a particular child node state entry indexed by respective index key values; and a set of input responses that cause the dialog process to traverse from the root node state to the particular child node state; instantiating, by the server computer and in response to the request that specifies the particular child node state, the dialog process at the root node state; providing, by the server computer, to the dialog process, a plurality of input responses to the dialog process based on the index key, each input response provided in response to an input request, wherein a first input response of the provided input responses is provided for the input request of the root node state, and a last input response of the provided input responses is provided for the input request of a node state that is a parent of the particular child node state and causes the dialog process to select the particular child node state, the providing comprising: accessing the particular child node state entry indexed by the index key value of the request; retrieving, from the dialog process index, the set of input responses; and providing, to the dialog process, the set of input responses; and accessing the particular child node state entry indexed by the index key value of the request; retrieving, from the dialog process index, the set of input responses; and providing, to the dialog process, the set of input responses; and providing, by the server computer and to the user device, data that causes the user device to present the dialog process at the particular child node state.