googleCalendar.createEvent for explicit control over dates, guests, recurrence, and notifications.
Example
import { automation, onDashboardRun } from "automate.ax"
import { googleCalendar } from "automate.ax/google-calendar"
export default automation("Schedule weekly planning", () => {
onDashboardRun({ title: "Schedule weekly planning" })
googleCalendar.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 | None | Event title. |
schedule | { start: string; end: string; timeZone?: string } | { startDate: string; endDate?: string } | Yes | None | Timed interval in RFC 3339 format or all-day dates in ISO 8601 format. 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 | None | 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 | [] | Lines in RFC 5545 format, 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 | None | Properties defined by the app. |
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. |
Second argument: { account } | Google Account reference | No | Project default | Connected Google Account. |
Output
Returns the createdCalendarEvent. See Get event. Keep id and calendarId for later updates, moves, or deletion. Meet creation may initially report conference.creationStatus: "pending".
sendUpdates: "all" can email every guest. Use "none" deliberately when
testing, but Google recommends notifications for material guest changes.