View as Markdown
Cal.com icon

Cal.com ACTION

Create Booking

Create a new booking. See the documentation
  • Action
  • Writes data
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Cal.com account once, then configure and run Create Booking from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "cal_com-create-booking",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    cal_com: { authProvisionId: "apn_xxxxxxx" },
    bookingType: "Booking Type",
    attendeeName: "Attendee Name",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Create Booking inputs
Property Type Description
bookingType Booking Type string
Type of booking to create. Use booking for a standard booking, instant for an instant team booking, or recurring to create multiple occurrences.
Required
attendeeName Attendee Name string
Full name of the attendee.
Required
attendeeEmail Attendee Email string
Email address of the attendee. Required unless Attendee Phone Number is provided.
Optional
attendeeTimeZone Attendee Time Zone string
Time zone of the attendee, e.g. America/New_York.
Required
attendeeLanguage Attendee Language string
Language for the booking confirmation.
Optional
attendeePhoneNumber Attendee Phone Number string
Phone number in international format, e.g. +919876543210. Can be used instead of Attendee Email as the contact method. Required when the event type has SMS reminders enabled.
Optional
eventTypeId Event Type ID integer
The identifier of the event type
Optional Dynamic
eventTypeSlug Event Type Slug string
Slug of the event type. Use with Username or Team Slug as an alternative to Event Type ID.
Optional
username Username string
Username of the individual event owner. Required when using Event Type Slug for a personal event type.
Optional
teamSlug Team Slug string
Team slug. Required when using Event Type Slug for a team event type.
Optional
organizationSlug Organization Slug string
Organization slug. Optional when using slug-based event type identification.
Optional
start Start Time (UTC) string
Booking start time in ISO 8601 UTC format, e.g. 2024-08-13T09:00:00Z.
Required
endTime End Time string
Booking end time in ISO 8601 format. Optional — Cal.com derives end time from event type duration by default.
Optional
lengthInMinutes Length (Minutes) integer
Override the event type's default duration in minutes.
Optional
guests Guests string[]
Additional guest email addresses to invite.
Optional
location Location Type string
Meeting location type. attendeeAddress requires Address, attendeeDefined requires Location, attendeePhone requires Phone Number, and integration requires Integration.
Optional
locationAddress Address string
Used only if Location Type is attendeeAddress. Physical address provided by the attendee.
Optional
locationValue Location string
Used only if Location Type is attendeeDefined. Location string defined by the attendee.
Optional
locationPhone Phone Number string
Used only if Location Type is attendeePhone. Phone number in international format, e.g. +919876543210.
Optional
locationIntegration Integration string
Used only if Location Type is integration. Video conferencing integration to use for this booking.
Optional
recurrenceCount Recurrence Count integer
Used only if Booking Type is recurring. Number of occurrences. Cannot exceed the event type's maximum recurrence count.
Optional
metadata Metadata object
Custom key-value metadata, e.g. { "source": "website", "campaignId": "abc-123" }. Max 50 keys; key names ≤ 40 chars, values ≤ 500 chars.
Optional
bookingFieldsResponses Booking Fields Responses object
Responses to custom booking form fields keyed by field slug, e.g. { "company-name": "Acme Inc", "team-size": "10-50" }.
Optional
allowConflicts Allow Conflicts boolean
Bypass availability checks and allow double-booking. Host use only.
Optional
allowBookingOutOfBounds Allow Booking Out of Bounds boolean
Allow booking outside the event type's scheduling window. Host use only.
Optional
emailVerificationCode Email Verification Code string
Required when the event type has email verification enabled.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
cal_com-create-booking
Version
1.0.1
App
Cal.com
Authentication
API key
Read-only
No
Destructive
No
Open world
Yes