Cal.com
Scheduling integration · 37 node(s) including 1 trigger.
00Overview
Manage Cal.com bookings, event types, schedules, availability slots, teams, and webhooks
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting Cal.com
Add your credentials as a Flomation environment secret, then pick them in each node. The connection fields are:
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
${secrets.your_secret}.02Booking
Cal.com: Cancel Booking
scheduling/calcom/booking_cancel · Action
Cancel a Cal.com booking, optionally with a reason.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required | |
| Cancellation Reason | string | Shared with the attendee (optional) | |
| Cancel Subsequent (recurring) | boolean | Cancel all following bookings in a recurring series | |
| Seat UID | string | Required to cancel a single seat of a seated event (optional) |
Returns: id, result, tool_result, success, error
Cal.com: Confirm Booking
scheduling/calcom/booking_confirm · Action
Confirm a Cal.com booking that requires confirmation.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required |
Returns: id, result, tool_result, success, error
Cal.com: Create Booking
scheduling/calcom/booking_create · Action
Book a Cal.com event type for an attendee at a given start time.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required | The event type to book |
| Start Time | string | Required | 2026-07-10T09:00:00Z (ISO 8601, UTC) |
| Attendee Name | string | Required | |
| Attendee Email | string | Required | person@example.com |
| Attendee Time Zone | string | Required | Europe/London |
| Attendee Phone | string | +447700900000 (optional) | |
| Guest Emails | string | Comma-separated additional guest emails (optional) | |
| Length (minutes) | integer | Override the event type length (optional) | |
| Metadata (JSON, advanced) | object | {"source":"flomation"} |
Returns: id, result, tool_result, success, error
Cal.com: Decline Booking
scheduling/calcom/booking_decline · Action
Reject a Cal.com booking that requires confirmation, optionally with a reason.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required | |
| Reason | string | Shared with the attendee (optional) |
Returns: id, result, tool_result, success, error
Cal.com: Get Booking
scheduling/calcom/booking_get · Action
Retrieve a single Cal.com booking by its UID.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required | e.g. 8s7dHT8knaXm... |
Returns: id, result, tool_result, success, error
Cal.com: Get Many Bookings
scheduling/calcom/booking_get_all · Action
List Cal.com bookings, filtered by status, attendee, event type or date range.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Status | string | choices: Any, Upcoming, Recurring, Past, Cancelled, Unconfirmed | |
| Attendee Email | string | Only bookings for this attendee (optional) | |
| Attendee Name | string | Only bookings for this attendee name (optional) | |
| Event Type ID | integer | Only bookings for this event type (optional) | |
| Starts After | string | 2026-07-01T00:00:00Z (optional) | |
| Ends Before | string | 2026-08-01T00:00:00Z (optional) | |
| Limit | integer | Results per page (1-250, default 100) | |
| Skip | integer | Offset to resume from a previous run's next_skip | |
| Return All | boolean | Follow pagination and return every booking |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Mark Booking Absent
scheduling/calcom/booking_mark_absent · Action
Mark the host and/or specific attendees of a Cal.com booking as no-shows.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required | |
| Host Absent | boolean | Mark the host as a no-show | |
| Attendees (JSON array, advanced) | object | [{"email":"a@b.com","absent":true}] |
Returns: id, result, tool_result, success, error
Cal.com: Reschedule Booking
scheduling/calcom/booking_reschedule · Action
Move a Cal.com booking to a new start time. Creates a new booking and cancels the original.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Booking UID | string | Required | |
| New Start Time | string | Required | 2026-07-11T09:00:00Z (ISO 8601, UTC) |
| Reschedule Reason | string | Shared with the attendee (optional) | |
| Rescheduled By | string | Email of who is rescheduling (optional) |
Returns: id, result, tool_result, success, error
03Event
Cal.com: Create Event Type
scheduling/calcom/event_type_create · Action
Create a new Cal.com event type (a bookable meeting slot definition).
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Title | string | Required | e.g. Discovery Call |
| Slug | string | Required | e.g. discovery-call |
| Length (minutes) | integer | Required | e.g. 30 |
| Description | text | Shown on the booking page (optional) | |
| Disable Guests | boolean | ||
| Minimum Booking Notice (minutes) | integer | ||
| Availability Schedule ID | integer | Attach an availability schedule (optional) | |
| Additional Fields (JSON, advanced) | object | {"locations":[{"type":"integration","integration":"cal-video"}]} |
Returns: id, result, tool_result, success, error
Cal.com: Delete Event Type
scheduling/calcom/event_type_delete · Action
Permanently delete a Cal.com event type.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required |
Returns: tool_result, success, error
Cal.com: Get Event Type
scheduling/calcom/event_type_get · Action
Retrieve a single Cal.com event type by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required |
Returns: id, result, tool_result, success, error
Cal.com: Get Many Event Types
scheduling/calcom/event_type_get_all · Action
List Cal.com event types, optionally filtered by username or slug.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Username | string | Filter to a user's event types (optional) | |
| Event Slug | string | Filter to a single event type slug (optional) |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Update Event Type
scheduling/calcom/event_type_update · Action
Update fields of an existing Cal.com event type. Only supplied fields change.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required | |
| Title | string | New title (optional) | |
| Slug | string | New slug (optional) | |
| Length (minutes) | integer | New length (optional) | |
| Description | text | New description (optional) | |
| Disable Guests | boolean | ||
| Minimum Booking Notice (minutes) | integer | ||
| Availability Schedule ID | integer | ||
| Additional Fields (JSON, advanced) | object | {"color":{"lightThemeHex":"#292929"}} |
Returns: id, result, tool_result, success, error
04Me
Cal.com: Get My Profile
scheduling/calcom/me_get · Action
Retrieve the Cal.com profile of the connected account (id, username, timezone, default schedule).
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
Returns: id, result, tool_result, success, error
05Membership
Cal.com: Add Team Member
scheduling/calcom/membership_create · Action
Add a user to a Cal.com team as a member, admin or owner.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required | |
| User ID | integer | Required | The Cal.com user to add |
| Role | string | choices: Member, Admin, Owner | |
| Auto-Accept | boolean | Add without requiring the user to accept an invite |
Returns: id, result, tool_result, success, error
Cal.com: Remove Team Member
scheduling/calcom/membership_delete · Action
Remove a member from a Cal.com team.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required | |
| Membership ID | integer | Required |
Returns: tool_result, success, error
Cal.com: Get Many Team Members
scheduling/calcom/membership_get_all · Action
List the members (memberships) of a Cal.com team.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required | |
| Limit | integer | Results per page (1-250, default 100) | |
| Skip | integer | Offset to resume from a previous run's next_skip | |
| Return All | boolean | Follow pagination and return every member |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Update Team Member
scheduling/calcom/membership_update · Action
Change a team member's role or accepted status in a Cal.com team.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required | |
| Membership ID | integer | Required | |
| Role | string | choices: (unchanged), Member, Admin, Owner | |
| Accepted | boolean |
Returns: id, result, tool_result, success, error
06Schedule
Cal.com: Create Schedule
scheduling/calcom/schedule_create · Action
Create a Cal.com availability schedule defining the hours you can be booked.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Name | string | Required | e.g. Working hours |
| Time Zone | string | Required | Europe/London |
| Set as Default | boolean | ||
| Availability (JSON array, advanced) | object | [{"days":["Monday","Tuesday"],"startTime":"09:00","endTime":"17:00"}] | |
| Date Overrides (JSON array, advanced) | object | [{"date":"2026-12-25","startTime":"00:00","endTime":"00:00"}] |
Returns: id, result, tool_result, success, error
Cal.com: Delete Schedule
scheduling/calcom/schedule_delete · Action
Permanently delete a Cal.com availability schedule.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Schedule ID | integer | Required |
Returns: tool_result, success, error
Cal.com: Get Schedule
scheduling/calcom/schedule_get · Action
Retrieve a single Cal.com availability schedule by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Schedule ID | integer | Required |
Returns: id, result, tool_result, success, error
Cal.com: Get Many Schedules
scheduling/calcom/schedule_get_all · Action
List your Cal.com availability schedules.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Update Schedule
scheduling/calcom/schedule_update · Action
Update a Cal.com availability schedule. Only supplied fields change.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Schedule ID | integer | Required | |
| Name | string | New name (optional) | |
| Time Zone | string | New time zone (optional) | |
| Set as Default | boolean | ||
| Availability (JSON array, advanced) | object | [{"days":["Monday"],"startTime":"09:00","endTime":"17:00"}] | |
| Date Overrides (JSON array, advanced) | object |
Returns: id, result, tool_result, success, error
07Slot
Cal.com: Get Available Slots
scheduling/calcom/slot_get_all · Action
Fetch bookable time slots for a Cal.com event type across a date range. Returns slots grouped by day.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required | |
| Range Start | string | Required | 2026-07-10 or 2026-07-10T00:00:00Z |
| Range End | string | Required | 2026-07-17 or 2026-07-17T00:00:00Z |
| Time Zone | string | Return slot times in this zone (optional) | |
| Duration (minutes) | integer | For dynamic/variable-length events (optional) |
Returns: result, tool_result, success, error
Cal.com: Release Reserved Slot
scheduling/calcom/slot_reservation_delete · Action
Release a previously reserved Cal.com slot so it becomes bookable again.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Reservation UID | string | Required |
Returns: tool_result, success, error
Cal.com: Reserve Slot
scheduling/calcom/slot_reserve · Action
Temporarily hold a Cal.com time slot so it can't be double-booked while an attendee completes booking.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Event Type ID | integer | Required | |
| Slot Start | string | Required | 2026-07-10T09:00:00Z (ISO 8601, UTC) |
| Slot Duration (minutes) | integer | For variable-length events (optional) | |
| Hold For (minutes) | integer | How long to hold the slot (default 5) |
Returns: id, result, tool_result, success, error
08Team
Cal.com: Create Team
scheduling/calcom/team_create · Action
Create a new Cal.com team.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Name | string | Required | e.g. Sales Team |
| Slug | string | e.g. sales-team (auto-generated if blank) | |
| Bio | text | Shown on the team page (optional) | |
| Time Zone | string | Europe/London (optional) | |
| Hide Cal.com Branding | boolean | ||
| Additional Fields (JSON, advanced) | object | {"brandColor":"#292929"} |
Returns: id, result, tool_result, success, error
Cal.com: Delete Team
scheduling/calcom/team_delete · Action
Permanently delete a Cal.com team.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required |
Returns: tool_result, success, error
Cal.com: Get Team
scheduling/calcom/team_get · Action
Retrieve a single Cal.com team by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required |
Returns: id, result, tool_result, success, error
Cal.com: Get Many Teams
scheduling/calcom/team_get_all · Action
List the Cal.com teams you belong to.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Limit | integer | Results per page (1-250, default 100) | |
| Skip | integer | Offset to resume from a previous run's next_skip | |
| Return All | boolean | Follow pagination and return every team |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Update Team
scheduling/calcom/team_update · Action
Update fields of an existing Cal.com team. Only supplied fields change.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Team ID | integer | Required | |
| Name | string | New name (optional) | |
| Slug | string | New slug (optional) | |
| Bio | text | New bio (optional) | |
| Time Zone | string | New time zone (optional) | |
| Hide Cal.com Branding | boolean | ||
| Additional Fields (JSON, advanced) | object |
Returns: id, result, tool_result, success, error
09Webhook
Cal.com: Create Webhook
scheduling/calcom/webhook_create · Action
Register a Cal.com webhook that POSTs booking events to a URL you specify.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Subscriber URL | string | Required | https://example.com/hook |
| Events | multi_select | Required | choices: Booking Created, Booking Rescheduled, Booking Cancelled, Booking Requested, Booking Rejected, Booking Paid, Booking No-Show Updated, Meeting Started, Meeting Ended, Recording Ready, Form Submitted |
| Active | boolean | Enable the webhook (default true) | |
| Signing Secret | secret | Used to sign deliveries with HMAC-SHA256 (optional) | |
| Payload Template | text | Custom {{variable}} payload template (optional) |
Returns: id, result, tool_result, success, error
Cal.com: Delete Webhook
scheduling/calcom/webhook_delete · Action
Permanently delete a Cal.com webhook.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Webhook ID | string | Required |
Returns: tool_result, success, error
Cal.com: Get Webhook
scheduling/calcom/webhook_get · Action
Retrieve a single Cal.com webhook by its ID.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Webhook ID | string | Required |
Returns: id, result, tool_result, success, error
Cal.com: Get Many Webhooks
scheduling/calcom/webhook_get_all · Action
List the webhooks configured on your Cal.com account.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Limit | integer | Results per page (1-250, default 100) | |
| Skip | integer | Offset to resume from a previous run's next_skip | |
| Return All | boolean | Follow pagination and return every webhook |
Returns: results, count, next_skip, tool_result, success, error
Cal.com: Update Webhook
scheduling/calcom/webhook_update · Action
Update a Cal.com webhook's URL, events, active state or secret. Only supplied fields change.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) or connected credential |
| Webhook ID | string | Required | |
| Subscriber URL | string | New URL (optional) | |
| Events | multi_select | Replace the subscribed events (optional) — choices: Booking Created, Booking Rescheduled, Booking Cancelled, Booking Requested, Booking Rejected, Booking Paid, Booking No-Show Updated, Meeting Started, Meeting Ended, Recording Ready, Form Submitted | |
| Active | boolean | ||
| Signing Secret | secret | New signing secret (optional) | |
| Payload Template | text | New payload template (optional) |
Returns: id, result, tool_result, success, error
10Triggers
Cal.com Webhook Trigger
trigger/calcom_webhook · Trigger
Triggers a flow when a Cal.com event occurs (booking created/rescheduled/cancelled, meeting ended, and more). The webhook subscription is registered with Cal.com automatically.
| Field | Type | Details | |
|---|---|---|---|
| Cal.com Connection | secret | Required | Cal.com API key (cal_live_...) — used to register the webhook |
| Events | multi_select | Required | choices: Booking Created, Booking Rescheduled, Booking Cancelled, Booking Requested (needs confirmation), Booking Rejected, Booking Paid, Booking No-Show Updated, Meeting Started, Meeting Ended, Recording Ready, Form Submitted |
| Event Type ID | integer | Only fire for this event type (optional) |
Returns: content, event, payload, attendee_name, attendee_email, booking_uid, start_time, created_at, body, triggered_at
11Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Rescheduling a booking creates a brand-new booking with a different UID and cancels the original, so any later step must reference the returned new UID rather than the one you rescheduled.
- Bookings are identified by a string
uid, while event types, schedules and teams use numeric IDs, so carry the correct identifier type when passing values between steps. - Reserving a slot only places a temporary hold that Cal.com automatically releases after a short window if the booking isn't completed, so it is not a permanent block.
- Confirming or declining a booking only applies to bookings whose event type requires confirmation; other bookings are already active and cannot be confirmed.
- The Get Bookable Slots action returns results grouped by day rather than as a single flat list, so expect to iterate over dates when reading the output.
- List actions page through results and are capped, so very large accounts may not return every record in a single run.