Scheduling
Cal.com
API integration
Ship Scheduling features without building the integration. Full Cal.com API access via Proxy, normalized data through Unified APIs, and 20+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Cal.com
Common scenarios for SaaS companies building Cal.com integrations for their customers.
Embed scheduling natively in your ATS or CRM
Let your users create interview slots or sales meeting links directly from your app without switching to Cal.com. Truto handles auth and API complexity so you can ship the integration in days, not weeks.
Automate booking creation from workflow triggers
When a candidate moves to an interview stage or a deal reaches a demo phase, your app can programmatically create bookings via Cal.com and surface the meeting URL inline — no manual copy-pasting required.
Sync team rosters for accurate round-robin routing
Keep your internal user groups (sales pods, support tiers, recruiting panels) mirrored with Cal.com Teams so round-robin and routing logic stays accurate without manual double-entry by your end users.
Surface real-time availability inside your product
Fetch schedules and event type configurations from Cal.com to render available time slots in your own UI, enabling white-labeled booking experiences for telehealth, coaching, or marketplace platforms.
Log meeting activity back to your system of record
Pull booking data — attendees, duration, status, cancellation reasons — into your app's activity timeline for reporting, no-show detection, and engagement scoring without your users lifting a finger.
What You Can Build
Ship these features with Truto + Cal.com
Concrete product features your team can ship faster by leveraging Truto’s Cal.com integration instead of building from scratch.
One-click interview scheduling from pipeline stages
Automatically create a Cal.com event type and share the booking link when a recruiter moves a candidate into an interview column, then pull the confirmed meeting URL back into the candidate profile.
White-labeled availability picker
Read schedules and event type slot configurations via the Unified Calendar API to render a fully branded time-slot selector inside your own app, with no Cal.com UI exposed to end users.
Automated schedule provisioning for new users
When a service provider, sales rep, or clinician is onboarded in your platform, programmatically create their Cal.com schedule and standard event types with preset durations, locations, and pricing.
Team roster sync with Cal.com Teams
Mirror your app's user groups to Cal.com Teams in real time — add or remove members, update branding, and manage privacy settings so routing pools are always current.
Meeting activity dashboard with no-show detection
Aggregate booking data across all connected Cal.com accounts to surface meeting counts, durations, cancellation reasons, and no-show rates on a single analytics view inside your product.
Paid consultation setup at onboarding
Create event types with price and currency fields pre-filled so marketplace or coaching platforms can instantly enable paid bookings for new providers without manual Cal.com configuration.
SuperAI
Cal.com AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_calcom_schedules
Get all schedules of the authenticated user in Cal.com. Returns schedule id, ownerId, name, timeZone, availability with days and times, isDefault flag, and overrides with date and times.
get_single_calcom_schedule_by_id
Get schedule details by id in Cal.com. Returns id, ownerId, name, timeZone, availability (days, startTime, endTime), isDefault, and overrides (date, startTime, endTime).
create_a_calcom_schedule
Create a schedule with name, timeZone, availability, and isDefault for the authenticated user in Cal.com. Returns id, ownerId, name, timeZone, availability, isDefault, and overrides fields.
update_a_calcom_schedule_by_id
Update a schedule by id in Cal.com. Requires scheduleId. Returns updated schedule fields including name, timeZone, availability (days, startTime, endTime), isDefault, and overrides (date, startTime, endTime).
delete_a_calcom_schedule_by_id
Delete a schedule by id in Cal.com. Returns status indicating success or error.
list_all_calcom_calendars
Get all calendars connected to Cal.com. Returns connectedCalendars array with integration details, credentialId, primary calendar info, and calendars list. Also returns destinationCalendar with id, integration, userId, and name.
list_all_calcom_event_types
Get all event types in Cal.com. Returns id, title, description, lengthInMinutes, locations, bookingFields, price, currency, and other event details.
get_single_calcom_event_type_by_id
Get event type by id in Cal.com. Returns id, lengthInMinutes, title, slug, description, locations, bookingFields, disableGuests, recurrence, price, currency, isInstantEvent, scheduleId, ownerId, and users fields.
create_a_calcom_event_type
Create an event type in Cal.com with required parameters lengthInMinutes, title, and slug. Returns id, title, slug, description, locations, bookingFields, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, price, currency, scheduleId, bookingLimitsCount, bookingLimitsDuration, bookingWindow, bookerLayouts, confirmationPolicy, requiresBookerEmailVerification, hideCalendarNotes, lockTimeZoneToggleOnBookingPage, color, seats, offsetStart, customName, destinationCalendar, useDestinationCalendarEmail, hideCalendarEventDetails, hideOrganizerEmail, calVideoSettings, ownerId, and users.
update_a_calcom_event_type_by_id
Update an event type by id in Cal.com. Returns updated event type fields including id, lengthInMinutes, title, slug, description, locations, bookingFields, disableGuests, slotInterval, minimumBookingNotice, beforeEventBuffer, afterEventBuffer, recurrence, price, currency, scheduleId, bookingLimitsCount, bookingLimitsDuration, bookingWindow, bookerLayouts, confirmationPolicy, requiresBookerEmailVerification, hideCalendarNotes, color, seats, offsetStart, customName, destinationCalendar, useDestinationCalendarEmail, hideCalendarEventDetails, hideOrganizerEmail, calVideoSettings, ownerId, and users.
delete_a_calcom_event_type_by_id
Delete an event type by id in Cal.com. Returns the deleted event type's id, lengthInMinutes, title, and slug.
list_all_calcom_teams
Get list of teams in Cal.com. Returns teams array with team details.
get_single_calcom_team_by_id
Get a team by id in Cal.com. Returns id, parentId, name, slug, logoUrl, bio, privacy settings, metadata, theme, brand colors, bannerUrl, timeFormat, timeZone, and weekStart.
create_a_calcom_team
Create a team in Cal.com with required name. Returns status and data of the created team.
update_a_calcom_team_by_id
Update a team by id in Cal.com. Returns updated team fields including id, parentId, name, slug, logoUrl, calVideoLogo, appLogo, appIconLogo, bio, hideBranding, isOrganization, isPrivate, hideBookATeamMember, metadata, theme, brandColor, darkBrandColor, bannerUrl, timeFormat, timeZone, and weekStart.
delete_a_calcom_team_by_id
Delete a team by id in Cal.com. Requires id. Returns status 200 on success.
list_all_calcom_bookings
Get all bookings in Cal.com. Returns id, uid, title, description, hosts, status, cancellationReason, start, end, duration, eventTypeId, meetingUrl, location, createdAt, updatedAt, attendees, guests, and rating fields.
get_single_calcom_booking_by_id
Get booking details by id in Cal.com. Returns fields including id, uid, title, description, hosts, status, cancellationReason, reschedulingReason, start, end, duration, eventType, meetingUrl, location, attendees, and guests.
create_a_calcom_booking
Create a booking with start time and attendee details in Cal.com. Provide eventTypeId or eventTypeSlug with username/teamSlug and optionally organizationSlug. Returns booking id, uid, title, hosts, status, start, end, duration, eventTypeId, meetingUrl, location, metadata, attendees, guests, and bookingFieldsResponses.
list_all_calcom_schedule
Get all schedules in Cal.com. Returns schedules with id, userId, name, timeZone, and availability including days, startTime, and endTime.
Why Truto
Why use Truto’s MCP server for Cal.com
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Cal.com
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified Calendar API
How It Works
From zero to integrated
Go live with Cal.com in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Cal.com account
Use Truto’s frontend SDK to connect your customer’s Cal.com account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Cal.com
Truto’s Proxy API is a 1-to-1 mapping of the Cal.com API. You call us, we call Cal.com, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Cal.com’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Cal.com on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Cal.com integration use?
Cal.com supports API key-based authentication. Your end users provide their Cal.com API key, and Truto securely stores and manages it so your app never has to handle credentials directly.
Which Cal.com resources can I read and write through Truto?
You get full CRUD on Schedules, Event Types, Teams, and Bookings (create and list). You can also list Calendars connected to a Cal.com account. These map to Truto's Unified Calendar API covering Availability, Calendars, Event Types, and Events.
Can I create bookings on behalf of my end users' attendees?
Yes. The create_a_calcom_booking tool lets you specify the eventTypeId, start time, and attendee details, so your app can book meetings programmatically without the attendee visiting a Cal.com page.
Does Truto handle pagination when listing bookings or event types?
Yes. Truto abstracts away Cal.com's pagination logic. When you call list endpoints like list_all_calcom_bookings or list_all_calcom_event_types, Truto manages cursor or page-based pagination automatically and returns consistent responses.
Can I manage availability overrides like vacation days or blocked hours?
Yes. Cal.com schedules include date-specific overrides alongside regular weekly availability. You can read and write these overrides using the schedule CRUD tools (create, update, get, delete) to block dates or modify hours for specific days.
How does the Unified Calendar API map to Cal.com-specific objects?
Truto's Unified Calendar API maps Availability to Cal.com Schedules, Calendars to connected Cal.com Calendars, Event Types directly to Cal.com Event Types, and Events to Cal.com Bookings. This lets you write integration code once and support additional scheduling tools later.
From the Blog
Cal.com integration guides
Deep dives, architecture guides, and practical tutorials for building Cal.com integrations.
Cal.com
Get Cal.com integrated into your app
Our team understands what it takes to make a Cal.com integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us