How should we consider agent/tool needing input from user to continue?

Hi all,

Trying to understand how I should think about this simple agent (hypothetical scenario).

Let’s say we are building an email agent that can compose emails based on a tone collected as input from the user. We build a tool that can read the email and give five choices to select from. We also have another tool to compose emails.

How will the tool/agent now get the output (choices in this case), display to the user, get the user choice, and then compose the email?

I can of course automate this and have agent the best tone but I want to understand how agent would collect user input at the instruction of the tool.

Thanks!