Communication
calendly
Calendly scheduling integration.
---
name: calendly
description: Calendly scheduling integration. List events, check availability, manage meetings via Calendly API.
---
# Calendly Skill
Interact with Calendly scheduling via MCP-generated CLI.
> **Note:** Scheduling API features (list-event-types, get-event-type-availability, schedule-event) will be available once calendly-mcp-server v2.0.0 is published to npm. Current CLI uses v1.0.0 for portability.
## Quick Start
```bash
# Get your Calendly profile (returns user URI)
calendly get-current-user
# List RECENT events (always use --min-start-time for recent queries!)
calendly list-events --user-uri "<YOUR_USER_URI>" --min-start-time "2026-01-20T00:00:00Z"
# Get event details
calendly get-event --event-uuid <UUID>
# Cancel an event
calendly cancel-event --event-uuid <UUID> --reason "Rescheduling needed"
```
## Available Commands
### User Info
- `get-current-user` - Get authenticated user details
### Events
- `list-events` - List scheduled events (requires --user-uri)
- `get-event` - Get event details (requires --event-uuid)
- `cancel-event` - Cancel an event (requires --event-uuid, optional --reason)
### Invitees
- `list-event-invitees` - List invitees for an event (requires --event-uuid)
### Organization
- `list-organization-memberships` - List organization memberships
## Configuration
API key can be stored in your environment or `.env` file:
```bash
export CALENDLY_API_KEY="<your-pat-token>"
# Or in ~/.moltbot/.env or ~/.clawdbot/.env
```
Get your Personal Access Token from: https://calendly.com/integrations/api_webhooks
## Usage in Moltbot
When user asks about:
- "What meetings do I have?" → `list-events` with `--min-start-time` (use recent date!)
- "Cancel my 2pm meeting" → Find with `list-events` (time-filtered), then `cancel-event`
- "Who's attending X meeting?" → `list-event-invitees`
**Note:** First time, run `calendly get-current-user` to obtain your User URI.
## Getting Your User URI
Run `calendly get-current-user` to get your user URI. Example:
```json
{
"resource": {
"uri": "https://api.calendly.com/users/<YOUR_USER_UUID>",
"scheduling_url": "https://calendly.com/<your-username>"
}
}
```
## Examples
```bash
# List next 10 events
calendly list-events \
--user-uri "<YOUR_USER_URI>" \
-o json | jq .
# Get event details
calendly get-event \
--event-uuid "<EVENT_UUID>" \
-o json
# Cancel with reason
calendly cancel-event \
--event-uuid "<EVENT_UUID>" \
--reason "Rescheduling due to conflict"
```
## Coming Soon: Scheduling API (v2.0)
Once calendly-mcp-server v2.0.0 is published, these commands will be available:
### Scheduling Workflow
```bash
# 1. List available event types
calendly list-event-types
# 2. Check availability for a specific event type
calendly get-event-type-availability --event-type "<EVENT_TYPE_URI>"
# 3. Schedule a meeting (requires paid Calendly plan)
calendly schedule-event \
--event-type "<EVENT_TYPE_URI>" \
--start-time "2026-01-25T19:00:00Z" \
--invitee-email "[email protected]" \
--invitee-name "John Smith" \
--invitee-timezone "America/New_York"
```
**Scheduling API Requirements:**
- calendly-mcp-server v2.0.0+ (unreleased as of 2026-01-21)
- Paid Calendly plan (Standard or higher)
To upgrade when v2.0 is published:
```bash
cd ~/clawd/skills/calendly
MCPORTER_CONFIG=./mcporter.json npx mcporter@latest generate-cli --server calendly --output calendly
```
## Important: Time Filtering
**Always use `--min-start-time` when querying recent events!**
The API returns events oldest-first by default and doesn't support pagination via CLI. Without a time filter, you'll get events from years ago.
```bash
# Last 7 days
calendly list-events --user-uri "<URI>" --min-start-time "$(date -u -d '7 days ago' +%Y-%m-%dT00:00:00Z)"
# This week
calendly list-events --user-uri "<URI>" --min-start-time "2026-01-20T00:00:00Z" --max-start-time "2026-01-27T23:59:59Z"
# Future events only
calendly list-events --user-uri "<URI>" --min-start-time "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
```
## Notes
- All times in API responses are UTC (convert to Pacific for display)
- Event UUIDs are found in `list-events` output
- OAuth tools available but not needed with Personal Access Token
- No pagination support in CLI - use time filters instead
---
**Generated:** 2026-01-20
**Updated:** 2026-01-21 (Portable CLI with npm v1.0.0; v2.0 scheduling features pending upstream publish)
**Source:** meAmitPatil/calendly-mcp-server via mcporter
communication
By
Comments
Sign in to leave a comment