> ## 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)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.