> ## 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.

# On event created

> Start an automation when a new event is observed in a Google Calendar.

`onCalendarEventCreated` emits events created after the calendar's initial
synchronization. Existing events establish the baseline and are not replayed.

## Example

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

export default automation("Handle new calendar events", () => {
  const event = onCalendarEventCreated({ calendarId: "team@example.com" })

  event.summary
})
```

## Options

`calendarId?: string` is a static immutable calendar ID and defaults to
`"primary"`. Unlike action calendar references, triggers do not resolve display
titles. `account` is a static Google account binding and defaults to the project
binding; signals cannot select either value at runtime.

## Trigger data

Returns one normalized `CalendarEvent` for each newly observed event; see [Get
event](/reference/integrations/google-calendar/actions/get-event#output). The
provider's notifications contain no event body, so Automate.ax incrementally
synchronizes the calendar. Repeated notification delivery is deduplicated by
event identity and provider representation.
