I would first recommend solving this this with some prompt engineering, telling it to ask for missing information. This would be the simplest solution.
If that doesn’t work, you can use a workflow that checks first if the information is present, if not goes down one branch which asks for information and if it is or answer got provided goes down the other branch.
If it really has to be a tool would be a little bit more work:
tool would have to send a response to the webhook (should be simple)
the response message via webhook has then to end up with the tool again (more complicated, but we could respond with overwriting URL with another one)
I also checked with one of our engineers @oleg who suggested an alternative:
It could also be multiple agents each responsible for a certain area but using the same memory. Then on the webhook, we’d check if chat memory for incoming memoryKey and have a chain to moderate & control which agent to call. Something like this:
Btw. important to mention here, that this requires changes in n8n core. So the comments regarding how simple it it is to do, is for the development work required.