Google and Microsoft calendars
How connected Google and Microsoft calendars and automatic Meet, Teams and Zoom links work, what Agoo can see, and where they show in the API and webhooks.
Agoo is in early access. This page describes the feature as it ships to early-access organisations; screens are illustrative.
Hosts keep their working lives in Google Calendar or Outlook. From Starter, each person can connect their own calendar to Agoo:
- Booking pages only offer times when the host is free. A meeting someone added in Outlook this morning blocks that time on the host's Agoo booking pages.
- Confirmed bookings appear in the host's calendar as events, with a link back to Agoo, and move or disappear when the booking is moved or cancelled in Agoo.
- Video bookings get their own link. A booking type can have Agoo make a new Google Meet, Microsoft Teams or Zoom meeting for each booking, from the host's own account.
On every plan, everyone also has a private calendar link that shows their Agoo diary in Apple, Google or Outlook calendar. Up to six connected accounts a person, Google, Microsoft and Zoom together.
The step-by-step guides are in Calendars and meeting links. This page is the overview for admins and developers.
Connected calendars and meeting links come with Starter, Growth, Pro and Enterprise. On Free, hosts have their private calendar link.
What Agoo can see
Agoo asks each person for the least access it needs, in plain language on Google's, Microsoft's or Zoom's own consent screen, and never for email, contacts, files or recordings.
| Agoo needs to | Why | What Agoo keeps |
|---|---|---|
| See the list of calendars | So the person chooses which count and where bookings go | Each calendar's name and colour |
| See when the person is busy | To keep busy times off their booking pages | Busy start and end times only, never titles, attendees or descriptions; deleted a day after they end |
| Create, update and delete events | To add, move and remove the events for their confirmed bookings, with Meet or Teams links | The IDs of the events Agoo created |
| Create, update and delete Zoom meetings | To make a Zoom link for each video booking | The IDs and join links of the meetings Agoo made |
Agoo only changes events and meetings it created. It never edits or deletes anyone's other events.
Connect a calendar
Each person connects their own account in Account → Calendars in the Console, and chooses which calendars count for busy times and the one where Agoo adds their bookings. See Connect your calendar.
If your IT team restricts apps
Many organisations only allow approved apps to access calendars. When Google, Microsoft or Zoom says Agoo needs an administrator's approval, the person's connection shows Needs your IT team:
- Microsoft 365: an administrator approves Agoo once for the whole organisation, either from Console → Settings → Calendars (an Owner or Admin who is also the Microsoft 365 global administrator) or in the Microsoft Entra admin center, under Enterprise applications. See Microsoft.
- Google Workspace: an administrator marks Agoo as trusted in the Google Admin console, under Security → Access and data control → API controls. See Google.
- Zoom: the Zoom account's admin allows Agoo in the account's app settings. See Zoom.
After that, each person selects Connect again.
Microsoft accounts need an Outlook mailbox
Agoo reads and writes Microsoft calendars through the person's Outlook mailbox: Outlook.com, or Microsoft 365 with Exchange Online. When an account without one is connected (an account made only for Teams, or a mailbox kept on the organisation's own servers), its card says "This Microsoft account has no Outlook mailbox" and Agoo stops using it; the person disconnects it and connects an account with a mailbox. Teams links also need a work or school account; personal Outlook.com accounts get busy times and events only.
How sync behaves
| When | Then |
|---|---|
| A booking with a host is confirmed | An event is added to the calendar the host chose, saying as much as the organisation's setting allows. The guest isn't invited from the calendar: Agoo sends their confirmation as usual. |
| The booking is moved, given to another host, cancelled or declined in Agoo | The event (and any meeting Agoo made) moves, follows the booking or is removed, and the guest is told by Agoo's usual SMS, WhatsApp or email. |
| The host adds a busy event in their calendar | Overlapping times leave the booking page, usually within seconds: Google and Microsoft tell Agoo about changes, and Agoo also looks every 15 minutes. |
| The host moves or deletes an Agoo event in their calendar | The booking in Agoo doesn't change. Move or cancel it in Agoo, so the guest is told. |
| The connection stops working (a password change, access removed) | Agoo emails the host to reconnect, and the booking page keeps running: on the last busy times for a day, then on Agoo's own availability rules. |
Agoo's own rules (working hours, gaps, notice, daily limits, Ghana's public holidays and your closed days) still apply on top of the calendar.
Organisation settings
Owners and Admins choose who may connect (everyone, the hosts of booking types, or nobody), which of Google, Microsoft and Zoom your organisation uses, how much Agoo's events say (full, kind and name, or times only) and whether private calendar links work. See Calendar settings.
Developers
Connections are made and managed in Agoo, not through the API. What they do shows in the API and webhooks like any other booking:
- Bookings have
meeting_provider(google_meet,teams,zoom, ornullfor a link that was pasted or is the host's own) andmeeting_state:none(Agoo isn't making a link),pending(Agoo is making it),ready(meeting_urlholds it) orfailed(it couldn't be made; the host is asked to make a new one or add their own). Whilepending,meeting_urlisnull. - Booking types have
video_provider:link(the type'svideo_url, else the host's own link),google_meet,teamsorzoom. It's writable when you create or update a booking type; the three providers need Starter or above, and a type on Free that asks for one is refused with a validation error onvideo_provider. A host who hasn't connected the provider gets their own link instead. - Webhooks: the booking events (
booking.created,booking.confirmed,booking.rescheduledand the rest) carry the new fields as they stand when the event is sent, so a link Agoo is still making shows aspending. No event announces the link yet when it's ready: get the booking to read it.
Calendar connection status, free and busy times, a meeting-link operation and their own webhook events are planned for the public API in P9. See the changelog and webhook events.
Related
Zoom
Agoo's Zoom app: adding it, using it and removing it.
What Agoo's Google app asks for, approving it and removing it.
Microsoft
What Agoo's Microsoft app asks for, approving it and removing it.
SSO and SCIM
Sign in with Google, Microsoft or SAML, and provision users.
Booking widget on your site
Put a host's booking page on your own website.
Integrations
For IT teams and developers. The Google, Microsoft and Zoom apps Agoo uses and what each asks for, single sign-on, and the ways to connect Agoo to your own systems.
Agoo's Google app signs people in with Google and connects Google Calendar for busy times, bookings and Google Meet links. What it asks for, how your IT team approves it, and how to remove it.