Using Google Workspace
Practical guide for working with Google Workspace (Gmail, Calendar, Drive, Sheets, Docs) through Fp Switchboard.
Quick Tips
Section titled “Quick Tips”- Calendar events must specify timezone (IANA format like
America/Toronto) - Never mix
dateanddateTimefields in calendar events - Gmail thread IDs are user-specific — sender and recipient have different IDs
- Drive file IDs must be extracted from URLs, never guessed
- Sheets uses A1 notation (e.g.,
Sheet1!A1:D10) - Drive search accepts natural language OR Drive API syntax for precision
Common Gotchas
Section titled “Common Gotchas”Calendar Timezone Required Critical
Section titled “Calendar Timezone Required ”All calendar events must specify timeZone. Omitting it causes events to appear at wrong times.
| Example | |
|---|---|
| Wrong | {"start": {"dateTime": "2025-01-15T14:00:00"}} |
| Correct | {"start": {"dateTime": "2025-01-15T14:00:00-05:00"}, "timeZone": "America/Toronto"} |
date vs dateTime Fields Critical
Section titled “date vs dateTime Fields ”Use date for all-day events, dateTime for timed events. Never mix them in the same event.
| Example | |
|---|---|
| Wrong | {"start": {"date": "2025-01-15", "dateTime": "2025-01-15T14:00:00"}} |
| Correct | {"start": {"dateTime": "2025-01-15T14:00:00-05:00"}} |
Gmail Thread IDs are User-Specific Critical
Section titled “Gmail Thread IDs are User-Specific ”The same email conversation has different thread IDs for sender vs recipient. Never share thread IDs across users. Always search for threads within the same user context.
Drive File ID Extraction Critical
Section titled “Drive File ID Extraction ”Extract the 33-character alphanumeric File ID from URLs. Never guess or construct IDs.
URL: docs.google.com/document/d/{FILE_ID}/editExample: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upmsSheets A1 Notation Important
Section titled “Sheets A1 Notation ”Sheet names with spaces need single quotes in range references.
| Example | |
|---|---|
| Wrong | range: "My Sheet!A1:D10" |
| Correct | range: "'My Sheet'!A1:D10" |
Drive Search Syntax Important
Section titled “Drive Search Syntax ”drive_search accepts natural language (auto-converted) OR native Drive API syntax for precise control.
- Natural language:
"budget report 2025"(simple, works most of the time) - Precise:
name contains 'budget' and mimeType = 'application/pdf' - Combined:
name contains 'Q1' and mimeType = 'application/pdf' and modifiedTime > '2025-01-01'
Multi-Step Patterns
Section titled “Multi-Step Patterns”Create Calendar Event with Attendees
Section titled “Create Calendar Event with Attendees”- Resolve attendee emails if only names provided
- Create event with
sendUpdates: "all"to notify attendees - Store returned
eventIdfor future modifications
Find and Edit a Document
Section titled “Find and Edit a Document”- Use
drive_searchwith the filename or descriptive terms - Extract the file ID from the response
- Use docs/sheets/slides tools with that ID
Advanced Drive Search
Section titled “Advanced Drive Search”- Start with natural language:
drive_search("quarterly report") - If too broad, add type filter:
name contains 'quarterly' and mimeType = 'application/vnd.google-apps.spreadsheet' - For date filtering:
modifiedTime > '2025-01-01' - Combine:
name contains 'budget' and mimeType = 'application/pdf' and modifiedTime > '2025-01-01'
ID Format Reference
Section titled “ID Format Reference”| ID Type | Format | Example |
|---|---|---|
| File ID | 33-char alphanumeric | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms |
| Thread ID | Hexadecimal string | 17c5a9b8e3f2d1a0 |
| Event ID | Base32-like string | ck4t8g9h5n8s3k2j1m0 |
| Message ID | Hexadecimal string | 18a5b2c3d4e5f6a7 |
Example Prompts
Section titled “Example Prompts”- “Create a meeting tomorrow at 2pm EST with john@company.com”
- “Search Drive for the Q4 budget spreadsheet”
- “Send an email to the team about the project update”
- “List my unread Gmail messages from this week”
- “Find all PDF files in Drive modified this month”
Rate Limits
Section titled “Rate Limits”Google Workspace APIs have per-service rate limits:
| Service | Limit |
|---|---|
| Gmail | 250 quota units/second |
| Calendar | 500 requests/100 seconds |
| Drive | 12,000 requests/minute |
| Sheets | 300 requests/minute |