# Google Workspace calendar

### Create and configure a room resource

To create buildings and rooms in your Google Workspace admin account, follow the official guide:

{% embed url="<https://support.google.com/a/answer/1033925?hl=en>" %}

After you created the resource, see the guide on how to share its calendar with the service user for meeting rooms:

{% embed url="<https://support.google.com/a/answer/1034381?hl=en>" %}

### Choose the account pattern based on how the room will be used

Mago needs a Google account (with permission on the room's resource calendar) to read events, book the resource, and, if enabled, host instant meetings (Google Meet calls started directly from the room).

Two account patterns are supported. The right one depends on whether **Instant meeting** is enabled on the room.

#### Pattern A, calendar only: single shared service account

If the room will only display and join scheduled meetings, and **no instant meetings** will be started from the room, a single shared account (e.g. `rooms@mydomain.com`) with access to the resource calendars of all rooms is sufficient.

In the Mago calendar settings, log in once with this account and select the correct resource calendar for each room.

This is the simplest pattern to deploy and maintain when instant meetings are not in scope.

#### Pattern B, with Instant meeting: dedicated account per room

When the **Instant meeting** feature is enabled for Google Meet, the account signed in on the room becomes the **host** of any instant Meet call started from that room. For this reason, each room must have its own dedicated Google account (for example `meetingroom-london@mydomain.com`), with permission on that specific resource calendar.

{% hint style="warning" %}
Sharing a single account across multiple rooms in this scenario is not supported: the same Google user cannot cleanly host two concurrent Meet calls, and the shared identity would appear as participant in every meeting started from any room at the same time.
{% endhint %}

A dedicated account per room avoids this and also gives each room its own host identity in Meet: the display name of the per-room Google account is what other participants see as the meeting host.

#### What users see in both patterns

Three distinct names are involved, each coming from a different source:

| Where it appears                                              | Where it comes from                                       |
| ------------------------------------------------------------- | --------------------------------------------------------- |
| Room display (screen of the room)                             | **Device name**, configured in Mago from the Admin Center |
| Meeting invitations and booking UX (when users book the room) | **Resource name**, from Google Workspace                  |
| Host / participant identity inside Google Meet                | **Display name of the signed-in Google account**          |

These three names are independent and can be set separately. Admins typically align them for consistency, but there is no technical requirement to do so.

The account pattern (A or B) only affects the third one, the **host identity of instant meetings**: in Pattern A the shared service account is the host, in Pattern B the per-room dedicated account is the host.

#### Summary

| Scenario on the room                                        | Recommended account pattern                                          |
| ----------------------------------------------------------- | -------------------------------------------------------------------- |
| Calendar only (display and join scheduled meetings)         | Single shared service account with access to all resource calendars  |
| Instant meeting enabled (Google Meet started from the room) | Dedicated account per room, with permission on the resource calendar |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.mago.io/requirements/calendar/google-workspace-calendar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
