
Calendar
- 58 installs
- 44 repo stars
- Updated July 8, 2026
- aviz85/claude-skills-library
calendar is a Claude Code skill that reads and manages Google Calendar events through a Google Apps Script web-app API.
About
A Claude Code skill that reads and manages Google Calendar events through a Google Apps Script web-app API. It supports querying today's, this week's, upcoming, and date-range events, and creating events with guests, description, and location. A developer sets up an Apps Script deployment with a secret token, then calls it via curl to check schedules or add meetings.
- Google Calendar integration via a Google Apps Script web-app API
- Query today, week, upcoming, and range events; create events with guest invites
- Setup deploys an Apps Script web app with a token-guarded endpoint
Calendar by the numbers
- 58 all-time installs (skills.sh)
- Ranked #1,566 of 3,280 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
calendar capabilities & compatibility
Free Google Apps Script deployment; requires a Google account and a secret token you set.
- Capabilities
- project management
- Works with
- google drive
- Use cases
- project management
- Pricing
- Free
What calendar says it does
Google Calendar integration via Apps Script API.
Check and manage calendar events via Google Apps Script API.
npx skills add https://github.com/aviz85/claude-skills-library --skill calendarAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 58 |
|---|---|
| repo stars | ★ 44 |
| Last updated | July 8, 2026 |
| Repository | aviz85/claude-skills-library ↗ |
What it does
Check schedule or create Google Calendar events with guest invites via a token-guarded Apps Script API.
Who is it for?
Checking availability and creating calendar events with guest invites from Claude Code.
Skip if: Calendar providers other than Google, since it is built on Google Apps Script.
When should I use this skill?
You need to check your schedule, today's or weekly events, or add a calendar event.
What you get
Calendar events queried or created via the Apps Script API, with optional guest invites.
- Queried calendar events
- Created calendar events with optional invites
By the numbers
- 5 API actions (today/week/upcoming/range/create)
- default upcoming window 4 hours
Files
Google Calendar Integration
First time? Ifsetup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Check and manage calendar events via Google Apps Script API.
Workflow
1. Check availability - Query today/week/upcoming events 2. Create events - Add with title, time, description, guests 3. Send invites - Use guests param to auto-send calendar invites
API Actions
| Action | Description | Params |
|---|---|---|
today | Today's events | - |
week | This week's events | - |
upcoming | Next N hours | hours (default: 4) |
range | Date range | start, end (ISO dates) |
create | Create event | title, start, end, guests, description, location |
Examples
# Today's events
curl "$URL?action=today&token=$TOKEN"
# Create meeting with guest invite
curl "$URL?action=create&title=Meeting&start=2026-01-15T10:00:00&end=2026-01-15T11:00:00&guests=email@example.com&token=$TOKEN"Response Format
{
"count": 1,
"events": [
{
"title": "Meeting Name",
"start": "2026-01-04T09:00:00.000Z",
"end": "2026-01-04T10:00:00.000Z",
"location": "Zoom link or address",
"isAllDay": false
}
]
}Integration
Works with other skills:
- zoom-meeting - Check conflicts before scheduling
- whatsapp - Notify contacts about calendar invites
Setup with Clasp
Clasp is Google's official CLI for managing Apps Script projects.
Install Clasp
npm install -g @google/claspLogin to Google
clasp loginThis opens a browser for Google authentication.
Create New Apps Script Project
# Create a new project
clasp create --title "Calendar API" --type webapp
# This creates:
# - .clasp.json (project config)
# - appsscript.json (manifest)Push Code to Google
# Copy calendar-api.gs to your project folder as Code.gs
cp references/calendar-api.gs Code.gs
# Push to Google Apps Script
clasp pushDeploy as Web App
# Deploy
clasp deploy --description "Calendar API v1"
# Get deployment URL
clasp deploymentsOr deploy via web: 1. Run clasp open to open in browser 2. Click Deploy → New deployment 3. Select type: Web app 4. Execute as: Me 5. Who has access: Anyone 6. Click Deploy 7. Copy the Web App URL
Update Code
# After editing Code.gs locally
clasp push
# Redeploy
clasp deploy --description "Updated version"Project Structure
calendar-clasp/
├── .clasp.json # Project ID (auto-generated)
├── appsscript.json # Manifest
└── Code.gs # Your code (copy from calendar-api.gs)appsscript.json
{
"timeZone": "Asia/Jerusalem",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"webapp": {
"executeAs": "USER_DEPLOYING",
"access": "ANYONE"
}
}Configuration
After deployment, update the AUTH_TOKEN in the code:
const AUTH_TOKEN = 'your-secret-token-here';Then push and redeploy.
Useful Commands
clasp login # Authenticate
clasp logout # Sign out
clasp create # New project
clasp clone <id> # Clone existing project
clasp pull # Download from Google
clasp push # Upload to Google
clasp open # Open in browser
clasp deploy # Create deployment
clasp deployments # List deployments
clasp undeploy <id> # Remove deployment
clasp logs # View execution logsTroubleshooting
"Script API not enabled"
1. Go to https://script.google.com/home/usersettings 2. Enable "Google Apps Script API"
"Permission denied"
- Make sure you deployed with "Anyone" access
- Check AUTH_TOKEN matches
"Not found"
- Use the correct deployment URL (ends with /exec)
- Not the script URL
Calendar Skill - Setup Guide
Prerequisites
- Google account
- Node.js installed
claspCLI tool
1. Install Clasp
npm install -g @google/clasp
clasp login2. Create Apps Script Project
mkdir calendar-api && cd calendar-api
clasp create --title "Calendar API" --type webapp3. Add the Code
Copy the code from calendar-api.gs to Code.gs:
// Key parts of the code:
const SECRET_TOKEN = 'your_secret_token_here'; // Change this!
function doGet(e) {
// Handles: today, week, upcoming, range, create
// See full code in references/calendar-api.gs
}4. Deploy
# Push code
clasp push
# Deploy as web app
clasp deploy --description "v1"
# Get the URL
clasp deploymentsImportant: Set "Execute as: Me" and "Access: Anyone" in deployment settings.
5. Save Credentials
Note your:
- URL:
https://script.google.com/macros/s/XXX/exec - Token: The secret you set in the code
6. Test
URL="https://script.google.com/macros/s/XXX/exec"
TOKEN="your_secret_token"
# Test today's events
curl "$URL?action=today&token=$TOKEN"Update Existing Deployment
# Get deployment ID
clasp deployments
# Update
clasp deploy -i DEPLOYMENT_ID --description "v2"Troubleshooting
| Issue | Solution |
|---|---|
| 401 error | Check token matches |
| Redirect loop | Use -L with curl |
| No events | Check calendar permissions |
| Guests not invited | Ensure sendInvites: true in code |
References
- calendar-api.gs - The Apps Script code
- clasp-setup.md - Detailed clasp guide
Related skills
FAQ
How does it connect to Google Calendar?
Through a Google Apps Script web app deployed as a token-guarded API endpoint.
What actions are supported?
today, week, upcoming, range, and create events with guests, description, and location.