Waymaker sheets
Manage spreadsheets in Commander. Create, read, update, and export sheet data programmatically.
Overview
Manage spreadsheets in Commander. Create, read, update, and export sheet data programmatically.
Usage
waymaker sheets <subcommand> [options]
Subcommands
| Subcommand | Description |
|---|---|
list | List sheets in a workspace |
get | Get sheet data |
create | Create a new sheet |
update | Update sheet data |
export | Export sheet to CSV/Excel |
List Sheets
waymaker sheets list --workspace <workspace-id>
Output:
Sheets (8)
id title rows cols updated
-------------------------------------------------------------
sheet_abc123 Q1 Budget 150 12 2 hours ago
sheet_def456 Sales Pipeline 340 8 1 day ago
sheet_ghi789 Team Capacity 25 6 3 days ago
JSON Output
waymaker sheets list --workspace ws_xxx --json
[
{
"id": "sheet_abc123",
"title": "Q1 Budget",
"row_count": 150,
"column_count": 12,
"workspace_id": "ws_xxx",
"updated_at": "2026-01-21T08:00:00Z"
}
]
Get Sheet Data
Get Metadata
waymaker sheets get <sheet-id>
Output:
Q1 Budget
ID: sheet_abc123
Workspace: ws_xxx
Rows: 150
Columns: 12
Created: January 15, 2026
Updated: 2 hours ago
Columns:
A: Category (text)
B: Description (text)
C: Q1 Budget (currency)
D: Q1 Actual (currency)
...
Get Cell Range
waymaker sheets get <sheet-id> --range "A1:D10"
Output:
A1:D10 (10 rows x 4 cols)
Category Description Q1 Budget Q1 Actual
---------------------------------------------------------
Marketing Digital Ads $50,000 $48,500
Marketing Events $25,000 $22,000
Sales Travel $15,000 $14,200
...
Get as JSON
waymaker sheets get <sheet-id> --range "A1:D10" --json
{
"range": "A1:D10",
"values": [
["Category", "Description", "Q1 Budget", "Q1 Actual"],
["Marketing", "Digital Ads", 50000, 48500],
["Marketing", "Events", 25000, 22000]
]
}
Create Sheet
waymaker sheets create \
--workspace <workspace-id> \
--title "New Sheet"
Output:
✓ Sheet created
ID: sheet_new123
Title: New Sheet
Workspace: ws_xxx
Create from CSV
waymaker sheets create \
--workspace ws_xxx \
--title "Imported Data" \
--file ./data.csv
Create with Initial Data
waymaker sheets create \
--workspace ws_xxx \
--title "Quick Sheet" \
--data '[["Name", "Value"], ["Item 1", 100], ["Item 2", 200]]'
Update Sheet Data
Update Cell Range
waymaker sheets update <sheet-id> \
--range "A1:B2" \
--data '[["Header1", "Header2"], ["Value1", "Value2"]]'
Update from CSV
waymaker sheets update <sheet-id> \
--range "A1" \
--file ./updates.csv
Append Rows
waymaker sheets update <sheet-id> \
--append \
--data '[["New Row 1", 100], ["New Row 2", 200]]'
Export Sheet
Export to CSV
waymaker sheets export <sheet-id> --format csv --output ./export.csv
Export to Excel
waymaker sheets export <sheet-id> --format xlsx --output ./export.xlsx
Export Range Only
waymaker sheets export <sheet-id> \
--format csv \
--range "A1:D100" \
--output ./partial-export.csv
Options Reference
list
| Option | Type | Description |
|---|---|---|
--workspace | string | Required. Workspace ID |
--json | flag | Output as JSON |
get
| Option | Type | Description |
|---|---|---|
--range | string | Cell range (e.g., "A1:D10") |
--json | flag | Output as JSON |
create
| Option | Type | Description |
|---|---|---|
--workspace | string | Required. Workspace ID |
--title | string | Required. Sheet title |
--file | string | Import from CSV file |
--data | string | Initial data as JSON array |
update
| Option | Type | Description |
|---|---|---|
--range | string | Target cell range |
--data | string | Data as JSON array |
--file | string | Data from CSV file |
--append | flag | Append to end of sheet |
export
| Option | Type | Description |
|---|---|---|
--format | enum | Export format (csv, xlsx) |
--output | string | Required. Output file path |
--range | string | Export specific range only |
AI Agent Workflow
# List all sheets
SHEETS=$(waymaker sheets list --workspace ws_xxx --json)
# Get specific data range
DATA=$(waymaker sheets get sheet_abc123 --range "A1:D100" --json)
# Process and update
PROCESSED=$(echo $DATA | jq '.values | map(...)')
waymaker sheets update sheet_abc123 \
--range "E1" \
--data "$PROCESSED"
# Create report sheet from data
waymaker sheets create \
--workspace ws_xxx \
--title "$(date +%Y-%m) Report" \
--data "$REPORT_DATA"
# Export for external processing
waymaker sheets export sheet_abc123 --format csv --output /tmp/data.csv
MCP Tools (Claude Desktop)
When using the Waymaker MCP server with Claude Desktop or other AI assistants, these tools are available:
commander_sheet_list
List all sheets in an organization.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
organization_id | string | Yes | Organization UUID |
workspace_id | string | No | Filter by workspace |
project_id | string | No | Filter by project |
Example prompts:
"List all spreadsheets in my organization"
"Show me sheets in the Finance workspace"
commander_sheet_get
Retrieve a sheet by ID with optional cell data.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sheet_id | string | Yes | Sheet UUID |
organization_id | string | Yes | Organization UUID |
include_cells | boolean | No | Include all cell data (default: false) |
Example prompts:
"Get the Q1 Budget sheet and show me the data"
"Read the Team Capacity spreadsheet with all cell values"
commander_sheet_create
Create a new spreadsheet with optional initial data.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | Yes | Workspace UUID |
organization_id | string | Yes | Organization UUID |
title | string | Yes | Sheet title |
description | string | No | Sheet description |
row_count | number | No | Number of rows (default: 100) |
column_count | number | No | Number of columns (default: 26) |
initial_data | array | No | 2D array of initial data |
project_id | string | No | Project UUID |
folder_id | string | No | Folder UUID for placement |
Example prompts:
"Create a spreadsheet called 'Q1 Budget' in my workspace"
"Create a sheet titled 'Team Capacity' with columns for Name, Role, Hours, and Availability"
"Create a budget tracking sheet and place it in the Finance folder"
commander_sheet_update
Update a sheet's metadata or cell values.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sheet_id | string | Yes | Sheet UUID |
organization_id | string | Yes | Organization UUID |
title | string | No | New sheet title |
description | string | No | New description |
cells | array | No | Array of cell updates: [{row, column, value}] |
Example prompts:
"Rename the budget sheet to 'Q1 2026 Budget'"
"Update cell A1 in the budget sheet to 'Revenue'"
"Update cells B2 through B5 with the new sales figures"
Related Commands
- workspaces - Manage workspaces
- folders - Create and manage folders
- tables - Structured data tables
- docs - Document management