Skip to content
B6AIDocs

Connect Google Calendar to B6AI

Set up the Google Calendar integration end to end, from creating credentials in Google Calendar to verifying the live connection and using it in your bots.

8 min readLast updated

Overview

The Google Calendar integration lets bots check availability and book appointments during a conversation, perfect for demos, callbacks, consultations and service bookings.

Customers pick a time in chat and the event lands on your calendar, with an invite sent automatically.

What you will need
A Google Calendar account with administrator access, and a B6AI user with the Enterprise Admin role, integrations are configured once at the workspace level and shared by every bot.

What you can do with Google Calendar

Once connected, your bots and agents can use Google Calendar inside conversations and automations. Typical uses include:

  1. Check free/busy on a calendar before offering a slot.
  2. Create an event/booking and invite the customer.
  3. Reschedule or cancel an existing event.
  4. List upcoming available slots for the customer to choose from.

How the integration works

You connect with one click, B6AI uses its own Google app, so there is nothing to create in Google Cloud and no Client ID/Secret to copy.

Clicking Connect sends you to Google to sign in and approve calendar access; Google returns a secure token that B6AI stores encrypted at rest.

B6AI reads availability and creates events on your behalf, limited to what you approved.

Prerequisites

Make sure all of the following are in place before you start. Each one is required, skipping any will cause the connection to fail later.

  1. A Google account (or Workspace) with the calendar you want bots to use.
  2. The Enterprise Admin role in B6AI.

Generate your Google Calendar connection

B6AI authenticates with Google Calendar using your Google Calendar connection. Follow these steps exactly, each field you copy here is entered into B6AI later.

  1. Unlike a manual API setup, Google Calendar needs no Google Cloud project, OAuth client or Client ID/Secret from you, B6AI provides the Google app.
  2. You only need a Google account that can access the target calendar.
  3. The connection is created during Connect (next section), where you sign in to Google and approve calendar access.
Keep secrets safe
Treat every token, key and secret like a password. Never commit them to source control, paste them into chat, or email them. B6AI stores them encrypted at rest, enter them only in the integration settings.

Required permissions & scopes

Grant only the scopes below. Each one maps to a specific B6AI capability; requesting fewer reduces risk and speeds up any review your Google Calendar administrator performs. The table explains exactly what each scope allows and why it is needed.

Scope / permissionWhat it allowsWhy B6AI needs it
calendar.eventsCreate, read and update eventsBook, reschedule and cancel appointments
calendar.readonlyRead calendars and free/busyCheck availability before offering a slot

Connect Google Calendar in B6AI

Now enter your credentials in B6AI. Signed in as an Enterprise Admin, open Settings → Integrations, find the Google Calendar card and click Connect, then complete the form. Every field is explained below.

  1. In B6AI, open Settings → Integrations and click Connect on the Google Calendar card.
  2. Sign in to Google and approve the calendar permissions B6AI requests.
  3. You’re returned to B6AI and the card shows “Connected”.
  4. When building a bot, add a Calendar node and pick the target calendar, time zone and slot length there.

Verify the connection

Confirm the integration is live before you rely on it in a bot.

  1. Confirm the Google Calendar card shows “Connected”.
  2. In a bot with a Calendar node, run the test: it creates a test event about an hour ahead.
  3. Confirm the event appears on the calendar, then delete it.
Connected
A green “Connected” status plus a successful test confirms Google Calendar is ready to use in your bots, action nodes and automations.

Troubleshooting

If the connection fails or an action does not work, match the symptom below to its cause and fix.

Symptom / errorLikely causeHow to fix it
“Please reconnect” / invalid_grantThe Google authorization expired or was revokedClick Connect again and re-approve access
403 / access deniedYou declined a calendar permission during consentReconnect and approve all requested permissions
Wrong calendar usedThe Calendar node points at a different calendarSet the correct Calendar ID on the Calendar node in Bot Builder
Double-bookingAvailability wasn’t checked firstEnable the free/busy check before booking on the node

Limitations & rate limits

Keep these constraints in mind so your bots behave predictably at scale.

  1. The Calendar API enforces per-user and per-project quotas.
  2. Time zones must be consistent between the bot’s Calendar node and the calendar.
  3. B6AI reads and writes only the calendars you grant access to.
Rate limits
The Calendar API applies per-user/per-project quotas; heavy booking volume may need a quota increase.

Security best practices

  1. Grant only the scopes and permissions listed above, never request more “just in case”.
  2. Rotate your Google Calendar connection on a regular schedule, and immediately if you suspect exposure.
  3. Restrict the Enterprise Admin role (which manages integrations) to a small, trusted group.
  4. Prefer a dedicated service account or bot user over a personal login, so access survives staff changes.
  5. Review the integration’s activity in the B6AI Activity Logs periodically for unexpected calls.
  6. Disconnect the integration the moment a credential leaks; then rotate it in Google Calendar before reconnecting.

Recommendations

  1. Test against a sandbox or non-production Google Calendar account before connecting live data.
  2. Document which bots and flows depend on this integration so changes are predictable.
  3. Set a recurring reminder to review scopes and rotate credentials.
  4. Enable only the capabilities you actually use today; you can widen scopes later.
Was this page helpful?