> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Create event

> Create a timed or all-day Google Calendar event with optional attendees and Google Meet.

`createEvent` creates a complete event. Use it for meetings, reminders, and
recurring schedules when you want explicit control over dates, guests, and
notification behavior.

## Example

```ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { createEvent } from "automate.ax/google-calendar"

export default automation("Schedule weekly planning", () => {
  onHttpRequest({ scope: "automation" })

  createEvent({
    calendar: "Team Calendar",
    summary: "Weekly planning",
    schedule: {
      start: "2026-08-10T09:00:00-07:00",
      end: "2026-08-10T09:45:00-07:00",
      timeZone: "America/Los_Angeles",
    },
    attendees: [{ email: "ada@example.com" }],
    recurrence: ["RRULE:FREQ=WEEKLY;BYDAY=MO"],
    createMeet: true,
    sendUpdates: "all",
  })
})
```

## Inputs

| Property                                                              | Type                                                                                           | Required | Default           | Description                                                                                                     |
| --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -------- | ----------------- | --------------------------------------------------------------------------------------------------------------- |
| `summary`                                                             | `string`                                                                                       | Yes      | —                 | Event title.                                                                                                    |
| `schedule`                                                            | `{ start: string; end: string; timeZone?: string } \| { startDate: string; endDate?: string }` | Yes      | —                 | Timed RFC 3339 interval or all-day ISO dates. The all-day end is exclusive and defaults to the next day.        |
| `calendar`                                                            | `string`                                                                                       | No       | `"primary"`       | Exact calendar title or ID.                                                                                     |
| `description`, `location`, `colorId`                                  | `string`                                                                                       | No       | —                 | Display details and Calendar color ID.                                                                          |
| `attendees`                                                           | `EventAttendeeInput[]`                                                                         | No       | `[]`              | Guest emails plus optional name, response, resource, optional-attendance, comment, and additional-guest fields. |
| `attachments`                                                         | `{ fileUrl: string; fileId?: string; title?: string; mimeType?: string }[]`                    | No       | `[]`              | Up to 25 event attachments.                                                                                     |
| `recurrence`                                                          | `string[]`                                                                                     | No       | `[]`              | RFC 5545 lines such as `RRULE:FREQ=WEEKLY;BYDAY=MO`.                                                            |
| `reminders`                                                           | `{ useDefault: true } \| { useDefault: false; overrides: Reminder[] }`                         | No       | Calendar defaults | Up to five event-specific email or popup reminders.                                                             |
| `extendedProperties`                                                  | `{ private?: Record<string,string>; shared?: Record<string,string> }`                          | No       | —                 | Application-defined properties.                                                                                 |
| `transparency`                                                        | `"opaque" \| "transparent"`                                                                    | No       | Provider default  | Whether the event blocks time.                                                                                  |
| `visibility`                                                          | `"default" \| "public" \| "private" \| "confidential"`                                         | No       | `"default"`       | Event visibility.                                                                                               |
| `guestsCanInviteOthers`, `guestsCanModify`, `guestsCanSeeOtherGuests` | `boolean`                                                                                      | No       | Google defaults   | Guest permissions.                                                                                              |
| `createMeet`                                                          | `boolean`                                                                                      | No       | `false`           | Create and attach a new Google Meet.                                                                            |
| `sendUpdates`                                                         | `"all" \| "externalOnly" \| "none"`                                                            | No       | Google default    | Guest notification behavior.                                                                                    |
| `account`                                                             | Google account reference                                                                       | No       | Project default   | Connected Google account.                                                                                       |

## Output

Returns the created `CalendarEvent`; see [Get event](/reference/integrations/google-calendar/actions/get-event#output) for the complete shape. Keep `id` and `calendarId` for later update, move, or delete actions. Meet creation may initially report `conference.creationStatus: "pending"`.

<Warning>
  `sendUpdates: "all"` can email every guest. Use `"none"` deliberately when
  testing, but Google recommends notifications for material guest changes.
</Warning>
