1. A method, performed by an IVR system, for responding to users' queries while minimizing agent cost, the method comprising: receiving a call from a user at an IVR system; receiving a request from the user to speak with a live agent; offering the user an option to have the IVR system contact the user at a later time; in response to the user accepting such option, asking the user to state his query; recording the user's speech input for the query; terminating the call with the user, wherein after the call is terminated and while the user is offline, performing the following: providing the user's query to a natural language understanding interpreter; receiving a natural language interpretation result; and using the natural language interpretation result, determining if the user's query matches a query in a database that includes frequently-asked queries and corresponding response protocols; in response to the user's query matching a query in the database, providing an automated response to the user in accordance with a predetermined response protocol for the query; and in response to being unable to match the user's query to a query in the database, requesting a response to the query from a live agent and sending the live agent's response to the user in an automated manner.