Skip to content

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 us
Cal.com

Use Cases

Why integrate with Cal.com

Common scenarios for SaaS companies building Cal.com integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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

Availability

Represents the availability of a person in a time period.

View Docs

Calendars

Represents a calendar of a user. Can have multiple events associated with it.

View Docs

Event Types

View Docs

Events

Events are the time-bound tasks that are associated with a calendar.

View Docs

How It Works

From zero to integrated

Go live with Cal.com in under an hour. No boilerplate, no maintenance burden.

01

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.

02

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.

03

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.

04

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.

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