Skip to main content

What you’ll set up (and why it matters)

Google Calendar scheduling in Callin.io is designed to be reliable and consistent. To achieve that, the setup is split into two parts:
1
Google Calendar integration setup
You connect your Google account and create an Event Template. This template is where you define the booking rules (days available, appointment duration, reminders, and conflict rules).
2
AI Agent setup (Call Action)
You enable Appointment Scheduling inside your agent and select the template you created.
Your booking rules should live in the Event Template, not in the agent prompt. Avoid adding instructions like “Only Monday to Friday” or “Only between 9am and 5pm” inside the prompt—those rules can conflict with the platform’s built-in scheduling logic once Google Calendar is connected.

Open the Google Calendar integration

Use this direct link to open the Google Calendar integration page: click here. You can also get there from Integrations → Actions: click Connect (or Manage, if it’s already connected) on the Google Calendar card.
Google Calendar integration page showing the Sync and Connect Google Account buttons, the calendar search bar, the connected account with its calendars and Disconnect Account, and the Event Templates section

Screenshot: This is the Google Calendar integration area where you connect your account, choose a calendar, and manage event templates.

You can create multiple event templates per calendar, and assign templates from different calendars to different AI Agents.

Step 1: Connect your Google Account

1
On the Google Calendar integration page, click Connect Google Account.
2
A Google sign-in window opens. Choose the Google account you want to use for bookings.
3
Approve the permissions screen so Callin.io can create events and check availability.
Once connected, you’ll see:
  • Your Google account (name and email) in the left panel
  • The list of calendars in that account, which you can select
  • A Disconnect Account option (use it if you connected the wrong account)
Use Search calendars… to find a calendar quickly, and Sync to refresh the list if you’ve just created a new calendar in Google.
Use a calendar that represents your real availability. If your Google Calendar is always “busy” (or always “free”), the booking experience won’t match reality.

Step 2: Choose the calendar where appointments should be created

In the left panel, select the calendar you want bookings to go into. The selected calendar is shown at the top of the right panel, above its Event Templates. Examples:
  • A service business might use a calendar named “Appointments”
  • A sales team might use “Discovery Calls”
  • A clinic might use “Consultations”
Why this selection matters:
  • Your template is built for a specific calendar
  • The agent will book into the calendar/template you assign later
If you have multiple calendars (for different teams or services), you can create different templates per calendar and assign the right one to each AI Agent.

Step 3: Create an Event Template (this is where scheduling rules live)

Before attaching scheduling to an AI Agent, you must create at least one Event Template. This template defines:
  • How long appointments are
  • How reminders work
  • Whether overlapping bookings are allowed
  • How conflicts are handled
  • Which days and hours are available for bookings (Working Hours)
To create one:
1
In the Event Templates section, click Create Event Template. A panel opens on the right.
2
Fill out the fields (details below).
3
Click Save. To discard it, click Cancel.

Video: Create Event Template → name and description → reminder and overlap settings → Conflict Handling → Working Hours from Monday to Friday.

This is the template editor, where you set the scheduling rules:
Create Event Template panel with the Name and Description fields, Slot Duration, Reminder Minutes, Reminder Type, Allow Event Overlap set to No, Conflict Handling and the start of Working Hours

Screenshot: The Event Template editor where you define duration, reminders and conflict rules.

Field-by-field explanation (with practical examples)

Common mistake: Leaving Working Hours with no days selected. The template can’t be saved until at least one day is available (“At least one day must be available in your schedule”).
Working Hours section of the Event Template with Monday to Friday ticked from 09:00 to 17:00 and Saturday and Sunday unavailable

Screenshot: Working Hours with Monday to Friday available from 09:00 to 17:00.

If you want a safe default:
  • Name: “Discovery Call (30 min)”
  • Description: “First call to understand needs and confirm next steps”
  • Slot Duration: 30
  • Reminder Minutes: 15
  • Reminder Type: Email
  • Allow Event Overlap: No
  • Conflict Handling: Block all overlapping events
  • Working Hours: Monday–Friday, 09:00–17:00
This setup prevents double-bookings and gives a clean, predictable scheduling experience.

Step 4: Attach Google Calendar scheduling to an AI Agent (Call Action)

After you have:
  • Connected a Google account, and
  • Created an Event Template,
You can now enable booking inside an AI Agent.
1
Go to AI Agents in the left menu.
2
Open the agent you want to configure.
3
Go to the Call Action tab.
4
Turn on Appointment Scheduling. The Scheduling Configuration panel opens.
5
In Scheduling Provider, choose Google Calendar (“Use Google Calendar for scheduling”).
6
Select the event template you created. The list shows each calendar with its templates, and each template shows its duration, reminder and number of available days.
7
Close the panel and click Save.
To change the template later, click the settings icon (gear) next to Appointment Scheduling.

Video: Call Action tab → Appointment Scheduling → Google Calendar → select the template.

In the agent, the result looks like this:
Agent Call Action tab with the Scheduling Configuration panel open: Google Calendar selected as Scheduling Provider and an event template selected under the connected calendar

Screenshot: Inside the agent’s Call Action settings, choose Google Calendar as the booking provider and select your template.

For best accuracy, your agent’s timezone should match the calendar’s timezone. A mismatch can cause “wrong time” suggestions.
Once everything is connected, the best experience is when the agent follows a simple, human flow:
1
Confirm intent
“Sure—do you want to book an appointment now?”
2
Collect the minimum required details
Ask for:
  • Full name
  • Phone number
    (Optionally: a short reason for the appointment, if relevant.)
3
Offer availability and confirm
The agent should propose times it can book (based on your template + calendar availability), then confirm the chosen slot.
4
Book and confirm details
The agent books the event and repeats:
  • Date
  • Time
  • Duration
  • What the appointment is for

Example (what “good” sounds like)

  • Caller: “Can I book a time for a consultation?”
  • Agent: “Yes. What’s your full name and the best phone number for the appointment?”
  • Caller: “Marco Rinaldi, +39 333 123 4567.”
  • Agent: “Thanks. Do you prefer earlier in the day or later? I can book a 30-minute consultation.”
  • Caller: “Later is better.”
  • Agent: “Great—does Thursday at 4:00 PM work?”
  • Caller: “Yes.”
  • Agent: “Perfect. You’re booked for Thursday at 4:00 PM for 30 minutes. You’ll also receive a reminder before the appointment.”
Keep the prompt focused on collecting details and confirming. Let the template handle the scheduling rules.

Prompt rules: what to include (and what to avoid)

What you should include in the prompt

Your prompt should instruct the agent to:
  • Ask for name and phone number before booking
  • Confirm the appointment purpose briefly (one sentence)
  • Confirm the selected time clearly before finalizing
  • Confirm booking details at the end
A practical prompt instruction (written as plain guidance) could look like:
  • “When the caller wants to book, ask for their full name and phone number first. Then suggest available times and confirm the chosen time. After booking, repeat the date, time, and duration to confirm.”

What you should NOT include in the prompt

Avoid instructions that duplicate or override the Event Template, such as:
  • “Only book Monday to Friday”
  • “Only book between 9am and 5pm”
  • “Never book same-day appointments”
  • “Only allow 1 appointment per day”
Those rules should be configured in the Event Template (Working Hours, conflict rules, overlap rules). Keeping the prompt clean prevents conflicts and improves booking accuracy.
Think of it this way:
Template = rules and availability
Prompt = conversation and data collection
For scheduling accuracy, Callin.io works best with Gemini 2.5 Flash.
If scheduling fails (wrong times, missed availability, confusion), switch the agent’s LLM to Gemini 2.5 Flash, save, and test again.

Troubleshooting checklist (quick fixes)

“I connected Google Calendar but I don’t see my calendar”

  • Click Sync on the Google Calendar page.
  • Confirm you connected the correct Google account.

“It says no availability”

  • Check Working Hours in your Event Template: at least one day must be ticked, with the right start and end times.
  • Confirm your Google Calendar isn’t fully blocked with busy events.

“The agent books at the wrong time”

  • Verify the agent timezone matches the calendar timezone.
  • If the behavior is inconsistent, switch to Gemini 2.5 Flash.

“Double bookings happen”

  • Set Allow Event Overlap to No.
  • In Conflict Handling, choose Block all overlapping events.