create_event
Creates an event and returns it (id, htmlLink, start/end, attendees, hangoutLink when add_meet). Times: EITHER start_date_time + end_date_time (RFC3339; add time_zone for recurring events) OR start_date + end_date for all-day (end_date is EXCLUSIVE — the day after the last day). recurrence makes ...
This record as markdown: /tools/a1-x-tech-mcp-google-calendar/create-event.md
What create_event does on Mcp Google Calendar
AI agents use create_event to create or update resources in Mcp Google Calendar, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp Google Calendar environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
summary | string | Yes | Event title. |
add_meet | boolean | — | Attach a Google Meet conference. The returned conferenceData may be status=pending — re-run get_event for the final Meet link. |
color_id | string | — | Event color id ("1".."11"; the palette is fixed by Google). |
end_date | string | — | All-day event end date, EXCLUSIVE — the day after the last day (a one-day event on the 5th ends on the 6th). |
location | string | — | Free-form location, e.g. a room name or address. |
attendees | array | — | Guest list. On update this REPLACES the whole list — fetch the event first and send the complete new list. Invitation emails go out only with send_updates=all. |
reminders | array | — | Custom reminders (max 5). Setting this turns default reminders off for the event. |
time_zone | string | — | IANA time zone for start/end (e.g. "Europe/Berlin"). REQUIRED for recurring events; otherwise optional when the RFC3339 offsets already say everything. |
recurrence | array | — | RRULE/RDATE/EXRULE/EXDATE lines (RFC 5545) making the event recurring, e.g. ["RRULE:FREQ=WEEKLY;BYDAY=MO,WE"]. Requires the timed pair plus time_zone. |
start_date | string | — | All-day event start date (YYYY-MM-DD). Pair with end_date. |
visibility | string | — | Who can see event details on a shared calendar. |
calendar_id | string | Yes | The calendar id from list_calendars, or "primary" for the authenticated user's main calendar. |
Parameters from the server's own tool schema.
Why create_event is rated Medium
An AI agent can call create_event faster than any human can review: one bad instruction and it creates or modifies resources in Mcp Google Calendar by the hundred, each call as confident as the last.
Risk signalsHigh parameter count (25 properties)
Attacks that exploit this kind of access
The rule that runs create_event safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Mcp Google Calendar, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_event, this is the rule to start with:
create_event stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Mcp Google Calendar, apply this rule, and every create_event call is checked against it from then on.
Questions about create_event
Creates an event and returns it (id, htmlLink, start/end, attendees, hangoutLink when add_meet). Times: EITHER start_date_time + end_date_time (RFC3339; add time_zone for recurring events) OR start_date + end_date for all-day (end_date is EXCLUSIVE — the day after the last day). recurrence makes it a recurring series. attendees invites guests — but the API sends invitation emails ONLY with send_updates=all (the default notifies nobody). add_meet attaches a Google Meet link (may come back status=pending — re-run get_event for the final URL). This is a plain calendar write: it does not check for conflicts — call query_free_busy first to find a free slot. Never blindly re-send after a timeout or 5xx: the event may already exist — check with list_events first, or you will create a duplicate and re-invite everyone. It is categorised as a Write tool in the Mcp Google Calendar MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_event accepts 12 parameters: summary, add_meet, color_id, end_date, location, attendees, reminders, time_zone, recurrence, start_date, visibility, calendar_id. Required: summary, calendar_id. The full parameter table on this page comes from the server's own tool schema.
Register the Mcp Google Calendar MCP server in PolicyLayer and add a rule for create_event: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp Google Calendar. Nothing to install.
create_event is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_event rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_event. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_event is provided by the Mcp Google Calendar MCP server (@a1-x-tech/mcp-google-calendar). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Mcp Google Calendar, and thousands of servers like it.
This server
Across the catalogue