Calendly API - Scheduling & Booking Automation
Pricing
from $0.01 / 1,000 results
Calendly API - Scheduling & Booking Automation
Automate your Calendly scheduling with the official API. List event types, manage scheduled events, check availability, sync invitee data, and create webhook subscriptions. Perfect for CRM integration, appointment automation, and availability management.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

John Rippy
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
API Integration
This actor connects to an external API service. You'll need valid API credentials from the service provider.
API Integration
This actor connects to an external API service. You'll need valid API credentials from the service provider.
Automate Calendly scheduling workflows. List event types, manage scheduled events, check availability, get user info, and sync booking data. Perfect for CRM integration, appointment automation, and availability management.
Features
User & Organization
- Get Current User - Retrieve authenticated user info
- List Organization Memberships - Get org members and roles
- Get Organization Membership - Retrieve specific membership
Event Types
- List Event Types - Get all your event types (meetings, calls, etc.)
- Get Event Type - Retrieve specific event type details
Scheduled Events
- List Scheduled Events - Query upcoming/past bookings
- Get Scheduled Event - Retrieve event details
- Cancel Scheduled Event - Cancel with optional reason
Invitees
- List Event Invitees - Get invitees for a scheduled event
- Get Invitee - Retrieve invitee details
Availability
- List Available Times - Get open slots for an event type
- List Busy Times - Get user's busy periods
Routing Forms
- List Routing Forms - Get routing forms for qualification
- Get Routing Form - Retrieve form details
- List Routing Form Submissions - Get form responses
Webhooks
- List Webhooks - Get webhook subscriptions
- Create Webhook - Subscribe to events (invitee.created, etc.)
- Delete Webhook - Remove subscription
Quick Start
{"input": "your input here"}
Demo Mode
Set demoMode: true to test with sample data (no charges). When you're ready for real results, set demoMode: false or omit it.
{"demoMode": true,...}
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| task | string | Yes | Operation to perform |
| accessToken | string | Yes* | Personal access token (*not needed for demoMode) |
| userUri | string | No | User URI for filtering |
| organizationUri | string | No | Organization URI |
| eventTypeUri | string | No | Event type URI |
| scheduledEventUri | string | No | Scheduled event URI |
| inviteeUri | string | No | Invitee URI |
| startTime | string | No | Start time (ISO 8601) |
| endTime | string | No | End time (ISO 8601) |
| status | string | No | Event status (active/canceled) |
| cancelReason | string | No | Reason for cancellation |
| webhookCallbackUrl | string | No | URL for webhook delivery |
| webhookEvents | array | No | Events to subscribe to |
| maxResults | integer | No | Max results (default: 100) |
| resultWebhookUrl | string | No | URL to send results |
| demoMode | boolean | No | Run with sample data (default: true) |
Output Format
Results are saved to the default dataset:
User Info
{"task": "get_current_user","success": true,"user": {"uri": "https://api.calendly.com/users/XXXXXXXX","name": "John Smith","email": "john@company.com","scheduling_url": "https://calendly.com/johnsmith","timezone": "America/New_York","current_organization": "https://api.calendly.com/organizations/XXXXXXXX"}}
Event Types
{"task": "list_event_types","success": true,"eventTypes": [{"uri": "https://api.calendly.com/event_types/XXXXXXXX","name": "30 Minute Meeting","active": true,"duration": 30,"kind": "solo","scheduling_url": "https://calendly.com/johnsmith/30min"}],"total": 5}
Scheduled Events
{"task": "list_scheduled_events","success": true,"scheduledEvents": [{"uri": "https://api.calendly.com/scheduled_events/XXXXXXXX","name": "30 Minute Meeting","status": "active","start_time": "2025-01-15T10:00:00Z","end_time": "2025-01-15T10:30:00Z","location": {"type": "zoom","join_url": "https://zoom.us/j/123456789"}}],"total": 12}
Pricing
This actor uses pay-per-event billing: Pay-per-result pricing:
| Operation | Cost |
|---|---|
| Get user info | $0.01 |
| List event types | $0.02 |
| Get event type | $0.01 |
| List scheduled events | $0.02 |
| Get scheduled event | $0.01 |
| Cancel event | $0.02 |
| List invitees | $0.02 |
| List available times | $0.02 |
| List busy times | $0.01 |
| List org memberships | $0.01 |
| Routing form operations | $0.02 |
| Webhook operations | $0.02 |
Use Cases
CRM Integration
- Sync new bookings to Salesforce/HubSpot
- Update deal stages when meetings are scheduled
- Track meeting outcomes
Sales Automation
- Notify sales reps of new bookings
- Auto-qualify leads from routing forms
- Track booking conversion rates
Customer Success
- Monitor client meeting frequency
- Alert on cancellations
- Track onboarding calls
Operations
- Sync availability with other calendars
- Monitor team utilization
- Generate scheduling reports
Common Problems & Solutions
"Invalid API key" error
Cause: Your API key is wrong, expired, or doesn't have the right permissions. Fix: Double-check your API key. Make sure you copied it exactly without extra spaces.
"Rate limit exceeded" error
Cause: You've hit the API's rate limits. Fix: Wait a few minutes, then try again. Consider reducing the number of concurrent requests.
Empty or incomplete results
Cause: The target may have anti-scraping protection or the data doesn't exist. Fix:
- Check if the URL/search query is correct
- Try with different parameters
- Some sites may block automated access
Demo data showing instead of real results
Cause: demoMode is still set to true.
Fix: Set demoMode: false and provide your API key(s).
Built by John Rippy | Actor Arsenal