> For the complete documentation index, see [llms.txt](https://guides.mangoapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.mangoapps.com/integrations-guide/events/integration-with-google-calendar.md).

# Integration with Google Calendar

## Overview

MangoApps offers a powerful, native integration with Google Calendar, ensuring your schedule stays in sync whether you are working in your Google Workspace or within your company portal.

The Google Calendar integration is a real-time sync that supports three distinct directions:

* Bidirectional (Recommended): Changes made in MangoApps appear in Google, and vice versa.
* MangoApps to Google Only: A one-way push to your Google Calendar.
* Google to MangoApps Only: A one-way pull from Google into your portal.

***

### What Data is Synced?

The integration captures the core details of your meetings, including:

* Event Essentials: Titles, descriptions, and physical locations.
* Virtual Meetings: Direct links for Google Meet, Zoom, or Microsoft Teams.
* Logic: Recurrence rules (repeating events) and reminder/notification timing.
* Attachments: To keep things light, files are not uploaded to Google. Instead, MangoApps automatically inserts a link to the file within the event description.

{% hint style="warning" %}
&#x20;This integration is designed for **Events** (Meetings, Appointments, Team/Company Events, Resource Reservations). For items like **Tasks, Birthdays, or LMS sessions**, please use the **Webcal** feed.
{% endhint %}

***

### Administrator Setup

To enable this feature, navigate to **Admin Portal > Integrations > Built-In Integrations > Meeting Apps**.

<figure><img src="/files/h2YhQZIR4PLTKIcOJ5tc" alt="" width="563"><figcaption></figcaption></figure>

* **Requirements:** You will need a Google Cloud service account with Calendar API access and your service JSON key file.
* **Configuration:** You can scope the integration to specific email domains and select exactly which event types should sync.
* **Frequency:** While sync is real-time, you can set an automated background refresh interval ranging from every 5 minutes to every 4 hours.
* **Verification:** Use the Test Connection button and monitor the Last Synced timestamp to ensure data is flowing correctly.

{% hint style="danger" %}
**Do not use this native integration at the same time as a Webcal feed or ICS import for the same events. Google treats every source as unique, which will cause your events to appear twice on your calendar.**
{% endhint %}
