Install
npx skillscat add cowork-os/cowork-os/calendly Install via the SkillsCat registry.
SKILL.md
Calendly ๐
Manage scheduling via the Calendly API v2. View meetings, check availability, manage invitees, create booking links, and configure webhooks โ all from CoWork OS.
Overview
Full read/write access to Calendly's scheduling platform. Uses a Personal Access Token (no OAuth flow required).
Setup
- Go to https://calendly.com/integrations/api_webhooks
- Click "Generate New Token"
- Store it:
mkdir -p ~/.config/calendly
echo "YOUR_TOKEN" > ~/.config/calendly/api_tokenAPI Coverage
| Resource | Operations |
|---|---|
| User Profile | Get current user, timezone, organization |
| Event Types | List all, get details, filter active/inactive |
| Scheduled Events | List upcoming/past/cancelled, filter by date range |
| Invitees | List per event, view details, custom question answers, UTM tracking |
| Cancellation | Cancel with reason, preserve event record |
| No-Shows | Mark/unmark invitees as no-show |
| One-Off Links | Create single-use booking URLs |
| Availability | List schedules, view rules, check busy times, calculate free slots |
| Webhooks | Create/list/delete subscriptions for booking events |
| Organization | List members, roles |
| Pagination | All list endpoints, up to 100 per page |
Common Workflows
| User Says | What Happens |
|---|---|
| "What meetings do I have this week?" | Query upcoming events, fetch invitees, format as daily agenda |
| "Who's my next meeting with?" | Next event + invitee details + location |
| "Cancel my 3pm meeting tomorrow" | Find event by time, POST cancellation with reason |
| "Create a one-time booking link" | POST to scheduling_links with max_event_count: 1 |
| "When am I free this week?" | Busy times subtracted from availability windows |
| "How many meetings last month?" | Count + group by type + total hours |
| "Show my scheduling links" | Active event types with URLs and durations |
| "Set up a webhook for new bookings" | POST webhook subscription for invitee.created |
Output Format
๐
This Week's Meetings
Monday, Feb 24
2:30 PM โ 3:00 PM Discovery Call
โณ John Smith <john@example.com> | Zoom
4:00 PM โ 4:30 PM Team Sync
โณ Sarah Lee <sarah@example.com> | Google Meet
Tuesday, Feb 25
No meetings
Wednesday, Feb 26
10:00 AM โ 10:30 AM Product Demo
โณ Alex Chen <alex@company.com> | Zoom
โณ Q: "What features interest you?" A: "API integrations"
3 meetings this week | 1.5 hours totalWebhook Events
| Event | Fires When |
|---|---|
invitee.created |
Someone books a meeting |
invitee.canceled |
Someone cancels a booking |
invitee_no_show.created |
Invitee marked as no-show |
routing_form_submission.created |
Routing form submitted |
Comparison with ClawHub Version
| Feature | ClawHub (v1.0.3) | CoWork OS |
|---|---|---|
| Auth | Managed OAuth | Personal Access Token (simpler, no OAuth flow) |
| Event types | Yes | Yes โ with formatted output and active/inactive filtering |
| Scheduled events | Yes | Yes โ upcoming, past, cancelled, date range filtering, sorted |
| Invitees | Yes | Yes โ with custom Q&A, UTM tracking, no-show status |
| Availability | Yes | Yes โ schedules + busy times + free slot calculation |
| Cancellation | Not mentioned | Cancel with reason, preserving event record |
| No-shows | Not mentioned | Mark/unmark no-shows |
| One-off links | Not mentioned | Create single-use booking URLs |
| Webhooks | "Manage webhooks" | Full CRUD + event reference table |
| Organization | Not mentioned | List members and roles |
| Pagination | Not mentioned | Documented with count/page_token/sort params |
| Workflows | Not documented | 8 step-by-step recipes |
| Output formatting | Not documented | Timezone-aware daily agenda format with example |
| Setup guide | Managed OAuth | 3-step token setup with verification command |
Notes
- Rate limit: 100 requests per 10 seconds per user
- All times UTC in API responses โ convert to user's timezone
- UUIDs are embedded in URI strings โ extract from the end
- Cancellation is a POST (not DELETE) โ preserves the event record
active: falseevent types are disabled/hidden links- Webhook retries use exponential backoff