How to Connect Multiple Google Calendars to Grok Bot
Grok Bot has no xAI Google Calendar connector. It reaches Google Calendar through Cursor’s plugin marketplace, which wraps Google’s own remote MCP server. Three vendors are involved and xAI is not one of them. That is the whole shape of this, and it explains almost every surprise further down the page. Carly holds your Outlook calendars and every mailbox on both sides in the same place, so this setup covers the rest of what you own.
One orientation note. “Grok” names three products now, and this page is about Grok Bot: named AI teammates working on a shared cloud computer, with Slack and GitHub as their event surfaces. The consumer assistant at grok.com has its own xAI-built calendar connector and a completely different story, covered in connecting multiple Google Calendars to Grok. Nothing from that page carries over.
The connector surface belongs to Cursor, not xAI
xAI’s Grok Bot documentation describes connectors generically and then says the quiet part out loud: connectors are shown as Plugins in the current app. The path it gives is Settings, then Plugins, browse, Add, authenticate in the browser, then type @ in chat to attach the connector to a task. No individual service is named anywhere, and searching every Grok Bot page for calendar language returns three incidental mentions in a use-cases list and zero connector documentation.
The teams page finishes the thought: Grok Bot follows your team’s existing Cursor plugin and MCP policy, there are no separate Grok Bot plugin controls, and MCP authentication is shared across Cursor and Grok Bot.
Cursor’s marketplace carries a first-party verified google-calendar plugin, listed under featured and scheduling. Its description says it connects to Google Calendar via Google’s remote MCP server to list calendars, search events, and create or update meetings. The plugin repository’s config is one HTTP MCP server entry pointing at Google’s calendarmcp.googleapis.com endpoint, and its README says auth is OAuth 2.0 against Google.
So the route is Settings, Plugins, Google Calendar. That conclusion is an inference rather than a printed sentence: xAI says there are no separate plugin controls, Cursor lists the plugin publicly, and nobody at either company has joined the two up in writing.
Two hedges. The plugin manifest declares a minimum Cursor version of 3.13.0, and nothing states what version the Grok Bot app reports, so whether the plugin is visible in your Plugins list is unverified. And every Google Calendar MCP page carries a Developer Preview stamp. The plugin was created on 30 July 2026 and Cursor announced its Google Workspace plugins on 3 August, so all of it is fresh and liable to move.
Ignore Google’s own setup page while you are here. Its configure-mcp-server instructions describe a developer path with your own Cloud project, a gcloud command and a hand-built consent screen. Cursor ships the same server as a one-click plugin because it carries its own registered OAuth client, so that flow is not your flow.
The multi-account problem inverts here
Usually this question is “the vendor holds one account and I need three.” Grok Bot runs the other way.
xAI documents three things that point the same direction. The cloud computer is assigned to your user account rather than to an individual Bot. Installed connectors are account-wide, and their availability is not isolated to one Bot. Sign-in tokens for hosted MCP servers stay with Cursor’s backend.
Put together: identity is per Cursor user. Not per workspace, not per Bot. You cannot give a client-facing Bot the client calendar while withholding your personal one. Every Bot on the account sees whatever the account has connected, and xAI says elsewhere that separate Bots are not separate security boundaries.
On how many Google identities one install holds, nobody at xAI, Cursor or Google has written anything either way. That is vendor silence, not a refusal, and the two routes round it are both inferences to test rather than trust.
The first is a second MCP server entry. Cursor’s config is a keyed map of server names, and its docs note that a server is identified via the OAuth state parameter so the redirect URLs work for all MCP servers, so a second entry with a different name and the same Google endpoint is structurally possible. What nobody documents is whether the stored token is keyed by server name or by URL. If by URL, the second sign-in replaces the first and you have quietly lost the account you started with.
The second is two browser sessions, and it is unique to this product. Grok Bot runs a real browser on the shared computer, sessions persist, and xAI states that because the browser is shared, signing in for one Bot makes the session available to your other Bots. Its docs suggest using the browser for services without a connector. Google supports concurrent multi-account sign-in, so a Bot can drive calendar.google.com in two accounts at once. Google’s own caveat is the trap: it may apply settings from your default account.
Nine named verbs, and one place Grok Bot beats consumer Grok
Google’s MCP toolset exposes nine tools by name, which is unusually legible for this category.
| What you want | Documented tool | Detail worth knowing |
|---|---|---|
| List calendars | list_calendars | Returns the calendars this user has access to, and each id is an email address |
| Read and search events | search_events, list_events, get_event | Keyword and range search plus single-event detail |
| Find a time | suggest_time | Spans one or more calendars, and attendeeEmails is required |
| Create | create_event | Also covers a Google Meet URL, RRULE recurrence, guest permissions, notification level |
| Update or move | update_event | Fields you do not set are not updated, and start and end times are settable |
| Delete | delete_event | Straightforward removal |
| Invite attendees | create_event attendees, update_event added and removed attendees | Documented at the schema level, on both create and update |
| RSVP | respond_to_event | Accept, decline or tentative, with an optional comment |
That attendee row is a genuine win. Consumer Grok’s Google Calendar page never documents inviting anybody, while this path documents attendees on create plus named add and remove parameters on update. If the job is “book the thing and invite the three people,” this is the better half of the Grok family for it. One schema note: attendeeEmails is deprecated on both create and update in favour of attendees.
The gap is free/busy. There is no freebusy tool, and suggest_time requires attendee emails, so there is no bare “when am I free” lookup. That requirement doubles as a useful trick: because suggest_time takes arbitrary addresses, a second Google account’s availability is readable by passing its address as an attendee, with no calendar sharing set up at all.
Nothing fires when a calendar changes
Grok Bot is the documented exception to the usual rule about AI assistants and event triggers, so be precise about what it reaches.
Grok Bot can react to events, not just timers, which puts it ahead of assistants that only schedule. The reach is the catch: event triggers come through Cursor account integrations and the documented examples are a Slack message and a GitHub notification, each needing its own connection flow separate from the matching plugin.
A routine tells one Bot when to run a workflow, on a schedule or, where supported, after an event. Slack messages and GitHub notifications are the only documented events, and Google’s Calendar MCP server exposes nine request and response tools with no subscription of any kind, so there is nothing on the calendar side to listen to.
That is the interesting part. Grok Bot can start on an event, which most assistants cannot, and still nothing happens when somebody drags your Thursday review into Friday or cancels it silently. xAI also advises against broad listeners such as “every new message,” caps routines at 50 per Bot, and may auto-pause them after a long absence.
Sort your case
| What you have | Path in Grok Bot |
|---|---|
| One Google account, several calendars in it | Yes, list_calendars returns everything the account can access |
| A calendar shared into that account | Yes, and it is writable by passing its address as calendarId |
| A second Google account as its own connection | Not documented by anyone, two inferred routes |
| Another account’s free/busy only | Pass its address to suggest_time as an attendee |
| Creating events and inviting attendees | Yes, documented on create and update |
| A per-Bot separation between work and client calendars | No, identity is account-wide |
| Reacting when an invite or a change lands | No calendar event exists to trigger on |
1. Check the gate before anything else
Grok Bot needs SuperGrok Heavy, Cursor Ultra, a one-time trial, or a self-serve team seat where Premium carries a weekly allowance. Enterprise is described as rolling out, and Legacy Privacy Mode blocks Grok Bot entirely, which is the most common reason the product is simply not there.
On a team, MCP is admin territory: a global switch to disable all MCP commands, a server allowlist and denylist, and a setting for whether members can add their own servers. Any one of them stops this before you start.
2. Add the plugin
- Open Grok Bot settings and go to Plugins.
- Browse the available connectors and find Google Calendar.
- Choose Add.
- Complete the Google sign-in in your browser when it is requested.
- In chat, type
@to attach the connector to the task you are running. - Ask it to list your calendars and check the account that comes back is the one you meant.
If Google Calendar is not in the list, the version floor or your team’s MCP policy is where to look. The plugin README says “open Cursor Settings” because it was written for Cursor; expect the same screens under xAI’s wording.
3. Pull a second account in by sharing
The mechanism is documented at schema level, which is stronger evidence than the consumer side had. list_calendars returns the calendars this user has access to, and calendarId is an optional parameter on create, update, delete and RSVP, described as an email address resolvable through list_calendars.
- Open Google Calendar signed in as the second account.
- Find the calendar in My calendars and open its settings.
- Use Share with specific people and add the address you connected.
- Pick view-only or make-changes depending on what you need.
- Accept the invitation from the connected account.
- Ask for a list of calendars and confirm the shared one is named.
So a shared calendar is both listable and writable by id. Using that as a multi-account strategy is still an inference; the plumbing underneath it is not.
4. Test read-only, then route by name
One calendar per prompt until the routing is reliable:
List every calendar you can see and say which account each one belongs to.
On my Workspace calendar, find everything booked next Tuesday and flag anything that overlaps.
Then the thing this path does well:
Create a 45 minute review on my Workspace calendar on Thursday at 10am, invite the two people on the last thread about it, add a Google Meet link, and show me the draft first.
5. Connect each Google account to Carly
- Sign in at carlyassistant.com.
- Open carlyassistant.com/integrations.
- Find Google Calendar and click Connect.
- Authorize the first Google account.
- Repeat for every other identity, personal, freelance or Workspace.
- Confirm each appears in the connected list before you rely on it.
No sharing step, no permissions to maintain in Google, and unlimited connected calendars are included, so the number of Google accounts does not change what you pay.
6. Add Carly to Grok Bot
- Select Plugins in the Grok Bot sidebar, or tap your avatar and choose Plugins on mobile.
- Add Carly’s remote MCP server,
https://carlyassistant.com/mcp/. - Finish the authorization in the browser tab that opens. If it sits on Waiting for authorization, use Reopen.
- Sign in to the Carly account holding the connections above.
- Confirm Carly appears under Installed.
Grok Bot takes remote MCP servers rather than local ones, and Carly’s is hosted, so it qualifies. Plugin connections belong to your Grok Bot account rather than an individual Bot, and team plans inherit Cursor’s MCP policy, so an admin can gate it.
Grok Bot versus Carly on Google Calendar
| Need | Grok Bot | Carly |
|---|---|---|
| Read every calendar in one Google account | Yes, via the Cursor plugin | Yes |
| Create, move and delete events | Yes, named tools for each | Yes |
| Invite and remove attendees | Yes, documented | Yes |
| Plain free/busy without naming attendees | No freebusy tool | Yes |
| Hold two Google accounts as separate connections | Not documented either way | Yes |
| Keep one Bot away from a calendar | No, connectors are account-wide | Yes, per connection |
| Set up without an admin able to block it | Not on a team, MCP policy applies | Yes |
| Act when an event is created or moved | No calendar trigger exists | Yes |
Grok Bot’s calendar plugin covers nine named verbs including attendee invites, and its cloud browser reaches services that have no plugin at all. Both run through one set of signed-in sessions shared by every Bot on the account, so a second Google identity is reachable but never separable.
Carly answers the part that stays undocumented. Each Google identity is its own authorization, so a personal calendar and a Workspace calendar sit side by side as separate connections rather than as a sharing arrangement, and one question spans both with the source named on every row. Separate connections can also be kept apart, which an account-wide shared machine cannot offer at all. And it acts when the calendar changes: the invite lands, the clash is caught, the alternative goes out before you have opened anything.
Free Zapier-style workflows; AI agents from $35/month. Connect it on the integrations page, or start with Google Calendar.
Quick fixes
| Problem | Fix |
|---|---|
| No calendar connector anywhere in Grok Bot | There is no xAI one; the path is Settings, Plugins, Google Calendar, from Cursor’s marketplace |
| Grok Bot is missing entirely | Legacy Privacy Mode blocks it, and it needs SuperGrok Heavy, Cursor Ultra, a trial or a team seat |
| The plugin is not in your Plugins list | Either the client version floor or your team’s MCP allowlist, denylist or global switch |
| A guide tells you to run gcloud commands | That is Google’s developer path for building your own server; the plugin carries its own OAuth client |
| It cannot tell you when you are free | There is no freebusy tool, so use suggest_time and pass at least one attendee address |
| A second Google account has nowhere to go | Undocumented; share its calendars in, or pass its address as an attendee for availability |
| One Bot can see a calendar it should not | Connectors are account-wide by design, so use approval rules rather than expecting Bot isolation |
Frequently asked questions
Does Grok Bot work with Google Calendar?
Not through anything xAI built. No xAI page names Google Calendar for Grok Bot. The route is Cursor’s plugin marketplace, which carries a verified Google Calendar plugin wrapping Google’s own remote MCP server, and xAI states that Grok Bot has no separate plugin controls and shares MCP authentication with Cursor.
Can I connect two Google accounts to Grok Bot?
Nobody documents it either way. A second MCP server entry with the same Google endpoint is structurally possible, but whether the token is keyed by server name or by URL is unknown, so the second sign-in might replace the first. The shared browser holding two Google sessions is the more reliable of the two inferences.
Can separate Bots hold separate calendars?
No. The cloud computer is assigned to your user account rather than to a Bot, and installed connectors are account-wide. There is no way to give a client Bot the client calendar and withhold your own.
Can Grok Bot invite people to an event it creates?
Yes, and this is where it is ahead of the consumer product. Google’s calendar tools document an attendees list on create, named parameters for adding and removing attendees on update, and RSVP as accept, decline or tentative.
Will an admin be able to block this?
On a team, yes. Grok Bot inherits Cursor’s MCP policy: a global switch to disable all MCP commands, a server allowlist and denylist, and a setting for whether members can add their own servers.
Related: What Grok Bot does · Multiple Google Calendars in consumer Grok · Multiple Slack workspaces in Grok Bot · Multiple Gmail accounts in Grok Bot · MCP servers · Google Calendar integration
Ready to automate your busywork?
Carly schedules, researches, and briefs you—so you can focus on what matters.
See what people say
"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.
Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.
On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."


