v0.5.0 shipped everything; the current refresh token (the old Ava grant) predates the wider scope set, so the last mile is Google Cloud console work + a Reconnect + a live test. Everything through v0.4.0 works on the current token.
1 · Google Cloud (one-time, ~5 min)
2 · Reconnect
3 · Live-test the remainder (the scope-gated tools)
Context: shipped across v0.2.0–v0.5.0 (#1–#8); scope-gated tools return a readable insufficient authentication scopes — reconnect error until step 2.
🤖 Generated with Claude Code
v0.5.0 shipped everything; the current refresh token (the old Ava grant) predates the wider scope set, so the last mile is Google Cloud console work + a Reconnect + a live test. Everything through v0.4.0 works on the current token.
1 · Google Cloud (one-time, ~5 min)
http://127.0.0.1:<any port>/…redirects with no URI registration at all, port-proof for you and any org member.http://localhost:7870/plugins/google/oauth/callback+:7871(only works while the server is actually on those ports).GOOGLE_WORKSPACE_CLIENT_ID/GOOGLE_WORKSPACE_CLIENT_SECRETin Infisical (projectsecret-management, envprod) and paste into Settings ▸ Plugins ▸ Google on each instance.2 · Reconnect
gmail.modify,calendar,drive.readonly,contacts.readonly,contacts.other.readonly,documents. Token lands insecrets.yamlautomatically; effective immediately, no restart.3 · Live-test the remainder (the scope-gated tools)
contacts_search— ask the agent to find a known contact's email (checks both saved + auto-collected contacts).docs_create— "write X up as a doc"; confirm the doc appears in Drive with the content and the returned link opens.calendar_create_event— timed event with timezone + an all-day event; confirm both land on the primary calendar and that the tool refuses any attendee phrasing (schema has no attendees param).Context: shipped across v0.2.0–v0.5.0 (#1–#8); scope-gated tools return a readable
insufficient authentication scopes — reconnecterror until step 2.🤖 Generated with Claude Code