Community packages

@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.

  • google
  • 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.