Adding Google Drive to download a file as a Tool to AI Agent doesn’t provide any binary data. The only thing returned back is a json with fileId that was used for download, but no binary payload is present.
I have tried to force it putting the download results into a field, doesn’t work.
This was already discussed in a couple topics, but without an answer:
For debuging, what I did is instead of wiring just Google Drive download, I made a sub-workflow execution that does download file and supposed to return it back.
But when I am back in the parent workflow with ai agent, it doesn’t get that binary file and doesn’t pass it through to other tools or as an execution result:
Same issue. I’ve been trying to implement a multi-step sub-workflow as a tool for my AI agent for analyzing WhatsApp chat export zip files, along with all the media files, but only the JSON fields are getting passed back into the AI agent, not binary, even though I can see at the last step of the execution that the binary is indeed being output from the last node, but gets lost when returning to the main workflow.
Edit: managed to workaround it by basically reimplementing tool calling via structured outputs. The workflow checks if the AI agent requests that tool via the structured output fields, runs that sub-workflow, and then passes all the outputs, including binary data, back into the AI agent node. Works flawlessly, so it must actually be an issue with how tools are implemented.