1. A computer-implemented method for responding to a customer: receiving a first message from the customer; computing a message encoding vector by processing text of the first message with a message encoding model, wherein the message encoding vector represents the first message; updating a state vector by processing the message encoding vector with a state update model; selecting a first action from a plurality of available actions by processing the state vector with an action model, wherein the first action corresponds to transmitting an API request to a server computer; performing the first action by (i) generating data corresponding to the API request by processing the state vector with an API request model, (ii) transmitting the data corresponding to the API request to the server computer, and (iii) generating an API request vector that represents the data corresponding to the API request; updating the state vector by processing the API request vector with the state update model; receiving an API response from the server computer; computing an API response vector by processing the API response with an API response encoding model, wherein the API response vector represent the API response; updating the state vector by processing the API response vector with the state update model; selecting a second action from the plurality of available actions by processing the state vector with the action model, wherein the second action corresponds to transmitting a message to the customer; performing the second action by (i) generating text corresponding to a second message by processing the state vector with a message generation model, (ii) transmitting the second message to the customer, and (iii) generating a message generation vector that represents the second message; and updating the state vector by processing the message generation vector with the state update model.