[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-workspace-recipe-create-expense-tracker":3,"mdc-1qdfvi-key":49,"related-org-google-workspace-recipe-create-expense-tracker":163,"related-repo-google-workspace-recipe-create-expense-tracker":313},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":44,"sourceUrl":47,"mdContent":48},"recipe-create-expense-tracker","set up expense tracking spreadsheets","Set up a Google Sheets spreadsheet for tracking expenses with headers and initial entries.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"google-workspace","Google Workspace","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-workspace.png","googleworkspace",[13,17,20,23],{"name":14,"slug":15,"type":16},"Google Sheets","google-sheets","tag",{"name":18,"slug":19,"type":16},"Finance","finance",{"name":21,"slug":22,"type":16},"Spreadsheets","spreadsheets",{"name":9,"slug":8,"type":16},29614,"https:\u002F\u002Fgithub.com\u002Fgoogleworkspace\u002Fcli","2026-07-12T08:24:44.515308",null,1717,[30,31,32,33,34,35,36,37,38,39,40,41,15,8,42,43],"agent-skills","ai-agent","automation","cli","discovery-api","gemini-cli-extension","google-admin","google-api","google-calendar","google-chat","google-docs","google-drive","oauth2","rust",{"repoUrl":25,"stars":24,"forks":28,"topics":45,"description":46},[30,31,32,33,34,35,36,37,38,39,40,41,15,8,42,43],"Google Workspace CLI — one command-line tool for Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and more. Dynamically built from Google Discovery Service. Includes AI agent skills.","https:\u002F\u002Fgithub.com\u002Fgoogleworkspace\u002Fcli\u002Ftree\u002FHEAD\u002Fskills\u002Frecipe-create-expense-tracker","---\nname: recipe-create-expense-tracker\ndescription: \"Set up a Google Sheets spreadsheet for tracking expenses with headers and initial entries.\"\nmetadata:\n  version: 0.22.5\n  openclaw:\n    category: \"recipe\"\n    domain: \"productivity\"\n    requires:\n      bins:\n        - gws\n      skills:\n        - gws-sheets\n        - gws-drive\n---\n\n# Create a Google Sheets Expense Tracker\n\n> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-sheets`, `gws-drive`\n\nSet up a Google Sheets spreadsheet for tracking expenses with headers and initial entries.\n\n## Steps\n\n1. Create spreadsheet: `gws drive files create --json '{\"name\": \"Expense Tracker 2025\", \"mimeType\": \"application\u002Fvnd.google-apps.spreadsheet\"}'`\n2. Add headers: `gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '[\"Date\", \"Category\", \"Description\", \"Amount\"]'`\n3. Add first entry: `gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '[\"2025-01-15\", \"Travel\", \"Flight to NYC\", \"450.00\"]'`\n4. Share with manager: `gws drive permissions create --params '{\"fileId\": \"SHEET_ID\"}' --json '{\"role\": \"reader\", \"type\": \"user\", \"emailAddress\": \"manager@company.com\"}'`\n\n",{"data":50,"body":62},{"name":4,"description":6,"metadata":51},{"version":52,"openclaw":53},"0.22.5",{"category":54,"domain":55,"requires":56},"recipe","productivity",{"bins":57,"skills":59},[58],"gws",[60,61],"gws-sheets","gws-drive",{"type":63,"children":64},"root",[65,74,103,107,114],{"type":66,"tag":67,"props":68,"children":70},"element","h1",{"id":69},"create-a-google-sheets-expense-tracker",[71],{"type":72,"value":73},"text","Create a Google Sheets Expense Tracker",{"type":66,"tag":75,"props":76,"children":77},"blockquote",{},[78],{"type":66,"tag":79,"props":80,"children":81},"p",{},[82,88,90,96,98],{"type":66,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":72,"value":87},"PREREQUISITE:",{"type":72,"value":89}," Load the following skills to execute this recipe: ",{"type":66,"tag":91,"props":92,"children":94},"code",{"className":93},[],[95],{"type":72,"value":60},{"type":72,"value":97},", ",{"type":66,"tag":91,"props":99,"children":101},{"className":100},[],[102],{"type":72,"value":61},{"type":66,"tag":79,"props":104,"children":105},{},[106],{"type":72,"value":6},{"type":66,"tag":108,"props":109,"children":111},"h2",{"id":110},"steps",[112],{"type":72,"value":113},"Steps",{"type":66,"tag":115,"props":116,"children":117},"ol",{},[118,130,141,152],{"type":66,"tag":119,"props":120,"children":121},"li",{},[122,124],{"type":72,"value":123},"Create spreadsheet: ",{"type":66,"tag":91,"props":125,"children":127},{"className":126},[],[128],{"type":72,"value":129},"gws drive files create --json '{\"name\": \"Expense Tracker 2025\", \"mimeType\": \"application\u002Fvnd.google-apps.spreadsheet\"}'",{"type":66,"tag":119,"props":131,"children":132},{},[133,135],{"type":72,"value":134},"Add headers: ",{"type":66,"tag":91,"props":136,"children":138},{"className":137},[],[139],{"type":72,"value":140},"gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '[\"Date\", \"Category\", \"Description\", \"Amount\"]'",{"type":66,"tag":119,"props":142,"children":143},{},[144,146],{"type":72,"value":145},"Add first entry: ",{"type":66,"tag":91,"props":147,"children":149},{"className":148},[],[150],{"type":72,"value":151},"gws sheets +append --spreadsheet SHEET_ID --range 'Sheet1' --values '[\"2025-01-15\", \"Travel\", \"Flight to NYC\", \"450.00\"]'",{"type":66,"tag":119,"props":153,"children":154},{},[155,157],{"type":72,"value":156},"Share with manager: ",{"type":66,"tag":91,"props":158,"children":160},{"className":159},[],[161],{"type":72,"value":162},"gws drive permissions create --params '{\"fileId\": \"SHEET_ID\"}' --json '{\"role\": \"reader\", \"type\": \"user\", \"emailAddress\": \"manager@company.com\"}'",{"items":164,"total":312},[165,182,195,207,217,228,237,248,261,274,286,299],{"slug":166,"name":166,"fn":167,"description":168,"org":169,"tags":170,"stars":24,"repoUrl":25,"updatedAt":181},"gws-admin-reports","generate Google Workspace audit and usage reports","Google Workspace Admin SDK: Audit logs and usage reports.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[171,174,175,178],{"name":172,"slug":173,"type":16},"Audit","audit",{"name":9,"slug":8,"type":16},{"name":176,"slug":177,"type":16},"Logs","logs",{"name":179,"slug":180,"type":16},"Reporting","reporting","2026-07-12T08:26:31.062227",{"slug":183,"name":183,"fn":184,"description":185,"org":186,"tags":187,"stars":24,"repoUrl":25,"updatedAt":194},"gws-calendar","manage Google Calendar events and schedules","Google Calendar: Manage calendars and events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[188,190,191],{"name":189,"slug":38,"type":16},"Google Calendar",{"name":9,"slug":8,"type":16},{"name":192,"slug":193,"type":16},"Scheduling","scheduling","2026-07-12T08:24:59.616333",{"slug":196,"name":196,"fn":197,"description":198,"org":199,"tags":200,"stars":24,"repoUrl":25,"updatedAt":206},"gws-calendar-agenda","show upcoming Google Calendar events","Google Calendar: Show upcoming events across all calendars.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[201,202,203],{"name":189,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":204,"slug":205,"type":16},"Meetings","meetings","2026-07-12T08:25:10.888894",{"slug":208,"name":208,"fn":209,"description":210,"org":211,"tags":212,"stars":24,"repoUrl":25,"updatedAt":216},"gws-calendar-insert","create Google Calendar events","Google Calendar: Create a new event.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[213,214,215],{"name":189,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":192,"slug":193,"type":16},"2026-07-12T08:25:09.604012",{"slug":218,"name":218,"fn":219,"description":220,"org":221,"tags":222,"stars":24,"repoUrl":25,"updatedAt":227},"gws-chat","manage Google Chat spaces and messages","Google Chat: Manage Chat spaces and messages.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[223,224],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},"Messaging","messaging","2026-07-12T08:26:10.121585",{"slug":229,"name":229,"fn":230,"description":231,"org":232,"tags":233,"stars":24,"repoUrl":25,"updatedAt":236},"gws-chat-send","send messages to Google Chat spaces","Google Chat: Send a message to a space.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[234,235],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},"2026-07-12T08:24:45.761728",{"slug":238,"name":238,"fn":239,"description":240,"org":241,"tags":242,"stars":24,"repoUrl":25,"updatedAt":247},"gws-classroom","manage Google Classroom rosters and coursework","Google Classroom: Manage classes, rosters, and coursework.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[243,246],{"name":244,"slug":245,"type":16},"Education","education",{"name":9,"slug":8,"type":16},"2026-07-12T08:25:00.846861",{"slug":249,"name":249,"fn":250,"description":251,"org":252,"tags":253,"stars":24,"repoUrl":25,"updatedAt":260},"gws-docs","read and write Google Docs","Read and write Google Docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[254,257,259],{"name":255,"slug":256,"type":16},"Documents","documents",{"name":258,"slug":40,"type":16},"Google Docs",{"name":9,"slug":8,"type":16},"2026-07-12T08:26:07.645598",{"slug":262,"name":262,"fn":263,"description":264,"org":265,"tags":266,"stars":24,"repoUrl":25,"updatedAt":273},"gws-docs-write","append text to Google Docs","Google Docs: Append text to a document.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[267,268,269,270],{"name":255,"slug":256,"type":16},{"name":258,"slug":40,"type":16},{"name":9,"slug":8,"type":16},{"name":271,"slug":272,"type":16},"Writing","writing","2026-07-12T08:26:22.261687",{"slug":61,"name":61,"fn":275,"description":276,"org":277,"tags":278,"stars":24,"repoUrl":25,"updatedAt":285},"manage files in Google Drive","Google Drive: Manage files, folders, and shared drives.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[279,282,284],{"name":280,"slug":281,"type":16},"File Storage","file-storage",{"name":283,"slug":41,"type":16},"Google Drive",{"name":9,"slug":8,"type":16},"2026-07-12T08:24:42.025037",{"slug":287,"name":287,"fn":288,"description":289,"org":290,"tags":291,"stars":24,"repoUrl":25,"updatedAt":298},"gws-drive-upload","upload files to Google Drive","Google Drive: Upload a file with automatic metadata.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[292,293,296,297],{"name":280,"slug":281,"type":16},{"name":294,"slug":295,"type":16},"File Uploads","file-uploads",{"name":283,"slug":41,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T08:25:02.071018",{"slug":300,"name":300,"fn":301,"description":302,"org":303,"tags":304,"stars":24,"repoUrl":25,"updatedAt":311},"gws-events","subscribe to Google Workspace events","Subscribe to Google Workspace events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[305,307,308],{"name":306,"slug":32,"type":16},"Automation",{"name":9,"slug":8,"type":16},{"name":309,"slug":310,"type":16},"Notifications","notifications","2026-07-12T08:24:35.741351",95,{"items":314,"total":312},[315,322,328,334,340,345,350],{"slug":166,"name":166,"fn":167,"description":168,"org":316,"tags":317,"stars":24,"repoUrl":25,"updatedAt":181},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[318,319,320,321],{"name":172,"slug":173,"type":16},{"name":9,"slug":8,"type":16},{"name":176,"slug":177,"type":16},{"name":179,"slug":180,"type":16},{"slug":183,"name":183,"fn":184,"description":185,"org":323,"tags":324,"stars":24,"repoUrl":25,"updatedAt":194},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[325,326,327],{"name":189,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":192,"slug":193,"type":16},{"slug":196,"name":196,"fn":197,"description":198,"org":329,"tags":330,"stars":24,"repoUrl":25,"updatedAt":206},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[331,332,333],{"name":189,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":204,"slug":205,"type":16},{"slug":208,"name":208,"fn":209,"description":210,"org":335,"tags":336,"stars":24,"repoUrl":25,"updatedAt":216},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[337,338,339],{"name":189,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":192,"slug":193,"type":16},{"slug":218,"name":218,"fn":219,"description":220,"org":341,"tags":342,"stars":24,"repoUrl":25,"updatedAt":227},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[343,344],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},{"slug":229,"name":229,"fn":230,"description":231,"org":346,"tags":347,"stars":24,"repoUrl":25,"updatedAt":236},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[348,349],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},{"slug":238,"name":238,"fn":239,"description":240,"org":351,"tags":352,"stars":24,"repoUrl":25,"updatedAt":247},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[353,354],{"name":244,"slug":245,"type":16},{"name":9,"slug":8,"type":16}]