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

# Read Data

> Reads data from Google Sheets with support for specific ranges, formatting, and data types

Reads data from Google Sheets with support for specific ranges, formatting, and data types

|                      |                    |
| -------------------- | ------------------ |
| **App**              | Google Sheets      |
| **Operation ID**     | `sheets_read_data` |
| **Type**             | Action             |
| **Connection**       | `drive` (optional) |
| **Credits per run**  | 1                  |
| **Agent / MCP tool** | Yes                |

## Inputs

| Field                 | Type                       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | -------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `spreadsheet`         | string                     | Yes      | -       | Google Spreadsheet URL or ID, you must ask the user for it if not provided.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `sheet`               | string or SelectItem       | Yes      | -       | The sheet to read data from. You can provide this in several ways: 1. If user provides just a sheet name, fill the object like this \{'label': 'Sheet1', 'value': 'Sheet1'} 2. If user provides only a sheet ID: Format as \{'label': '123456', 'value': '123456'} 3. If user provides dynamic values: Use the template syntax (e.g., '\{\{nodeId\_data\_sheet}}') 4. If user selects from dropdown: they will ge this format \{'label': 'Sheet1', 'value': '123456'}  If user doesn't provide sheet information, ask them to specify the sheet name or select from available sheets using the dropdown menu. |
| `load_all_data`       | boolean                    | No       | `True`  | Whether to load all data from the sheet, default is True                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `selection_type`      | string or SelectableOption | No       | -       | Type of selection (range or cell) when not loading all data, 'load\_all\_data' must be False. Available options:  'range' : this is the default 'cell' : this is used when you want to read a single cell from the sheet.                                                                                                                                                                                                                                                                                                                                                                                     |
| `range`               | string                     | No       | -       | Range to read when using range selection (e.g., 'A1:D10', 'A:A', 'A:C')                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `cell`                | string                     | No       | -       | Single cell to read when using cell selection (e.g., 'A1')                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `value_render_option` | string or SelectableOption | No       | -       | Value render option for reading data from sheet. Available options: 'UNFORMATTED\_VALUE' : this is the default, this returns the raw value of the cell. 'FORMATTED\_VALUE' : this returns the formatted value of the cell. 'FORMULA' : this returns the formula of the cell if it exists.                                                                                                                                                                                                                                                                                                                     |
| `filters`             | array of Condition         | No       | -       | Optional filters to apply to the data read from the sheet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

### Condition

| Field        | Type   | Required | Default | Description                                                                                                                                          |
| ------------ | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expression` | string | Yes      | -       | Field name e.g 'age', must match the key names in the data                                                                                           |
| `operator`   | string | Yes      | -       | The condition operator, must be one of the available operators                                                                                       |
| `value`      | string | Yes      | -       | The value to compare against                                                                                                                         |
| `joiner`     | string | No       | -       | Optional joiner for multiple conditions (e.g., 'AND', 'OR'). Joiner should be added from second condition onwards. Don't add to the first condition. |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `any | List[Dict]`

Returns single value for cell selection, or list of dicts (rows with headers as keys) for range/all data.

**Fields**: dynamic (depend on the inputs)
