gcal_create_event
Pack: google_calendar · Endpoint: https://gateway.pipeworx.io/google_calendar/mcp
Create a new calendar event with summary, start/end times, optional description, location, and attendee emails. Returns the created event ID.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
calendar_id | string | no | Calendar ID (default: “primary”) |
summary | string | yes | Title of the event |
start | string | yes | Start time as RFC3339 timestamp (e.g., “2024-06-15T10:00:00-07:00”) or date for all-day events (“2024-06-15”) |
end | string | yes | End time as RFC3339 timestamp or date for all-day events |
description | string | no | Description or notes for the event |
location | string | no | Location of the event |
attendees | array | no | List of attendee email addresses |
items | string | no | |
time_zone | string | no | Time zone (e.g., “America/Los_Angeles”). Defaults to calendar’s time zone. |
Example call
Arguments
{
"summary": "Team Standup",
"start": "2024-06-15T10:00:00-07:00",
"end": "2024-06-15T10:30:00-07:00"
}
curl
curl -X POST https://gateway.pipeworx.io/google_calendar/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gcal_create_event","arguments":{"summary":"Team Standup","start":"2024-06-15T10:00:00-07:00","end":"2024-06-15T10:30:00-07:00"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('gcal_create_event', {
"summary": "Team Standup",
"start": "2024-06-15T10:00:00-07:00",
"end": "2024-06-15T10:30:00-07:00"
});
More examples
{
"summary": "Project Kickoff",
"start": "2024-06-20T14:00:00",
"end": "2024-06-20T15:30:00",
"location": "Conference Room A",
"description": "Initial planning meeting",
"attendees": [
"[email protected]",
"[email protected]"
],
"time_zone": "America/New_York"
}
Response shape
| Field | Type | Description |
|---|---|---|
kind | string | Event resource kind |
etag | string | Event ETag |
id | string | Created event ID |
status | string | Event status |
summary | string | Event title |
description | string | Event description |
location | string | Event location |
start | object | Event start time |
end | object | Event end time |
attendees | array | Event attendees |
created | string | Creation timestamp |
updated | string | Last update timestamp |
htmlLink | string | HTML link to event |
error | string | Error code if connection failed |
message | string | Error message if connection failed |
Full JSON Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Event resource kind"
},
"etag": {
"type": "string",
"description": "Event ETag"
},
"id": {
"type": "string",
"description": "Created event ID"
},
"status": {
"type": "string",
"enum": [
"confirmed",
"tentative",
"cancelled"
],
"description": "Event status"
},
"summary": {
"type": "string",
"description": "Event title"
},
"description": {
"type": "string",
"description": "Event description"
},
"location": {
"type": "string",
"description": "Event location"
},
"start": {
"type": "object",
"description": "Event start time",
"properties": {
"date": {
"type": "string",
"description": "Date for all-day events"
},
"dateTime": {
"type": "string",
"description": "DateTime for timed events"
},
"timeZone": {
"type": "string",
"description": "Time zone"
}
}
},
"end": {
"type": "object",
"description": "Event end time",
"properties": {
"date": {
"type": "string",
"description": "Date for all-day events"
},
"dateTime": {
"type": "string",
"description": "DateTime for timed events"
},
"timeZone": {
"type": "string",
"description": "Time zone"
}
}
},
"attendees": {
"type": "array",
"description": "Event attendees",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Attendee email"
},
"displayName": {
"type": "string",
"description": "Attendee display name"
},
"responseStatus": {
"type": "string",
"enum": [
"needsAction",
"declined",
"tentative",
"accepted"
],
"description": "RSVP status"
}
}
}
},
"created": {
"type": "string",
"description": "Creation timestamp"
},
"updated": {
"type": "string",
"description": "Last update timestamp"
},
"htmlLink": {
"type": "string",
"description": "HTML link to event"
},
"error": {
"type": "string",
"description": "Error code if connection failed"
},
"message": {
"type": "string",
"description": "Error message if connection failed"
}
}
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"google_calendar": {
"url": "https://gateway.pipeworx.io/google_calendar/mcp"
}
}
}
See Getting Started for client-specific install steps.