> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# File Input

> Fetch files from URLs

## Overview

The File Input tools allow you to fetch files from specified URLs.

## Key Features

* `INPUT_PDF_FILE`: Fetch PDF files from URLs.
* `INPUT_CSV_FILE`: Fetch CSV files from URLs.
* `INPUT_DOCX_FILE`: Fetch DOCX files from URLs and return the extracted text.
* `INPUT_JSON`: Input JSON data directly.
* `INPUT_FILE`: Input generic files from URLs.
* `INPUT_TEXT`: Input plain text data directly.

## Tools

### INPUT\_PDF\_FILE

Fetch PDF files from URLs for processing.

**Input**:

* `value` (string, required): URL of the PDF file to fetch

**Output**:

* File content and metadata for further processing

### INPUT\_CSV\_FILE

Fetch CSV files from URLs for data processing.

**Input**:

* `value` (string, required): URL of the CSV file to fetch

**Output**:

* CSV content and metadata

### INPUT\_DOCX\_FILE

Fetch DOCX (Word) files from URLs and return the extracted text.

**Input**:

| Parameter     | Type               | Required | Description                                                                 |
| ------------- | ------------------ | -------- | --------------------------------------------------------------------------- |
| `value`       | string / string\[] | Yes      | URL(s) of the DOCX file(s) to load. Can be a single URL or an array of URLs |
| `description` | string             | No       | Description of the DOCX file                                                |

**Output**:

* `result`: Text extracted from the DOCX file(s)

### INPUT\_JSON

Input JSON data directly as a string.

**Input**:

* `value` (string, required): JSON string to parse

**Output**:

* Parsed JSON data ready for processing

### INPUT\_FILE

Input generic files from URLs.

**Input**:

| Parameter     | Type   | Required | Description              |
| ------------- | ------ | -------- | ------------------------ |
| `value`       | string | Yes      | URL of the file to fetch |
| `description` | string | No       | Description of the file  |

**Output**:

File content and metadata.

### INPUT\_TEXT

Input plain text data directly.

**Input**:

* `value` (string, required): Plain text content

**Output**:

* Text content for processing

## Examples

### Example: Fetch Files from URLs

```yaml theme={null}
- id: "pdf"
  tool: INPUT_PDF_FILE
  input:
    - name: value
      value: https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf

- id: "csv"
  tool: INPUT_CSV_FILE
  input:
    - name: value
      value: https://people.sc.fsu.edu/~jburkardt/data/csv/addresses.csv

- id: "docx"
  tool: INPUT_DOCX_FILE
  input:
    - name: value
      value: https://example.com/files/report.docx
    - name: description
      value: "Monthly report Word document"

- id: "json_data"
  tool: INPUT_JSON
  input:
    - name: value
      value: '{"source": "example", "items": [1, 2, 3]}'

- id: "config_file"
  tool: INPUT_FILE
  input:
    - name: value
      value: https://raw.githubusercontent.com/example/repo/main/config.yaml
    - name: description
      value: "Application configuration file"

- id: "text_input"
  tool: INPUT_TEXT
  input:
    - name: value
      value: "This is sample text content for processing"
```

### Example: JSON Data Processing

```yaml theme={null}
- id: user_data
  tool: INPUT_JSON
  input:
    - name: value
      value: |
        {
          "name": "John Doe",
          "age": 30,
          "email": "john@example.com",
          "preferences": {
            "theme": "dark",
            "notifications": true
          }
        }

- id: process_user_data
  tool: OPENAI_INVOKE
  config:
    - name: version
      value: gpt-4
  input:
    - name: prompt
      value: |
        Process this user data and create a personalized greeting:
        {{steps.user_data.result}}
        
        Create a friendly greeting message that includes their name and references their preferences.
```

## Related Input Tools

The following input tools are documented on other pages:

* `INPUT_WEBHOOK`, `INPUT_SLACK_EVENT`, `INPUT_IMAGE_FILE`, `INPUT_FILE_AS_TEXT`, `INPUT_TWILIO_SMS`: see [Advanced Input Tools](/en/pages/tools/files/input_advanced)
* `INPUT_JSON_WITH_VALIDATION`: see [Input JSON with Validation](/en/pages/tools/validation/input)
