BeeGenticResources
Tool guides

Create events with Google Calendar

Create, list, update and delete Google Calendar events from a workflow, or start a workflow when an event changes. Step by step with a narrated video and a real result.

What you'll build: you type a booking request in Chat, for example "Book a 30-minute demo with Maria next Tuesday at 3pm". An AI turns it into an event title, description, start and end, and BeeGentic adds the event to your Google Calendar. Three blocks: Start โ†’ Agent โ†’ Google Calendar. About 5 minutes.

What BeeGentic can do with Google CalendarAll tools โ†’

Connect with: ๐Ÿ” Sign in with your account ยท You need: A Google account with Google Calendar, and an AI key for the Agent

โœ… Create Eventโœ… List Eventsโœ… Get Eventโœ… Update Eventโœ… Delete Eventโœ… Move Eventโœ… Get Recurring Instancesโœ… List Calendarsโœ… Quick Add (Natural Language)โœ… Invite Attendeesโœ… Respond to Invitation (RSVP)โœ… Check Free/Busyโœ… Create Calendarโœ… Update Calendarโœ… Delete Calendarโœ… Share Calendarโœ… Update Sharingโœ… List Sharingโœ… Remove Sharing
โšก Google Calendar Event Trigger

Not supported: Google Tasks and reminders lists ยท Booking pages and appointment schedules ยท Changing an event's reminder or notification settings ยท Calendars you haven't been given access to

โœ… action you can add to a workflow ยท โšก event that can start a workflow

Narrated walkthrough (about 2ยฝ min), with captions (CC button). Each step below also has a short silent clip. The orange numbers in each screenshot match the # column under it. Click a screenshot to enlarge it.

Before you start

You needWhy
A Google account (Gmail or Google Workspace) with Google CalendarBeeGentic adds events to your calendar as you
An AI key saved as a secret, e.g. OPENAI_API_KEYThe Agent reads the request. See References and secrets.
Your time zone name, e.g. America/New_York or Europe/LondonSo "3pm" lands at 3 p.m. for you. We used UTC, the time zone of our demo calendar.

Part 1: Connect Google Calendar (once)

Look at your calendar

Open Google Calendar on the week you'll book into, so you can spot the new event later.

The calendar

#What you see
1Tuesday, October 6: still empty. The workflow will book the demo here.

Watch this step

Find Google Calendar in Integrations

In BeeGentic: Integrations โ†’ search Google Calendar.

Integrations

#What to do
1Click Google Calendar, then Add to BeeGentic.

Watch this step

Confirm and connect

Connect dialog

#What it means
1What BeeGentic may do: View and manage calendar. You can rename the connection in Display name, e.g. Work calendar.
2Click Connect. Google opens.

Watch this step

Pick your Google account

Choose an account

#What to do
1Click the account that owns the calendar, then allow access. You're sent back to BeeGentic, connected. (If you've connected BeeGentic to this Google account before, Google just asks you to Continue.)

Watch this step

Part 2: Build the workflow

Create the workflow and add the Agent

+ New workflow โ†’ name it Book meetings with Google Calendar. Then Toolbar โ†’ Agent. In Messages:

Turn this request into a calendar event: <start.input>. Return a short title, a one-sentence description, and the start and end as local times like 2026-10-06T15:00:00, with no time zone.

Agent message

#What you see
1The message. <start.input> is replaced by what you type in Chat. The times come back without a time zone; the Calendar block adds yours (step 6).

Watch this step

Choose the model and key

Model and key

#FieldValue
1Modelgpt-5-mini
2API Key{{OPENAI_API_KEY}}

Give the Agent a Response Format

Scroll down to Response Format and paste this JSON schema:

{
  "name": "calendar_event",
  "description": "A calendar event",
  "strict": true,
  "schema": {
    "type": "object",
    "properties": {
      "title": { "type": "string", "description": "Short event title" },
      "description": { "type": "string", "description": "One or two sentences about the event" },
      "start": { "type": "string", "description": "Start, like 2026-10-06T15:00:00" },
      "end": { "type": "string", "description": "End, like 2026-10-06T15:30:00" }
    },
    "additionalProperties": false,
    "required": ["title", "description", "start", "end"]
  }
}

Response Format

#What it does
1The Agent now returns four separate fields instead of one block of text: <agent.title>, <agent.description>, <agent.start> and <agent.end>.

Watch this step

Add the Google Calendar block

Toolbar โ†’ Google Calendar (in the tools list, not the one under Triggers). It connects to the Agent automatically.

Google Calendar block

#FieldValue
1OperationCreate Event (the default; the block on the canvas reads Create event)
2Google Calendar AccountThe connection from Part 1
3CalendarYour main calendar: it's named after your email address. Leave it empty and BeeGentic uses your primary calendar.

Watch this step

Map the event fields

Type < in each field and pick the Agent's output, or type the reference:

Event fields

#FieldValue
1Event Title<agent.title>
2Description<agent.description>
3Start Date & Time<agent.start>
4End Date & Time<agent.end>

Also on the block: Location, Attendees (comma-separated emails) and Send Email Notifications (All attendees, External attendees only or None). We left Attendees empty, so nobody gets an invite. Add guests here when you want Google to email them.

Watch this step

Set your time zone

Time Zone is filled in with your computer's time zone when you add the block. Check it, or change it to the calendar's zone. (In the video it's still under Show additional fields; it's now shown by default.)

Time Zone

#FieldValue
1Show additional fieldsOpens Recurrence Rule, Add Google Meet and Time Zone (it now reads Hide additional fields)
2Time ZoneYour IANA time zone. We used UTC.

Press Shift + L to tidy. Your finished workflow:

Finished workflow

#BlockWhat it does
1StartYour chat message becomes <start.input>
2AgentTurns it into title, description, start and end
3Google CalendarCreates the event

Watch this step

Part 3: Run it and check the result

Type the request in Chat

Chat

#What to do
1Open Chat (speech-bubble button), type the request and press Enter. Include the date, so the AI doesn't have to guess which day "next Tuesday" is.

Example message we sent:

Book a 30-minute demo with Maria next Tuesday, October 6, at 3pm about BeeGentic onboarding

Read the output

Result

#What you see
1Your message.
2Each block's run time: the Agent about 5 s, Google Calendar under half a second.
3The output: id (the event ID, here aqa3ak9a45ifgtjbar2eajnvug), htmlLink (opens the event in Google Calendar), status confirmed, and below them summary, description, start, end, creator and organizer.

Watch the run

See it in Google Calendar

In Google Calendar

#What you see
1The event on Tuesday at 3:00 PM, 30 minutes long.
2Its details: the title and description the Agent wrote.

The real event BeeGentic created:

BeeGentic Onboarding Demo โ€” Maria
Tuesday, October 6 ยท 3:00 โ€“ 3:30pm (UTC)
30-minute demo with Maria to review BeeGentic onboarding.

We deleted this test event afterwards with Delete Event (below).

Watch this step

โšก Make it automatic

You wantDo this
Send a confirmation after bookingAdd a Gmail Send Email after Google Calendar, with the event link <googlecalendar.htmlLink> in the body.
A daily agenda emailSchedule trigger โ†’ Google Calendar List Events for today โ†’ Agent summary โ†’ Gmail.
Book from a web formStart with a Webhook Trigger from your site's form instead of Chat (see the web form lead capture recipe).
Book from a Google FormGoogle Forms โ†’ Agent โ†’ Google Calendar.
Log every bookingAdd a Google Sheets Append Data after Google Calendar.
React to new or changed eventsUse the Google Calendar Event Trigger (below).

Google Calendar Event Trigger

Starts the workflow when an event is created, updated or cancelled. In the Toolbar it's Google Calendar under Triggers.

Google Calendar Event Trigger

#FieldWhat it does
1CredentialsYour Google Calendar connection
2CalendarThe calendar to watch. Leave it empty for your primary calendar.
3Event TypeAll events, or only Created, Updated or Cancelled
4Search TermOptional: only events whose title, description, location or attendees contain this text, e.g. standup

BeeGentic checks your calendar on a timer (it polls Google Calendar), so a run can start a few minutes after the change. The trigger output has an event object with id, status, eventType (created, updated or cancelled), summary, eventDescription, location, htmlLink, start, end, created, updated, attendees, creator and organizer, plus calendarId and timestamp. Deploy the workflow to turn it on. For a full example, see the SMS appointment reminders recipe.

๐Ÿงฐ Other operations

OperationWhat it does
List EventsEvents between Start Time Filter and End Time Filter, optionally matching a Search Query, sorted by start time or last update. Recurring meetings come back one occurrence at a time.
Get EventOne event by its Event ID
Update EventChanges an event's title, description, location, times or attendees. Empty fields stay as they are.
Delete EventDeletes an event by its Event ID
Move EventMoves an event to another calendar
Quick Add (Natural Language)Lets Google read a sentence like Lunch with Sam tomorrow at 1pm and create the event, without an Agent
Invite AttendeesAdds guests to an event, or replaces the guest list
Respond to Invitation (RSVP)Accepts, declines or marks Maybe on an invitation, with an optional note
Check Free/BusyShows when one or more calendars are busy in a time range
Get Recurring InstancesThe individual dates of a repeating event
List Calendars / Create Calendar / Update Calendar / Delete CalendarManage the calendars themselves
Share Calendar / Update Sharing / List Sharing / Remove SharingGive people or groups access to a calendar (free/busy only, read, or edit)

๐Ÿ› ๏ธ Troubleshooting

ProblemFix
The event is several hours offTime Zone doesn't match where you are (or was cleared, so Pacific time was used). Set it to your zone, e.g. Europe/London (step 6).
The event is on the wrong dayThe AI may not know today's date. Put the date in your message, e.g. "Tuesday, October 6".
Recurring events require a time zone. Provide the timeZone parameter (an IANA name, e.g. America/New_York).You set a Recurrence Rule. Repeating events need Time Zone filled in.
Guests got an email you didn't expectSend Email Notifications defaults to All attendees. Choose None (no emails sent).
The event title says <agent.title>The Agent has no Response Format, so it has no title field. Paste the schema from step 3.
The calendar isn't in the listOnly calendars your Google account can edit show up. Or switch the field (โ‡† icon) to Calendar ID and type it, e.g. primary.
"Google hasn't verified this app"Click Advanced โ†’ Go to beegentic.com (unsafe) (see Part 1).
The trigger doesn't startDeploy the workflow, check Event Type and Search Term, and wait a few minutes.

On this page