By this metric, for example, a hammer is not an agent-I don't have a discourse with my hammer! Neither is a Lisp garbage collector, even though it takes spontaneous action to keep my computational environment clean, nor is an automatic transmission in a car; both are autonomous and relatively spontaneous, but it can hardly be said that I have much of a discourse with them.
Booking a flight through a human travel agent, in my case, is only partially a discourse: since I don't have direct access to the actual booking computer, I have no other option. And since I do not have a regular travel agent who knows me, every travel agent is a new experience (albeit, one that travel agencies try to standardize a bit, so as to align everyone's expectations). Now, in one respect, the conversational interchange is a discourse, because, for the duration of the task at hand (booking that one flight), there is a two-way communication of desires and capabilities. However, viewed in a larger context, there is no discourse that `teaches' the travel agent what my preferences are on when I like to travel, on which airline, and so forth. Viewed this way, a `travel agent' is nothing more than a somewhat more `user-friendly' interface to the flight reservation data system.