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

# Parse Google Sheets URL

Extract the spreadsheet ID and worksheet ID (gid) from a Google Sheets URL.

![Parse Google Sheets URL logo](https://ai-icon.b3.fun/logo/google-sheets)
Built-in action Built In

Extract the spreadsheet ID and worksheet ID (gid) from a Google Sheets URL.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `parse-google-sheets-url` |
| Category | Built In |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `utility`, `transformer`, `parsing`, `google-sheets` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | `string` | Yes | The full Google Sheets URL to parse. |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `spreadsheetId` | `string` | Yes | The unique spreadsheet identifier from the URL path. |
| `worksheetId` | `string` | Yes | The worksheet GID from the URL. Empty string if not present. |

## Examples

**Workflow node**

```json
{
  "type": "parse-google-sheets-url",
  "payload": {
    "url": "https://docs.google.com/spreadsheets/d/1pMpzomTrl7igWRb6eS7M_DqRfj25wp82ODVtgrOlz1I/edit?gid=0#gid=0"
  },
  "children": []
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/parse-google-sheets-url/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "url": "https://docs.google.com/spreadsheets/d/1pMpzomTrl7igWRb6eS7M_DqRfj25wp82ODVtgrOlz1I/edit?gid=0#gid=0"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.