Skip to main content

Google Calendar

With the Google Calendar integration, your ChatNorris agent books appointments in your calendar without leaving the chat. Unlike Cal.com and Calendly, there is no external booking page here: ChatNorris calculates the free times with the rules you define and creates the event directly in your calendar. The agent:
  • checks the real availability of your primary calendar;
  • offers the visitor free times, always with the time zone;
  • asks for their name and email (and, if you want, their phone) and waits for an explicit yes;
  • creates the appointment in your calendar, and Google sends the invitation to the visitor, with a Google Meet link if you turn it on.
It works in the web widget, WhatsApp, Instagram, Messenger, Telegram, and Email.

Requirements

  • A ChatNorris account on the Standard or Premium plan (it’s not in Free). You can see the plans at chatnorris.ai/pricing.
  • At least one agent created in ChatNorris. If you don’t have one yet, follow Create an agent.
  • A Google account with the calendar where you want to receive appointments. Its primary calendar is used.
  • Owner or Admin role in your ChatNorris organization.

Connect Google Calendar

Each agent connects to one Google account.
1

Open the agent's Integrations hub

In ChatNorris, go to My agents → [your agent] → Integrations and choose Google Calendar.
2

Click Connect with Google

Google opens. Sign in with your Google account.
3

Accept both permissions

Google asks you for two Calendar permissions: see your busy times and create events. Leave both checked: if you uncheck either one, the connection isn’t saved.
4

Go back to ChatNorris

The integration’s page shows the connected account and the calendar’s time zone. With Test connection you can check access whenever you want. Continue with Configure the Action.
ChatNorris only sees the busy times of your primary calendar, without titles or details, and only creates the appointments the visitor confirms.

Configure the Action

Connecting the account doesn’t turn anything on yet. There can only be one Google Calendar Action per agent.
1

Create the Action and define when to use it

Go to My agents → [your agent] → Actions, click New action, and choose Google Calendar. In When to use, describe when the agent should offer times (for example, “when they want to book an assessment”). The safety rules (don’t make up times, don’t confirm on its own) always apply, even if you edit the text; you can go back to the original text with Restore default text.
2

Set up the hours

In the Availability section, you define when appointments can be booked. ChatNorris crosses these hours with what’s already busy in your calendar.
3

Check the preview and enable the action

In Preview, click Show upcoming times to see the times the agent would offer right now with the current settings (even if you haven’t saved them yet). To enable the action, you need the account connected and at least one day with hours.
We recommend Claude Sonnet or higher as the agent’s main model (Settings → AI). The agent must offer only the real times the system provides; smaller models sometimes make up times or treat an appointment as booked when the visitor only seems to agree.

Hours options

Services with different lengths

The Services section is optional. If you offer appointments of different lengths (for example, a 30-minute massage and a 60-minute one), add each service with its length (up to 20 services):
  • No services: all appointments last what’s set in Appointment length.
  • With a single service: all appointments use its length and the agent doesn’t ask which one they want.
  • With two or more services: the agent asks the visitor which service they want and looks for times of that length.

Holidays and closed days

  • Do not offer times on holidays (on by default): public holidays of the Country are skipped; by default, the country is inferred from the time zone. You can choose another country and a Region (or Whole country). The section shows the Upcoming holidays.
  • Closed days: specific days when you’re closed (vacations, inventory, or a new holiday that doesn’t appear in the list yet). Up to 100 days.
If the visitor asks for a closed day or a holiday, the agent tells them you’re closed that day and offers the closest options.

The event in your calendar

In the Event section, you define how the appointment is created:
  • Event title: by default, “Meeting with {{name}}”. Variables: {{name}} (visitor), {{email}}, {{service}} (chosen service), and {{agent}} (agent name).
  • Add a Google Meet link: the invitation includes a Meet video call.
  • Confirmation message (optional): the agent adds it when the appointment is booked; for example, how to get there or what to bring.
The appointment is created in the connected account’s primary calendar, only after the visitor confirms, and Google sends the invitation to their email.

How the visitor books

  1. When the conversation matches When to use, the agent checks your real availability and offers free times (always stating the time zone).
  2. The agent asks for the name and email (and the phone, if you turned it on), shows a summary, and waits for an explicit yes from the visitor. See which replies count as confirmation in Visitor confirmations.
  3. Before creating the appointment, ChatNorris checks again that the time is still free. If someone took it in the meantime, the agent offers new times.
In the web widget, instead of a text list, the visitor sees a day and time picker: they choose a day and a time, fill in their details (prefilled if they already left them in the conversation), and click Book appointment; that button is the confirmation. In WhatsApp, Instagram, Telegram, Messenger, and Email, the agent offers the times as a text list and the visitor confirms in writing.
In the Playground you can test the whole flow, but a real appointment is never created in your calendar.

Appointments in Leads

The details the visitor enters in the widget picker are saved as their contact: the lead is created or updated, as with a Lead Form. Appointments booked by the agent appear in Leads, in the Appointment column and in the Appointments section of the lead’s details, and you can filter leads Upcoming appointment. If you delete the event in Google Calendar, the appointment shows as canceled when you open the lead. If the agent also has the Pipedrive Action with Log booked meetings, each appointment is also logged on the Pipedrive Lead as a Meeting activity.

Several scheduling actions on the same agent

Google Calendar shares the scheduling classifier with Cal.com and Calendly: if an agent has more than one scheduling action, only one is offered per reply, the one that best matches what the visitor asked for. Make their When to use clearly different so it gets it right; the form warns you if the agent has several. With a scheduling action ready, asking for a meeting or a call isn’t a handoff, even if the visitor names an account executive or advisor: the agent offers them times. See Human Handoff.

Disconnect

In My agents → [your agent] → Integrations → Google Calendar, click Disconnect. Disconnecting revokes access in Google and turns off the Action, without deleting its configuration. If Google revokes access or you disconnect the account, the agent stops offering times and tells the visitor that scheduling isn’t available. Reconnect the account in Integrations to resume it.

Frequently asked questions

On the Google screen, you left one of the two Calendar permissions unchecked. Connect again and leave both checked.
Remove ChatNorris at myaccount.google.com/permissions and connect again.
No. It only sees the busy times of your primary calendar, without titles or details, and only creates the appointments the visitor confirms.
No. There can only be one per agent. If you need different calendars, use separate agents or combine Google Calendar with Cal.com or Calendly, with a different When to use for each one.
No. In the Playground you can test the whole flow, but a real appointment is never created in your calendar.