Seamless Calendar Sharing Between Google Workspace Organizations

In today’s dynamic business landscape, organizations often need to foster seamless collaboration, whether due to mergers and acquisitions, joint ventures, or simply a desire for closer partnerships. This need frequently extends to calendar sharing, where individuals across different Google Workspace organizations require visibility into each other’s schedules. However, the Google Calendar system does not natively support sharing calendars with an entire external domain, making it cumbersome to achieve this level of cross-organization calendar visibility. This article explores two effective solutions to overcome this limitation and enable efficient calendar sharing between separate Google Workspace organizations.
Solution 1: GAM (Google Apps Manager)
What is GAM?
GAM (Google Apps Manager) is a command-line tool developed by Jay Lee and Ross Scroggs that empowers administrators to automate a wide range of Google Workspace management tasks. Its versatility extends to calendar operations, making it a powerful solution for our cross-organization calendar-sharing challenge.
Prerequisites:
Before implementing this solution, ensure you have GAM installed and configured. You’ll also need appropriate administrator permissions to execute the necessary commands, typically super admin access is used.
Also, be aware of each organization’s primary domain in Google Workspace. Sharing calendar visibility to a secondary domain or alias domain won’t work and the primary domain should be targeted.
Step-by-step guide:
Install and Configure GAM:
- Download and install GAM from the official repository.
- Configure GAM with your super admin user to allow yourself API-level access to your Google Workspace organization.
Understand the gam calendar command:
- The core command for calendar sharing in GAM is gam calendar.
gam calendar <CalendarItem> add <CalendarACLRole> domain <DomainName> sendnotifications False
- <CalendarItem>: The email address of the calendar owner (e.g., user@domainB.com).
- <CalendarACLRole>: The level of access to grant. Possible values are: editor, freebusy, freebusyreader, owner, reader, writer.
- <CalendarACLScope>: The scope of the sharing. Use ‘domain’ followed by the domain name (e.g., domain example.com) to share with an entire domain.
- sendnotifications False: This optional flag prevents notifications from being sent to all users in the shared domain, avoiding a potential flood of emails.

Share all users calendars with an entire domain:
To share all users in domainB.com’s calendars with all users in domainA.com with freebusyreader access, you can use these commands (as shared by Ross Scroggs in this Google Groups post):
gam print users > users.csv
gam csv users.csv gam calendar "~primaryEmail" add freebusyreader domain domainA.com sendnotifications False
- The first command exports a list of all users to a CSV file. The second command iterates through the CSV file and applies the gam calendar command to each user’s primary calendar.
Advantages:
- Automation and Efficiency: GAM automates the process, saving administrators significant time and effort, especially when dealing with a large number of users.
- Granular Control: GAM provides fine-grained control over sharing permissions, allowing administrators to choose the specific access level (e.g., freebusy, reader, editor) for the shared domain.
Disadvantages:
- Technical Expertise: Setting up and using GAM requires a certain level of technical proficiency including being comfortable working with a command-line interface
- User Changes: Users can modify this level of sharing and may do so if they are not informed about why it is present on their calendars.

Solution 2: Groups and Change Management
The Group Nesting Concept:
This solution leverages the concept of nested group memberships in Google Workspace. By strategically nesting groups from different organizations, we can extend calendar-sharing permissions across domain boundaries.
Step-by-step guide:
- Create “all@” groups:
In both Google Workspace organizations (domainA.com and domainB.com), create groups that include all internal users. These groups might be named all@domainA.com and all@domainB.com.
Admins can use the Advanced option when adding group members to toggle the option to automatically add all current and future users or the organization to the group.

2. Establish cross-domain membership:
- Add the all@domainB.com group as a member of the all@domainA.com group, and vice versa. This creates a nested structure where each “all@” group contains all the users from both domains.

3. Instruct users to share with their “all@” group:
- Communicate with users in both organizations, instructing them to share their calendars with their respective internal “all@” groups (e.g., users in domainA.com share with all@domainA.com).
- Provide clear instructions on how to share calendars and set the desired sharing permissions (e.g., “free/busy” information only or full event details).
4. Super Admin Intervention:
- In cases where some users might not have shared their calendars with the “all@” group, Super Admins can intervene. They have the authority to directly edit user calendar settings and share them with the appropriate “all@” group, ensuring complete coverage. The Super Admin would subscribe to a user’s calendar and option the user’s calendar settings from the calendar list.

Change Management Aspects:
- Clear Communication: Effectively communicate the change to all users, explaining the reasons for cross-domain calendar sharing and the steps involved.
- Detailed Instructions: Provide user-friendly instructions with screenshots to guide users through the process of sharing their calendars.
- Address Privacy Concerns: Proactively address any potential privacy concerns by clarifying the extent of sharing and emphasizing that users retain control over the specific information they share within their organization.
Advantages:
- Simplicity: This solution is generally easier to implement than GAM, especially for administrators who are less comfortable with command-line tools.
- Leverages Existing Structure: It utilizes the existing group infrastructure in Google Workspace, simplifying administration.
Disadvantages:
- Less Granular Control: Sharing permissions are determined by the settings users apply when sharing with their “all@” group, offering less centralized control compared to GAM.
- Reliance on User Action: The success of this solution depends on user cooperation in sharing their calendars. However, as mentioned, Super Admins can address this limitation.
Comparison and Conclusion:
Both GAM and the group nesting method offer effective ways to share calendars between Google Workspace organizations. The choice depends on your specific needs and technical capabilities:
- Choose GAM if: You need granular control over permissions and are comfortable with command-line tools.
- Choose Group Nesting if: You prefer a simpler approach that leverages existing group structures, and you have good communication channels to ensure user cooperation.
By carefully considering these factors, you can select the solution that best suits your organization’s requirements and achieve seamless calendar sharing across domains.
Important Note for Onboarding:
Regardless of the chosen method, it’s crucial to incorporate calendar sharing into your organization’s onboarding process for new users.
- For GAM: Include a step where an administrator uses GAM to share the new user’s calendar with the external domain.
- For Group Nesting: Ensure new users are promptly added to the appropriate “all@” group and instructed to share their calendars with that group.
Adding this step to your onboarding plan ensures that new users are automatically included in the cross-organization calendar sharing setup, maintaining consistency and avoiding any gaps in visibility.
If you would like assistance with this setup, connect with our experts at DoiT.