---
title: Input files for AI agents
slug: input-files-for-ai-agents
description: Learn how to use input files with Make AI agents, including file uploading, file requirements, and unsupported file type conversions.
docTags: 
createdAt: 2026-06-10T13:18:39.766Z
---

Input files are one-time files that the agent processes each time a scenario runs. This guide covers input file requirements and how to upload input files.

:::hint{type="info"}
It is recommended to upload large text files and files the agent references often as [knowledge files](https://help.make.com/knowledge-files-for-ai-agents) instead.
:::

## Input and output file requirements and limits

Input and output files for agents have the following requirements and limits:

- **Input file supported formats:&#x20;**&#x4A;PG, PNG, GIF, PDF&#x20;
- **Output file supported formats:** PDF, DOCX, TXT, CSV&#x20;
- **Input data type:&#x20;**&#x42;inary data only. The agent can't read files from URLs or base64 strings.&#x20;
- **AI provider:** Make's AI Provider, OpenAI, Anthropic Claude, or Gemini, and a model that supports files.&#x20;

Refer to your provider's documentation to check file support specifics for your chosen model.

## Upload input files

Upload files of supported types to your agent in **Input files** in the **Make AI Agent (New)** > **Run an agent** module.&#x20;

### Input file is from a download file module

To upload supported files from a dedicated download file module, such as **Telegram Bot&#x20;**>**&#x20;Download a File&#x20;**&#x6F;r **Google Drive&#x20;**>**&#x20;Download a File**:

::::WorkflowBlock
:::WorkflowBlockItem
In the Scenario Builder, before the **Make AI Agent (New)&#x20;**> **Run an agent** module, add modules that watch an app and download files from it.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/ey9IB5b0M3pXmLwsBkPTX_telegram-scenario-ai-agentic.png" size="80" width="1020" height="346" darkWidth="1020" darkHeight="346" position="center" caption="This example scenario watches Telegram, downloads attachments, and passes them to the agent via the Input files field." showCaption="true"}
:::

:::WorkflowBlockItem
Click the **Make AI Agent (New)** > **Run an agent&#x20;**&#x6D;odule to open its settings. &#x20;
:::

:::WorkflowBlockItem
In **Input files**, select the download file module.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/4Bmlp3uzmOJzW0EAX8rS1-20260611-125819.png" size="70" width="803" height="408" darkWidth="803" darkHeight="408" position="center" caption="In this example, the file from the Telegram Bot > Download a File module is selected." showCaption="true"}
:::
::::

You've now uploaded an input file to your agent.&#x20;

### Input file is a value from an output bundle&#x20;

If an earlier module outputs a value as part of a bundle that you want to use as an input file, map the value directly:

::::WorkflowBlock
:::WorkflowBlockItem
In the Scenario Builder, before the **Make AI Agent (New)&#x20;**> **Run an agent** module, add modules that return the output value you want to map.&#x20;
:::

:::WorkflowBlockItem
Click the **Make AI Agent (New)** > **Run an agent&#x20;**&#x6D;odule to open its settings. &#x20;
:::

:::WorkflowBlockItem
In **Input files**, toggle **Map&#x20;**&#x61;nd map the output from the previous module to use as an input file.&#x20;
:::
::::

You've now mapped a value in **Inputs files** so the agent can use it.&#x20;

## Convert unsupported formats &#x20;

The agent accepts input files as binary data only. If your file is in another format, convert it before mapping it in the **Make AI Agent (New)** > **Run an agent** module.&#x20;

### Convert  files from URLs

To pass a DOCX or other unsupported file from a URL to your agent, convert it to text using an AI app such a&#x73;**&#x20;Make AI Content Extractor**.

::Image[****]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/S5eusc8iPvnrHp0mk4te7-20260615-130919.png" size="80" width="1268" height="319" darkWidth="1268" darkHeight="319" position="center" caption="This example scenario extracts text from a direct download DOCX URL and passes it to the agent via the Input field. " showCaption="true"}

To convert a DOCX URL to text with **Make AI Content Extractor**:&#x20;

::::WorkflowBlock{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/S5eusc8iPvnrHp0mk4te7-20260615-130919.png" size="100" width="1268" height="319" position="center" caption="This scenario extracts text from a DOCX file URL before passing it to the agent"}
:::WorkflowBlockItem
In the Scenario Builder, add a download file module, such as an **HTTP** > **Download a File** module.
:::

:::WorkflowBlockItem
Add the **Make AI Content Extractor** > **Extract text from a document** module and open its settings.&#x20;
:::

:::WorkflowBlockItem
In **Document source**, select File.&#x20;
:::

:::WorkflowBlockItem
In **File**, select or map the file from the **HTTP** module.
:::

:::WorkflowBlockItem
Add a **Text aggregator** module and open its settings.
:::

:::WorkflowBlockItem
In **Text**, map the `Text` value from the output of the **Extract text from a document** module.
:::

:::WorkflowBlockItem
Add the **Make AI Agent (New)** > **Run an agent** module.
:::

:::WorkflowBlockItem
In **Input**, map the `text` value from the **Text aggregator&#x20;**&#x6D;odule.
:::
::::

You've now converted a DOCX file to text so the agent can use it as input.&#x20;

### Convert files from base64 strings

To pass a file from a base64 string into an AI agent, convert it to binary using the `toBinary()` function.

To convert a base64 string to binary:

::::WorkflowBlock
:::WorkflowBlockItem
If the string starts with a prefix such as `data:image/png;base64`, remove the prefix.&#x20;
:::

:::WorkflowBlockItem
In the **Make AI Agent (New)** > **Run an agent&#x20;**&#x6D;odule, in the **Input files** field, convert the string with the following function:&#x20;

```javascript
toBinary(yourBase64String; "base64")
```
:::
::::

You've now converted a base64 string to binary, so the agent can use it.&#x20;
