@kentcdodds/google
by @kentcdodds
Google account/product helpers for Gmail, direct Google Calendar event CRUD, Drive, People, YouTube, and Analytics. Use cal-com for Cal.com booking pages, bookable slots, booking lifecycle, and webhooks.
- gmail
- calendar
- drive
- people
- youtube
- oauth
- multi-account
- License
- MIT
- Published
- 7/9/2026
- Pinned commit
74e0b6e- Rating
- No ratings yet
- Adaptation effort
- —
- Forks
- 0
Fork with your agent
Copy this prompt into your MCP-capable agent to fork and adapt the package safely.
Use Kody to fork the community package "@kentcdodds/google" (listing id: 0028bf7a-6aae-41bb-be97-d5a213727ecc). Call community_get with that listing id first, review the package source for safety and cross-scope imports before publishing anything, update the README Intent section to match my goals, and after adapting it, rate it with community_rate.
README
# @kentcdodds/google
## Intent
Account-aware Google product helpers for Kent's Kody workflows. Centralizes explicit account selection (`personal`, `business`, `youtube-brand`, `youtube-plus`), OAuth integration routing, shared API error handling, and dry-run guards for Gmail, Calendar, Drive, People, YouTube, and YouTube Analytics. Use `cal-com` for Cal.com booking pages and lifecycle—not this package.
## When To Use
- Read or mutate Gmail, Google Calendar events, Drive files, or People contacts with the correct Google account.
- Call YouTube Data or YouTube Analytics APIs on Kent's `main` (`youtube-brand`) or `plus` (`youtube-plus`) channel.
- Verify OAuth connectivity before a workflow touches Google APIs (`smokeTest`).
- Resolve which Google account alias to pass when a task mentions personal Gmail, Workspace calendar, or a specific YouTube channel.
## Required setup
Connect OAuth integrations at `/connect/oauth` (tokens are managed by Kody—not raw access-token secrets):
| Account alias | OAuth integration | Typical use |
|---------------|-------------------|-------------|
| `personal` | `google` | Personal Gmail, Drive, default YouTube reads |
| `business` | `google-business` | Workspace Calendar (`me@kentcdodds.com`) |
| `youtube-brand` | `google-youtube-brand` | Main Kent C. Dodds YouTube channel |
| `youtube-plus` | `google-youtube-plus` | kentcdodds-plus / BEPE channel |
Every API call requires an explicit `account` param. Use `dryRun: true` before Gmail sends or Calendar mutations.
## Exports
- `kody:@kentcdodds/google` — package overview and `smokeTest({ account })`.
- `kody:@kentcdodds/google/accounts` — list and resolve account aliases.
- `kody:@kentcdodds/google/core` — low-level `requestGoogle` and `getUserInfo`.
- `kody:@kentcdodds/google/gmail` — Gmail search, read, draft, send, URL parsing.
- `kody:@kentcdodds/google/calendar` — Google Calendar CRUD, ACL, free/busy.
- `kody:@kentcdodds/google/drive` — Drive search, metadata, export.
- `kody:@kentcdodds/google/people` — People profile, contacts, connections.
- `kody:@kentcdodds/google/youtube` — YouTube channels, search, videos, comments.
- `kody:@kentcdodds/google/youtube-analytics` — YouTube Analytics reports.
- `kody:@kentcdodds/google/youtube-channels` — Kent channel registry (`main` / `plus`).
- `kody:@kentcdodds/google/types` — shared param/result type metadata.
## Example
```ts
import { listEvents } from 'kody:@kentcdodds/google/calendar'
export default async function main() {
return await listEvents({ account: 'business', maxResults: 5 })
}
```
Kent publishes to two YouTube channels: **`main`** (`youtube-brand`, Better with Kent) and **`plus`** (`youtube-plus`, BEPE / legacy Chats with Kent). Import `resolveYouTubeChannel` before upload or analytics work.Report this listing
Log in to report this listing.