Roughly described, a natural language interface to a back-end application incorporates synonyms automatically added to user input to enhance the natural language interpretation. Synonyms can be learned from user input and written into a synonyms database. Their selection can be based on tokens identified in user input. Natural language interpretation can be performed by agents arranged in a network, which parse the user input in a distributed manner. In an embodiment, a particular agent of the natural language interpreter receives a first message that includes the user input, returns a message claiming at least a portion of the user input, and subsequently receives a second message delegating actuation of at least that portion to the particular agent.