{
  "url": "https://telipot.com/catalog/capabilities/calendar.events.create",
  "id": "calendar.events.create",
  "description": "Add an event to a calendar",
  "platform": "calendar",
  "providers": [
    {
      "slug": "google-calendar",
      "name": "Google Calendar"
    }
  ],
  "tasks": 1,
  "taskPages": [
    {
      "id": "google-calendar.events.create",
      "name": "Add an event with a title, times and guests to a calendar",
      "provider": {
        "slug": "google-calendar",
        "name": "Google Calendar"
      },
      "capability": "calendar.events.create",
      "platform": "calendar",
      "kind": "action",
      "tier": "core",
      "identity": "user",
      "identityLabel": "Person’s own",
      "price": {
        "amount": "Free",
        "state": "free",
        "label": "Free",
        "detail": "Free from the tool",
        "type": "free"
      },
      "providers": 1,
      "retention": "standard",
      "runsOn": "free",
      "live": true,
      "summary": "Creates an event.",
      "method": "POST",
      "path": "/calendar/v3/calendars/{calendarId}/events",
      "host": "https://www.googleapis.com",
      "docsUrl": "https://developers.google.com/workspace/calendar/api/v3/reference/events/insert",
      "auth": {
        "scheme": "oauth",
        "label": "oauth · OAuth 2.0 with PKCE",
        "short": "oauth · OAuth 2.0"
      },
      "scope": "own_account",
      "principal": "user",
      "requiredScopes": [
        "calendar.events"
      ],
      "verification": {
        "state": "none",
        "label": "Not verified yet",
        "detail": "Not checked yet. We test with a real request before we mark it."
      },
      "input": [
        {
          "name": "calendarId",
          "location": "pathParams",
          "type": "string",
          "required": true,
          "constraints": [],
          "note": "primary for the connected account's own calendar, or an id from google-calendar.calendars.list"
        },
        {
          "name": "sendUpdates",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [
            "one of \"all\", \"externalOnly\", \"none\""
          ],
          "note": "Which guests get an email about the change; none when absent"
        },
        {
          "name": "id",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "An id you choose, 5 to 1024 characters from a to v and 0 to 9; a retried create with the same id answers 409 and adds no second event"
        },
        {
          "name": "start",
          "location": "body",
          "type": "object",
          "required": true,
          "constraints": [],
          "note": "An object with a dateTime and its offset, or a date for an all-day event, and optionally a timeZone"
        },
        {
          "name": "end",
          "location": "body",
          "type": "object",
          "required": true,
          "constraints": [],
          "note": "Exclusive; an object with a dateTime and its offset, or a date for an all-day event, and optionally a timeZone"
        },
        {
          "name": "summary",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "The title"
        },
        {
          "name": "description",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "The description; it can hold HTML"
        },
        {
          "name": "location",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Free text"
        },
        {
          "name": "attendees",
          "location": "body",
          "type": "array",
          "required": false,
          "constraints": [],
          "note": "The guests, each an object with an email, and optionally optional, displayName or comment"
        },
        {
          "name": "recurrence",
          "location": "body",
          "type": "array",
          "required": false,
          "constraints": [],
          "note": "RRULE, EXRULE, RDATE and EXDATE lines; give the start and end a timeZone when it recurs"
        },
        {
          "name": "reminders",
          "location": "body",
          "type": "object",
          "required": false,
          "constraints": [],
          "note": "The reminders for the connected account on this event"
        },
        {
          "name": "visibility",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [
            "one of \"default\", \"public\", \"private\", \"confidential\""
          ],
          "note": "Who can see the event's details"
        },
        {
          "name": "transparency",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [
            "one of \"opaque\", \"transparent\""
          ],
          "note": "opaque blocks time on the calendar and transparent leaves it free"
        },
        {
          "name": "colorId",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "An id from the event colors the Calendar API lists"
        }
      ],
      "sampleInput": {
        "calendarId": "primary",
        "start": {
          "dateTime": "2026-10-12T10:00:00-07:00",
          "timeZone": "America/Los_Angeles"
        },
        "end": {
          "dateTime": "2026-10-12T10:30:00-07:00",
          "timeZone": "America/Los_Angeles"
        }
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "primary for the connected account's own calendar, or an id from google-calendar.calendars.list",
            "examples": [
              "primary"
            ]
          },
          "sendUpdates": {
            "type": "string",
            "description": "Which guests get an email about the change; none when absent",
            "enum": [
              "all",
              "externalOnly",
              "none"
            ]
          },
          "id": {
            "type": "string",
            "description": "An id you choose, 5 to 1024 characters from a to v and 0 to 9; a retried create with the same id answers 409 and adds no second event",
            "examples": [
              "planning2026101201"
            ]
          },
          "start": {
            "type": "object",
            "description": "An object with a dateTime and its offset, or a date for an all-day event, and optionally a timeZone",
            "examples": [
              {
                "dateTime": "2026-10-12T10:00:00-07:00",
                "timeZone": "America/Los_Angeles"
              }
            ]
          },
          "end": {
            "type": "object",
            "description": "Exclusive; an object with a dateTime and its offset, or a date for an all-day event, and optionally a timeZone",
            "examples": [
              {
                "dateTime": "2026-10-12T10:30:00-07:00",
                "timeZone": "America/Los_Angeles"
              }
            ]
          },
          "summary": {
            "type": "string",
            "description": "The title",
            "examples": [
              "Planning"
            ]
          },
          "description": {
            "type": "string",
            "description": "The description; it can hold HTML"
          },
          "location": {
            "type": "string",
            "description": "Free text"
          },
          "attendees": {
            "type": "array",
            "description": "The guests, each an object with an email, and optionally optional, displayName or comment",
            "examples": [
              [
                {
                  "email": "contact@example.com"
                }
              ]
            ]
          },
          "recurrence": {
            "type": "array",
            "description": "RRULE, EXRULE, RDATE and EXDATE lines; give the start and end a timeZone when it recurs",
            "examples": [
              [
                "RRULE:FREQ=WEEKLY;COUNT=4"
              ]
            ]
          },
          "reminders": {
            "type": "object",
            "description": "The reminders for the connected account on this event",
            "examples": [
              {
                "useDefault": false,
                "overrides": [
                  {
                    "method": "popup",
                    "minutes": 10
                  }
                ]
              }
            ]
          },
          "visibility": {
            "type": "string",
            "description": "Who can see the event's details",
            "enum": [
              "default",
              "public",
              "private",
              "confidential"
            ]
          },
          "transparency": {
            "type": "string",
            "description": "opaque blocks time on the calendar and transparent leaves it free",
            "enum": [
              "opaque",
              "transparent"
            ]
          },
          "colorId": {
            "type": "string",
            "description": "An id from the event colors the Calendar API lists"
          }
        },
        "required": [
          "calendarId",
          "start",
          "end"
        ],
        "additionalProperties": false
      },
      "output": [
        {
          "name": "id",
          "type": "string"
        },
        {
          "name": "status",
          "type": "string",
          "description": "confirmed, tentative or cancelled"
        },
        {
          "name": "summary",
          "type": "string",
          "description": "The title"
        },
        {
          "name": "description",
          "type": "string",
          "description": "The description; it can hold HTML"
        },
        {
          "name": "location",
          "type": "string"
        },
        {
          "name": "htmlLink",
          "type": "string",
          "description": "A link to the event in the Google Calendar web app"
        },
        {
          "name": "created",
          "type": "string",
          "description": "RFC 3339 time"
        },
        {
          "name": "updated",
          "type": "string",
          "description": "RFC 3339 time of the last change to the main event data"
        },
        {
          "name": "creator",
          "type": "object"
        },
        {
          "name": "organizer",
          "type": "object"
        },
        {
          "name": "start",
          "type": "object",
          "description": "A date for an all-day event, or a dateTime with its offset"
        },
        {
          "name": "end",
          "type": "object",
          "description": "Exclusive; a date for an all-day event, or a dateTime with its offset"
        },
        {
          "name": "recurrence",
          "type": "string[]",
          "description": "RRULE, EXRULE, RDATE and EXDATE lines of a recurring event"
        },
        {
          "name": "recurringEventId",
          "type": "string",
          "description": "The id of the recurring event this is an instance of"
        },
        {
          "name": "originalStartTime",
          "type": "object"
        },
        {
          "name": "attendees",
          "type": "object[]"
        },
        {
          "name": "attendeesOmitted",
          "type": "boolean"
        },
        {
          "name": "hangoutLink",
          "type": "string"
        },
        {
          "name": "conferenceData",
          "type": "object",
          "description": "The conference details such as a Google Meet link"
        },
        {
          "name": "visibility",
          "type": "string",
          "description": "default, public, private or confidential"
        },
        {
          "name": "transparency",
          "type": "string",
          "description": "opaque when the event blocks time, transparent when it does not"
        },
        {
          "name": "eventType",
          "type": "string",
          "description": "default, birthday, focusTime, fromGmail, outOfOffice or workingLocation"
        },
        {
          "name": "colorId",
          "type": "string"
        },
        {
          "name": "iCalUID",
          "type": "string"
        },
        {
          "name": "sequence",
          "type": "integer"
        },
        {
          "name": "reminders",
          "type": "object"
        },
        {
          "name": "etag",
          "type": "string"
        },
        {
          "name": "kind",
          "type": "string"
        }
      ],
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "description": "confirmed, tentative or cancelled"
          },
          "summary": {
            "type": "string",
            "description": "The title"
          },
          "description": {
            "type": "string",
            "description": "The description; it can hold HTML"
          },
          "location": {
            "type": "string"
          },
          "htmlLink": {
            "type": "string",
            "description": "A link to the event in the Google Calendar web app"
          },
          "created": {
            "type": "string",
            "description": "RFC 3339 time"
          },
          "updated": {
            "type": "string",
            "description": "RFC 3339 time of the last change to the main event data"
          },
          "creator": {
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "displayName": {
                "type": "string"
              },
              "self": {
                "type": "boolean"
              }
            }
          },
          "organizer": {
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "displayName": {
                "type": "string"
              },
              "self": {
                "type": "boolean"
              }
            }
          },
          "start": {
            "type": "object",
            "description": "A date for an all-day event, or a dateTime with its offset",
            "properties": {
              "date": {
                "type": "string"
              },
              "dateTime": {
                "type": "string"
              },
              "timeZone": {
                "type": "string"
              }
            }
          },
          "end": {
            "type": "object",
            "description": "Exclusive; a date for an all-day event, or a dateTime with its offset",
            "properties": {
              "date": {
                "type": "string"
              },
              "dateTime": {
                "type": "string"
              },
              "timeZone": {
                "type": "string"
              }
            }
          },
          "recurrence": {
            "type": "array",
            "description": "RRULE, EXRULE, RDATE and EXDATE lines of a recurring event",
            "items": {
              "type": "string"
            }
          },
          "recurringEventId": {
            "type": "string",
            "description": "The id of the recurring event this is an instance of"
          },
          "originalStartTime": {
            "type": "object",
            "properties": {
              "date": {
                "type": "string"
              },
              "dateTime": {
                "type": "string"
              },
              "timeZone": {
                "type": "string"
              }
            }
          },
          "attendees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                },
                "displayName": {
                  "type": "string"
                },
                "responseStatus": {
                  "type": "string",
                  "description": "needsAction, declined, tentative or accepted"
                },
                "organizer": {
                  "type": "boolean"
                },
                "self": {
                  "type": "boolean"
                },
                "resource": {
                  "type": "boolean"
                },
                "optional": {
                  "type": "boolean"
                }
              }
            }
          },
          "attendeesOmitted": {
            "type": "boolean"
          },
          "hangoutLink": {
            "type": "string"
          },
          "conferenceData": {
            "type": "object",
            "description": "The conference details such as a Google Meet link"
          },
          "visibility": {
            "type": "string",
            "description": "default, public, private or confidential"
          },
          "transparency": {
            "type": "string",
            "description": "opaque when the event blocks time, transparent when it does not"
          },
          "eventType": {
            "type": "string",
            "description": "default, birthday, focusTime, fromGmail, outOfOffice or workingLocation"
          },
          "colorId": {
            "type": "string"
          },
          "iCalUID": {
            "type": "string"
          },
          "sequence": {
            "type": "integer"
          },
          "reminders": {
            "type": "object",
            "properties": {
              "useDefault": {
                "type": "boolean"
              },
              "overrides": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string"
                    },
                    "minutes": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "etag": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "example": {
        "file": "examples/google-calendar.events.create.json",
        "json": {
          "kind": "calendar#event",
          "etag": "\"EXAMPLEETAG\"",
          "id": "3vq8k2nd5ho1c7a9f0b4lmetoe",
          "status": "confirmed",
          "htmlLink": "https://www.google.com/calendar/event?eid=EXAMPLE",
          "created": "2026-09-28T16:02:10.000Z",
          "updated": "2026-09-28T16:02:10.512Z",
          "summary": "Planning",
          "creator": {
            "email": "contact@example.com",
            "self": true
          },
          "organizer": {
            "email": "contact@example.com",
            "self": true
          },
          "start": {
            "dateTime": "2026-10-12T10:00:00-07:00",
            "timeZone": "America/Los_Angeles"
          },
          "end": {
            "dateTime": "2026-10-12T10:30:00-07:00",
            "timeZone": "America/Los_Angeles"
          },
          "sequence": 0,
          "attendees": [
            {
              "email": "contact@example.com",
              "organizer": true,
              "self": true,
              "responseStatus": "accepted"
            },
            {
              "email": "guest@example.com",
              "responseStatus": "needsAction"
            }
          ],
          "reminders": {
            "useDefault": true
          },
          "eventType": "default"
        }
      },
      "commands": {
        "mode": "run",
        "cli": "telipot run google-calendar.events.create \\\n  --input-json '{\"calendarId\":\"primary\",\"start\":{\"dateTime\":\"2026-10-12T10:00:00-07:00\",\"timeZone\":\"America/Los_Angeles\"},\"end\":{\"dateTime\":\"2026-10-12T10:30:00-07:00\",\"timeZone\":\"America/Los_Angeles\"}}' \\\n  --as user:ana",
        "http": "curl https://api.telipot.com/v1/tasks/google-calendar.events.create/run \\\n  -H \"Authorization: Bearer $TELIPOT_TOKEN\" \\\n  -H \"Telipot-Principal: user:ana\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"calendarId\":\"primary\",\"start\":{\"dateTime\":\"2026-10-12T10:00:00-07:00\",\"timeZone\":\"America/Los_Angeles\"},\"end\":{\"dateTime\":\"2026-10-12T10:30:00-07:00\",\"timeZone\":\"America/Los_Angeles\"}}'",
        "quote": "telipot run google-calendar.events.create \\\n  --input-json '{\"calendarId\":\"primary\",\"start\":{\"dateTime\":\"2026-10-12T10:00:00-07:00\",\"timeZone\":\"America/Los_Angeles\"},\"end\":{\"dateTime\":\"2026-10-12T10:30:00-07:00\",\"timeZone\":\"America/Los_Angeles\"}}' \\\n  --as user:ana \\\n  --quote"
      },
      "siblings": []
    }
  ]
}
