Skip to content

Cal.com

This guide explains how to connect Cal.com with NewAge Ai, link your calendars and meeting providers, and use Cal.com actions inside your chatbot automations.

SECTION 1: Connect Cal.Com to NewAge Ai

Step 1: Generate an API Key in Cal.com

Log in to your Cal.com account. Go to Settings. In the Developer section, click API Keys. There, you can create an API Key. Create the key and copy it immediately.
You can directly go to api key section with this URL:

app.cal.com

You will use this API key inside NewAge Ai to connect your account.

Step 2: Connect Cal.com inside NewAge Ai

Log in to your NewAge Ai dashboard. Go to Integrations. Find Cal.com in the integrations list. Paste your API key. Click Connect

Once connected, a verified icon will successfully appear. Your Cal.com email and username will be displayed. This confirms the connection is active.

SECTION 2: Using Cal.Com Actions in NewAge Ai

After integration, you can use the following actions inside automation flows.

Action: Get user profile

Retrieves the profile details of the connected Cal.com user.

Returned data: Name, Email, Timezone, Week start day, etc.

When to use: Use this action to fetch host information for personalization, timezone handling, or scheduling logic.

Action: Generate booking url

Generates a booking link for a specific event type and attendee.

Required fields: Event Type ID, Attendee Name, Attendee Email

Returned data: Booking URL

When to use: Use this when you want users to select a time slot manually via a shared link.

Action: Find bookings

Required fields: Event Type ID

Optional fields: Start Time (ISO 8601 format), End Time (ISO 8601 format), Attendee Email, Attendee Name, etc.

Returned data: Booking ID, UID, Title, Description, Status, etc.

When to use: Use this to check existing bookings or filter bookings within a date range.

Action: Create a booking Creates a booking directly without sending a link.

Required fields: Event Type ID, Start Time (ISO 8601 format), Attendee Email, Attendee Name

Optional fields: Attendee Phone, Attendee Timezone, Attendee Language, etc.

Returned data: Booking ID, UID, Title, Meeting URL, Event details, Start time, etc.

When to use: this is when the chatbot handles full scheduling automatically.

Action: Get a booking Retrieves details of a specific booking.

Required field: Booking UID

Returned data: Full booking details, including event, attendee, and meeting info.

When to use: Use this when you need complete information for a specific booking.

Action: Reschedule a booking Updates the scheduled time of an existing booking.

Required fields: Booking UID, New Start Time (ISO 8601 format), Rescheduled By (email)

Optional field: Rescheduling Reason

When to use: Use this when a user wants to change their appointment time.

Action: Cancel a booking

Cancels an existing booking.

Required field: Booking UID

Optional fields: Cancellation Reason, Cancel subsequent bookings

When to use: Use this when a booking needs to be cancelled.

Action: Mark a booking absence

Mark an attendee as absent (a "no-show") for a specific scheduled meeting. Can also mark host absence.

Required field: Booking UID

When to use: Track no-shows. It enables automated systems to record when an invitee fails to attend a scheduled event.

Action: Confirm a booking

Confirms a booking that requires approval.

Required field: Booking UID

When to use: Use when bookings require manual confirmation.

Action: Decline a booking

Declines a booking request.

Required field: Booking UID

Optional field: Decline Reason

When to use: Use when a booking request cannot be accepted.

Action: Get calendar links

Retrieves calendar and meeting links for a booking.

Required field: Booking UID

Returned data: Google Meet link, Microsoft Office link, Outlook link, ICS file

When to use: Use this to send meeting or calendar links to users.

Action: Get booking references

Retrieves reference data associated with a booking.

Required field: Booking UID

Returned data: Reference identifiers, Metadata

When to use: Use for integrations, tracking, or external systems.

Action: List event types

Retrieves all available event types.

When to use: Use to display or select available booking types.

Action: Get event type

Retrieves details of a specific event type.

Required field: Event Type ID

When to use: Use to get configuration details of a specific event.

Action: Delete event type

Deletes an event type.

Required field: Event Type ID

When to use: Use when removing unused or outdated event types.

Action: List Schedules

Retrieves all schedules.

When to use: Use to view all configured availability schedules.

Action: Get default schedule

Retrieves the default schedule.

When to use: Use when applying default availability rules.

Action: Get schedule

Retrieves details of a specific schedule.

Required field: Schedule ID

When to use: Use to inspect a particular schedule.

Action: Delete schedule

Deletes a schedule.

Required field: Schedule ID

When to use: Use when removing schedules no longer needed.

Action: Find available slots

Finds available time slots for booking.

Required field: Event type ID or Event Slug is required, Start Time (ISO 8601 format), End Time (ISO 8601 format)

When to use: Use to show available times to users before booking.

Action: Reserve a slot

Temporarily reserves a time slot.

Required field: Slot details

When to use: Use to hold a slot before confirming booking.

Action: Get a reserved slot

Retrieves details of a reserved slot.

Required field: Slot UID

When to use: Use to verify reservation details.

Action: Delete reserved slot

Releases a reserved slot.

Required field: Slot UID

When to use: Use to free up a slot if not booked.

Action: Update reserved slot

Updates details of a reserved slot.

Required field: Slot UID, Event ID, Start Time (ISO 8601 format)

When to use: Use when modifying reservation details.