AI Agent Node Won’t Pass Binary Data to HTTP Request Node

Thanks for clarifying — and yes, this is a real limitation rather than a misunderstanding on your side.

When the HTTP Request node is used as a tool inside an AI Agent, it’s not executed with the full workflow item. Instead, the agent invokes tools via a JSON-only argument payload, which means the tool has no access to upstream binary data. As a result, there’s currently no supported way for an agent to pass a binary file into the HTTP tool, even though the HTTP Request node itself supports binary payloads when used normally in a workflow.

This mismatch between capability and actual behavior is confusing, and you’re definitely not the only one to run into it. There are several community threads describing the same limitation:

So to answer the two core questions directly:

  • Is this a limitation of n8n?
    Yes — specifically of the current agent → tool contract, which is JSON/text-only.

  • Is it worth a feature request?
    I’d say yes. The UI implies that tools like HTTP Request can accept binary input, but there’s no mechanism for an agent to supply that binary today, which is misleading.

In practice, most people work around this by:

  • Storing the file somewhere and passing a reference (URL/path/id) through the agent, or

  • Keeping the agent purely decision-making and performing the actual binary HTTP request outside the agent with a normal HTTP Request node.

Bottom line: you’re not missing a configuration — binary data simply doesn’t cross the agent → tool boundary at the moment.