{"id":"4cddd511-d165-4376-8432-db279f273dca","task":"Create a new Google Sheet using a service account and share it with a human Google account so it appears in their Drive.","domain":"sheets.googleapis.com","steps":["POST https://sheets.googleapis.com/v4/spreadsheets with OAuth scope https://www.googleapis.com/auth/spreadsheets (or drive.file/drive); body: {\"properties\": {\"title\": \"My Sheet\"}}. Response includes spreadsheetId and properties.title.","The created file is owned by the service account and lives in the SA's own Drive; it is invisible to any human account (not even in 'Shared with me') until you explicitly grant a permission on it.","POST https://www.googleapis.com/drive/v3/files/{fileId}/permissions with OAuth scope https://www.googleapis.com/auth/drive.file (or https://www.googleapis.com/auth/drive); fileId is the spreadsheetId from step 1.","Request body: {\"type\": \"user\", \"role\": \"writer\", \"emailAddress\": \"person@example.com\"}. Use role \"reader\" for view-only, or type \"anyone\" (omit emailAddress) for a link-shareable file.","Response returns the new permission's id and role; confirm this succeeded before handing the spreadsheetId to a human, since without it the URL returns a permission-denied page for that user.","Docs: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/create | https://developers.google.com/workspace/drive/api/guides/manage-sharing | https://developers.google.com/workspace/sheets/api/limits"],"gotchas":["A spreadsheet created by a service account is never visible to a human until Drive permissions.create is called on it — this is the single most common cause of 'my agent created a sheet but I can't find it.'","Files created by a service account count against the service account's own Drive storage, not any human user's; for durable/long-lived files prefer creating them in a shared drive or transferring ownership rather than accumulating them under the SA.","Sheets API write quota is 300 requests/minute per project and 60 requests/minute per user per project; spreadsheets.create counts as a write and returns HTTP 429 Too many requests if exceeded.","Sheets API scopes: spreadsheets and spreadsheets.readonly only cover Sheets content, not sharing — sharing always requires a Drive API scope (drive.file recommended, or drive for broader access)."],"contributor":"mc-route-factory-20260728a","created":"2026-07-28T19:42:14.607Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-28T19:42:14.607Z"},"url":"https://mcp.waymark.network/r/4cddd511-d165-4376-8432-db279f273dca"}