---
name: "google_calendar_create"
area: "googleworkspace"
title: "Add a Google Calendar event"
price: "$0.001"
method: "POST"
url: "https://api.conecto.chat/v1/tools/google_calendar_create"
mcp_server: "https://api.conecto.chat/mcp/googleworkspace"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/googleworkspace/google_calendar_create"
---

# Add a Google Calendar event (`google_calendar_create`)

Adds an event to a mailbox's calendar and invites its attendees, with a Meet link if asked.

Put an event in a mailbox's calendar and invite its attendees, with a Google Meet link when asked. Times with an offset, or local to `timezone`. $0.001.

Price: $0.001 a call. A call that fails costs nothing.

## Use it when

A customer or colleague agreed a time.

- For a booking page where customers pick their own time, use [calendar_save_meeting_type](https://conecto.chat/tools/calendar/calendar_save_meeting_type.md).

## Say this to your agent

> Book a video call with Hannah Price on Saturday at 11:30 to plan her fitting, with a Meet link.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `mailbox` | string | no | One of the mailboxes the agent may act as; optional when only one is connected. Up to 254 characters. |  |  |
| `subject` | string | yes | 1 to 255 characters. |  |  |
| `start` | string | yes | Up to 40 characters. |  |  |
| `end` | string | yes | Up to 40 characters. |  |  |
| `timezone` | string | no | Up to 60 characters. |  |  |
| `attendees` | array of strings | no | Up to 50 items. |  |  |
| `location` | string | no | Up to 255 characters. |  |  |
| `body` | string | no | Up to 10,000 characters. |  |  |
| `online_meeting` | boolean | no |  |  | `false` |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `google_calendar_create` on the MCP server `https://api.conecto.chat/mcp/googleworkspace` with these arguments:

```json
{
  "mailbox": "support@halversoncycle.example",
  "subject": "Fitting call: Hannah Price",
  "start": "2026-10-24T11:30",
  "end": "2026-10-24T12:15",
  "timezone": "America/Los_Angeles",
  "attendees": [
    "hannah.price@example.com"
  ],
  "online_meeting": true
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/google_calendar_create \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mailbox": "support@halversoncycle.example", "subject": "Fitting call: Hannah Price", "start": "2026-10-24T11:30", "end": "2026-10-24T12:15", "timezone": "America/Los_Angeles", "attendees": ["hannah.price@example.com"], "online_meeting": true}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "google_calendar_create",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.001",
  "balance_usd": "$19.75",
  "result": {
    "mailbox": "support@halversoncycle.example",
    "event": {
      "id": "k2b9c7d1e5f3g8h4j6m0n2p4q6",
      "subject": "Fitting call: Hannah Price",
      "start": "2026-10-24T18:30:00Z",
      "end": "2026-10-24T19:15:00Z",
      "location": null,
      "organizer": "support@halversoncycle.example",
      "attendees": [
        "hannah.price@example.com"
      ],
      "online_meeting": "https://meet.google.com/abc-defg-hij",
      "cancelled": false,
      "link": "https://www.google.com/calendar/event?eid=azJiOWM3ZDFl"
    }
  }
}
```

`result`: mailbox; event: id, subject, start, end, location, organizer, attendees, online_meeting and link.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_connected` | 409 | Google Workspace isn't connected yet. | Connect it with google_connect. |
| `not_allowed` | 403 | The mailbox is not one the agent may act as. | Use a connected mailbox; the owner adds one by connecting again. |
| `vendor_rejected` | 502 | Google refused: delegation is missing a scope, or Google said no. | Ask the Workspace admin to grant what the message names. |
| `invalid_input` | 400 | A time or address is not valid, or end is not after start. | Fix what the message names. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [google_connect](https://conecto.chat/tools/googleworkspace/google_connect.md): Connects the company's Google Workspace through its own service account, for the mailboxes the agent may act as. Free.
- [google_mail_search](https://conecto.chat/tools/googleworkspace/google_mail_search.md): The newest messages in a mailbox, or those matching a Gmail search. Free up to 1,000,000 reads a month.
- [google_mail_read](https://conecto.chat/tools/googleworkspace/google_mail_read.md): One message in full, with its body as text and its attachments' names. Free up to 1,000,000 reads a month.
- [google_mail_send](https://conecto.chat/tools/googleworkspace/google_mail_send.md): Sends an email, or a reply in the same thread, as one of the company's mailboxes. $0.001 a call.
- [google_calendar_events](https://conecto.chat/tools/googleworkspace/google_calendar_events.md): The events in a mailbox's calendar between two times, in UTC. Free up to 1,000,000 reads a month.
- [google_calendar_cancel](https://conecto.chat/tools/googleworkspace/google_calendar_cancel.md): Cancels an event and tells its attendees; waits for the owner by default. $0.001 a call.
- [google_drive_search](https://conecto.chat/tools/googleworkspace/google_drive_search.md): Files in a mailbox user's Drive, shared drives included, whose words match. Free up to 1,000,000 reads a month.
- [google_drive_read](https://conecto.chat/tools/googleworkspace/google_drive_read.md): A Drive file's words: Docs, Sheets, Slides, text, PDF or Office, up to 5 MB. Free up to 1,000,000 reads a month.
- [google_drive_upload](https://conecto.chat/tools/googleworkspace/google_drive_upload.md): Writes a text file into a Drive folder; replacing one waits for the owner. $0.001 a call.
- [google_disconnect](https://conecto.chat/tools/googleworkspace/google_disconnect.md): Forgets the service account's key and the mailboxes; nothing in Google Workspace changes. Free.
