1. A computer-implemented method of operating a chatbot to engage in an automated conversation with a correspondent, the method comprising: providing a chatbot having a conversation data structure comprising a plurality of conversation paths, each conversation path in the plurality of conversation paths comprising a plurality of nodes, each node having coded instructions that are processed to instruct an interpretation engine to perform an operation as part of the conversation path; receiving an input message from the correspondent; based on the received input message, building a profile having plural profile variables for the correspondent representing characteristics of the correspondent; and during the conversation, or a future conversation with the correspondent, selecting a node of a conversation path in the plurality of conversation paths in the conversation data structure for processing based on the one or more profile variables of the profile for the correspondent, and processing, by the interpretation engine, the selected node to follow a conversation path corresponding to the selected node based on the node's coded instructions.