Google Services¶
Set up Gmail, Google Calendar, Google Drive, and Google Sheets access for your agent.
Prerequisites¶
- A Google Cloud project
- OAuth 2.0 credentials (Client ID + Client Secret)
Step 1: Create Google Cloud Credentials¶
- Go to Google Cloud Console
- Create a new project (or select an existing one)
- Enable the APIs you need:
- Gmail API
- Google Calendar API
- Google Drive API
- Google Sheets API
- Go to OAuth consent screen:
- User type: External, status: Testing
- Add your your agent's or your email as a test user
- Add these scopes:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/spreadsheets
- Go to Credentials → Create Credentials → OAuth 2.0 Client ID
- Application type: Desktop app
- Download the credentials (Client ID + Client Secret)
Note
You don't configure scopes in Vandelay. They're hardcoded and automatically requested during vandelay auth-google. You only need to add them to the consent screen in Google Cloud so the OAuth flow is permitted to request them.
Step 2: Configure Vandelay¶
Add your credentials to ~/.vandelay/.env:
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_PROJECT_ID=your-project-id
Step 3: Authenticate¶
This opens a browser (or prints a URL for headless servers) for OAuth consent. The token is saved to ~/.vandelay/google_token.json.
Headless Servers¶
On servers without a browser, auth-google prints a URL. Open it on any device, complete the consent flow, and paste the authorization code back into the terminal.
Step 4: Enable Google Tools¶
Available Google Tools¶
| Tool | Capabilities |
|---|---|
gmail | Read, send, search emails. HTML body support. |
googlecalendar | List, create, update, delete events |
googledrive | List, search, read, upload files |
googlesheets | Read, write, create spreadsheets |
Configuration¶
Set your calendar ID in config.json (defaults to "primary"):
Token Refresh¶
The OAuth token auto-refreshes. If it expires or is revoked, re-run vandelay auth-google.