Content

How to Connect Google Calendar to Claude

Claude can read your day without emailing anyone. Creating or moving a meeting with guests sends mail you cannot take back.

IntegrationsOct 16, 2026

Key takeaways

  • -In this article we explore how to connect Google Calendar to Claude without letting the assistant email your guests by accident.
  • -To understand how calendar invites work: creating a meeting with other people notifies them. Moving that meeting notifies them again. You cannot unsend those notes.
  • -The safe first action is a read, such as what is on the calendar today. Leave create and move off until you mean to tell other people.
  • -The manifest name is google_calendar. Download it with swy get google_calendar, then search with swy discover and --project google_calendar.
  • -The Google login is stored with swy auth connect google_calendar, outside the chat. Swytchcode test mode does not by itself decide whose calendar you connected.

You want Claude to tell you what is on your calendar today, find a clash, or notice a meeting with no agenda. That is a kind assistant. It does not need to email anyone to do those jobs.

Creating a meeting is different, and moving one is different again. If other people are invited, they get a notification. If you move the meeting, they get another one. You cannot reach into their inbox and take the first email back. A confused retry can book the same meeting twice, or tell everyone it moved when it did not.

This article connects Google Calendar with a read turned on first. The next section defines Swytchcode. After that are five calendar agents you can start by pasting a prompt.

The same care with mail, where reading is not sending, is in this article: How to Connect Gmail to Grok. Google Calendar in the directory is here. The manifest name is google_calendar, with an underscore. The address of the directory page uses a hyphen. Use the underscore in commands.

What Swytchcode is

Swytchcode is a production runtime for AI agents. Claude decides which API call to make. Swytchcode runs that call. It is not the model and not the calendar itself.

On every call it does eight checks:

  1. Allow list. Only an action you added with swy add method can run.
  2. Schema check. Inputs are checked against that action before the request is sent.
  3. Policy. Rules in policies.json can allow, deny, or hold a call, and can read the arguments.
  4. Credentials. The Google login is added when the call runs. It is not put in the chat. You store it with swy auth connect. There is no project env file for it.
  5. Execution. The request goes from your machine straight to Google Calendar.
  6. Retry. Swytchcode backs off on rate limits. A create or an update is retried only when an idempotency key is already set.
  7. Response check. A success status whose body says the action failed is not treated as success.
  8. Audit. The call and the policy decision are written to a local log.

Test or live mode is chosen once with swy init and stored in .swytchcode/tooling.json. The manifest name for this API is google_calendar.

Google Calendar agents you can build

Paste one prompt into Claude, Cursor, or Codex. The first three only read. The last two still refuse to email guests.

1. Day brief agent

Lists what is on the calendar today. Nobody is emailed.

Set up https://www.swytchcode.com/skills.md and build a Google Calendar day-brief agent. Use the manifest name google_calendar. List today's events with time and title. Do not create, move, or delete events. Do not email guests.

2. Conflict checker

Finds meetings that overlap.

Set up https://www.swytchcode.com/skills.md and build a Google Calendar conflict agent. Use google_calendar. Find events on my calendar that overlap this week. Do not move them. Do not notify anyone.

3. Missing-agenda agent

Flags meetings that have a title and no description.

Set up https://www.swytchcode.com/skills.md and build a Google Calendar agenda agent. Use google_calendar. List upcoming events that have no description. Do not edit the events. Do not invite anyone.

4. Focus-time agent

Holds time on your own calendar. It does not add guests.

Set up https://www.swytchcode.com/skills.md and build a Google Calendar focus-time agent. Use google_calendar. When I name a free hour, create one event on my calendar titled Focus. Add no guests. Show me the event before you create it.

5. Move preview agent

Tells you who would be notified if a meeting moved. It does not move it.

Set up https://www.swytchcode.com/skills.md and build a Google Calendar move-preview agent. Use google_calendar. When I name a meeting, list the guests who would be emailed if it moved. Do not move the meeting. Do not send updates.

Google Calendar reads versus guest notifications

A list of today's events changes nothing. Nobody is emailed. Start there.

An event with no guests is still a write on your calendar. An event with guests is a write plus a notification. Treat "add Alex" as the moment mail goes out. If you only wanted a hold on your own afternoon, do not add guests while you are learning the buttons.

Moving a meeting is a second notification. If the assistant is not sure the first create worked, it should look the event up, not create it again and not slide it an hour "to be safe." A second create is a second meeting. A move tells everyone the time changed.

Swytchcode retries a create or an update only when that call already has an idempotency key, a note that says this is the same event. If you do not know that Google stored that note for this action, do not retry. Look the calendar up. The idea is explained in Idempotency Explained.

Test mode is set once with swy init --mode=sandbox and saved in .swytchcode/tooling.json. It does not choose which Google account you connect. Connect a calendar you can stand to clutter, not the company-wide one, until a read looks right.

Follow these steps to connect Google Calendar

swy is the short name for the Swytchcode program.

1. Follow this step to install the CLI

If you use Node.js:

npm install -g swytchcode

On Windows PowerShell:

irm https://cli.swytchcode.com/install.ps1 | iex

On macOS or Linux:

curl -fsSL https://cli.swytchcode.com/install.sh | sh

Then swy --version. More of the install is in the CLI quickstart.

2. Follow this step to sign in

swy login

This is the Swytchcode account, not Google. See the authentication docs.

3. Follow this step to start in test mode

swy init --editor=claude --mode=sandbox

Use cursor or codex instead of claude if that is your editor. See Set up a project.

4. Follow this step to download Google Calendar

swy get google_calendar

The name has an underscore. This download does not turn every calendar action on.

5. Follow this step to find a read of your day

swy discover "list events on my calendar" --project google_calendar

Use the name it prints. Do not copy an action name from an old note, including this article.

6. Follow this step to see the fields

swy info <id from discover>

Replace <id from discover> with the name from step 5. Run it after step 4.

7. Follow this step to turn that read on

swy add method <id from discover>

Leave "create an event" and "move an event" off until you want other people to be notified.

8. Follow this step to connect Google

swy auth connect google_calendar

The login stays on your machine, outside the chat. Explore this article: credential brokering.

FAQ

How do I connect Google Calendar to Claude?

Follow the eight steps in this article. Ask for today's events before you create a meeting. Do not paste a Google token into the chat.

Will reading my calendar email the guests?

No. Creating or changing an event that includes other people can notify them. A move notifies them again. Those notes cannot be unsent.

What is the command name, google-calendar or google_calendar?

google_calendar, with an underscore. That is the manifest name. The directory address uses a hyphen.

The assistant created the meeting twice. What now?

Do not create a third one to cancel the extras by hand from the chat until you have looked at the calendar. Two creates are two events. Delete or decline the extra one on purpose, as its own action, after you can see both.

Ask what is on today

Start at step 1 if you have not installed the CLI. Then ask Claude what is on the calendar today. Do not ask it to invite anyone.

You can give Claude, Cursor, or Codex skills.md and ask it to follow these steps in test mode.

If people got an invite you did not mean to send, say so. Discord is the quick place. The contact form is better if the guest list is private.

More content