> **recipe-create-expense-tracker** — skill 65 of 95 in [googleworkspace/cli](https://skillsdocs.com/googleworkspace/cli).
>
> Book (all skills, one file): https://skillsdocs.com/googleworkspace/cli.md
> Machine manifest: https://skillsdocs.com/googleworkspace/cli/.well-known/agent-skills/index.json
> Install the book: `npx skills add googleworkspace/cli`
> Upstream: https://github.com/googleworkspace/cli/blob/main/skills/recipe-create-expense-tracker/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-create-expense-tracker/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-create-expense-tracker/
> Licence: Apache-2.0 — https://spdx.org/licenses/Apache-2.0.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: recipe-create-expense-tracker
description: "Set up a Google Sheets spreadsheet for tracking expenses with headers and initial entries."
metadata:
  version: 0.22.5
  openclaw:
    category: "recipe"
    domain: "productivity"
    requires:
      bins:
        - gws
      skills:
        - gws-sheets
        - gws-drive
---

# Create a Google Sheets Expense Tracker

> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-sheets`, `gws-drive`

Set up a Google Sheets spreadsheet for tracking expenses with headers and initial entries.

## Steps

1. Create spreadsheet: `gws drive files create --json '{"name": "Expense Tracker 2025", "mimeType": "application/vnd.google-apps.spreadsheet"}'`
2. Add headers: `gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '["Date", "Category", "Description", "Amount"]'`
3. Add first entry: `gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '["2025-01-15", "Travel", "Flight to NYC", "450.00"]'`
4. Share with manager: `gws drive permissions create --params '{"fileId": "SHEET_ID"}' --json '{"role": "reader", "type": "user", "emailAddress": "manager@company.com"}'`
