Connect your Google account once and your calendars sync into PageSpace in both directions. You get a dedicated calendar surface inside the app, and an agent can read your availability, schedule meetings, and invite attendees — all acting as you.
The connection is per-user. Each teammate connects their own Google account — there is no drive-shared Google Calendar. Your events are yours, and an agent in a drive only sees your calendar if you are the one asking.
Sync runs both directions. PageSpace pulls events from Google using incremental sync tokens, and Google pushes real-time updates back over a webhook whenever something changes there. A fallback cron reconciles every six hours in case a push is missed. In the other direction, events you create inside PageSpace are sent up to Google. Events that originally came from Google aren't pushed back — if you edit a Google-sourced event in PageSpace, the next pull overwrites your local change. That tradeoff exists so the two sides can't silently disagree about the same event.
Agents use dedicated calendar tools. When you @mention an AI Chat or talk to the global assistant, it has access to read-side tools (list_calendar_events, get_calendar_event, check_calendar_availability) and write-side tools (create_calendar_event, update_calendar_event, delete_calendar_event, invite_calendar_attendees, remove_calendar_attendee, rsvp_calendar_event). These act on the PageSpace event table — anything the agent creates is then pushed up to Google by the sync service, so a meeting it books for you lands on your Google Calendar like any other.
Visibility is enforced on every read. Events are tagged drive-wide, attendees only, or private. Even when an agent queries the calendar, it only sees events you'd see — a private event you haven't shared is never returned.
Search docs, blog posts, and more.