Hugh Google API Access (hugh-ai@ubiworks.ca)
State
PARTIALLY ACTIVE — Hugh has Google API access for hugh-ai@ubiworks.ca via OAuth refresh token (as of 2026-06-25). Gmail (read+send), Google Drive, GA4 all confirmed working. Calendar is READ-ONLY — missing calendar.events scope, cannot create events. Needs Liam to reauthorize with calendar write scope. [Source: Hugh session f9b3e18a, 2026-06-25; Hugh session 1a6587af, 2026-06-25]
Scopes
- Gmail (read + send) ✅
- Google Drive ✅
- Google Docs ✅
- Google Calendar (read only) ⚠️ — missing
calendar.events(write) scope - Contacts (read) ✅
- GA4 (Google Analytics) ✅
How It Was Set Up
Liam Wilkinson completed a two-attempt OAuth flow on 2026-04-23 via agent-hugh Slack channel. Hugh ran a local OAuth server on port 8765. First code expired; second code (submitted ~08:10 PDT) was captured successfully. Tokens saved to Hugh’s credential store. [Source: Slack session, 2026-04-23]
Access Account
- Email: hugh-ai@ubiworks.ca
- Type: Google Workspace (UBI Works domain)
Back-links
- liam-wilkinson — completed the OAuth flow
- floyd-marinescu — authorized the setup
Known Issues
- 2026-04-28 | Multiple heartbeat sessions reported
invalid_clienterror when trying to exchange refresh token. This may indicate the client secret ingoogle-oauth-client.jsonwas rotated or revoked. When using the correct client_id/secret fromgoogle-oauth-hugh-ai.jsondirectly, the token exchange succeeds. [Source: Sessions 47accf13, 30b5c817, 2026-04-28] - Root cause suspicion: Some sessions used wrong credentials file (
/Users/OpenClaw/.openclaw/credentials/google-oauth-client.jsoninstead of the Hugh-specific one). Working path:/Users/OpenClaw/.openclaw/workspaces/hugh/.secrets/google-oauth-hugh-ai.json
Timeline
- 2026-04-23 | OAuth completed by Liam. Hugh confirmed access to Gmail, Drive, Docs, Calendar. [Source: Slack session dcebed40, 2026-04-23]
- 2026-04-28 | Token exchange worked in session 6cfe0afc (using correct credentials file). Multiple other sessions failed with
invalid_clientwhen using wrong credentials. [Source: Sessions 6cfe0afc, 47accf13, 2026-04-28] - 2026-06-03 | RECURRENCE of
invalid_client— client secret in credentials file (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, GCP project 699275090078, OAuth client699275090078-vndn3cups81hnhcvi0psklnkm13aaf0p) is being rejected by Google. Refresh token also expired separately. Confirmed across two sessions. Blocked from writing week-ending-May-31 social metrics to Google Sheet despite having all data pulled. Action needed: Liam to grab current Client Secret from GCP Console → Credentials, paste to Hugh, then complete a fresh OAuth grant. [Source: Hugh sessions 0d20f5ed, 837457a4, 2026-06-03] - 2026-06-09 |
.secrets/google-oauth-hugh-ai.jsonwas overwritten at ~13:33 PDT by an earlier Hugh session that conflated the Google OAuth credentials file with the Notion API token (ntn_...). The file was restored to proper Google OAuth JSON shape using the (still-revoked) refresh token from/Users/OpenClaw/.openclaw/credentials/google-token.json. The misfiled Notion token was backed up at…json.misfiled-notion-token.bak. Both Google refresh tokens still returninvalid_grant: Token has been expired or revoked. Gmail/Calendar/Drive remain blocked. [Source: Hugh heartbeat session ca6fd38a + memory 2026-06-09.md, 2026-06-09] - 2026-06-09 (evening) | The Notion SES Scrumban board shows the “Reauthorize Hugh on Google” card as Complete (Recent) — but this is NOT reflected in credentials on disk. Liam marked it complete; actual re-auth has not happened yet. Follow-up needed. [Source: Hugh heartbeat session 0fc5659c, 2026-06-09]
Updated State (2026-06-09)
BLOCKED — Both Google refresh tokens revoked as of at least 2026-06-03 (persisted through 2026-06-09). Additionally, the credentials file was accidentally overwritten with Notion API token during a Jun 9 session (now restored). Gmail/Calendar/Drive blocked until actual re-auth performed. Notion SES card “Reauthorize Hugh on Google” was marked Complete by Liam but actual re-auth has not happened on-disk.
Timeline additions (2026-06-25)
- 2026-06-25 | Ken asked Hugh to verify Google auth status. Hugh confirmed all green: Gmail ✅, Calendar ✅ (read), GA4 ✅. Token refreshed successfully. [Source: Hugh session f9b3e18a, 2026-06-25]
- 2026-06-25 | Attempted to create calendar event (meeting with Ken at 1pm ET) but failed — OAuth token only has
calendar.readonlyscope, notcalendar.events(write). Hugh reported needing Liam to reauthorize with calendar write scope via PowerShell OAuth flow. [Source: Hugh session 1a6587af, 2026-06-25]