> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.polytomic.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server.

# Google Sheets

Supports:
* ✅ Models
* ✅ Model sync destination
* ✅ Bulk sync source




## Connection

### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>client_id</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>client_secret</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>connect_mode</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Default: browser<br/><br/>Accepted values: `browser`, `jwt`</td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>has_headers</code></td>
<td><code>boolean</code></td>
<td style="vertical-align: top;">Columns have headers</td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>oauth_refresh_token</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;"></td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>service_account</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Service account key<br/><br/>(required if `connect_mode` is "jwt")</td>
<td><code>false</code></td>
</tr>
<tr>
<td><code>spreadsheet_id</code></td>
<td><code>object</code></td>
<td style="vertical-align: top;">Spreadsheet</td>
<td><code>true</code></td>
</tr>
</tbody>
</table>


#### Example

```json
{
  "name": "Google Sheets connection",
  "type": "gsheets",
  "configuration": {
    "client_id": "eb669428-1854-4cb1-a560-403e05b8acbf",
    "client_secret": "ay8d5hdepz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq",
    "connect_mode": "",
    "has_headers": false,
    "oauth_refresh_token": "dasfdasz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq",
    "service_account": "",
    "spreadsheet_id": {
        "label": "",
        "value": ""
    }
  }
}
```

### Read-only properties
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>user_email</code></td>
<td><code>string</code></td>
<td style="vertical-align: top;">Connected user's email</td>
<td><code>false</code></td>
</tr>
</tbody>
</table>


## Model Sync
### Source
#### Configuration
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Description</th><th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>selected_sheet</code></td>
<td><code>object</code></td>
<td style="vertical-align: top;">Sheet</td>
<td><code>true</code></td>
</tr>
</tbody>
</table>


#### Example
```json
{
  ...
  "configuration": {
    "selected_sheet": {}
  }
}
```

### Target
Google Sheets connections may be used as the destination in a model sync.







## Bulk Sync
### Source
Google Sheets connections may be used as a bulk sync source. No additional configuration options are required.