> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junojourney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Meet

> Permissions and data usage for the Google Meet integration.

export const RelatedPages = ({pages = []}) => {
  if (pages.length === 0) return null;
  return <>
      <br />
      <strong>Related articles</strong>
      <CardGroup cols={2}>
        {pages.map(page => <Card title={page.title} href={page.href} key={page.href} />)}
      </CardGroup>
    </>;
};

<Info>
  Powers Google Meet links for Juno events, automatic attendance tracking, and optional recording import.
</Info>

## Why Juno integrates with Google Meet

* **Meeting creation** — organizers connect their Google account so Juno can create a Meet link for an event session.
* **Attendance** — after a session ends, Juno reads Meet attendance so learners are marked attended automatically.
* **Recordings (optional)** — organizers can import a session's Meet recording (stored in their Google Drive) into Juno as learning content.

## Permissions we request

### Per-organizer connection (each organizer consents)

| Permission                           | Why we need it                                                          | Data accessed                                                 |
| ------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------- |
| `calendar.events`                    | Create the calendar event that carries the Meet link for a Juno session | Events Juno creates on the organizer's calendar               |
| `admin.reports.audit.readonly`       | Read Meet attendance activity to mark attendance                        | Meet join and leave records for the organizer's Juno sessions |
| `userinfo.email`, `userinfo.profile` | Identify the connected account                                          | Email and display name of the signed-in organizer             |
| `drive.readonly` (optional)          | Locate and import a session's Meet recording from the organizer's Drive | The recording file of the organizer's Juno session            |

<Note>
  Reading Meet attendance through the Reports API requires the organizer to have reports access in Google Workspace. If your organizers are not admins, use the org-level option below instead.

  The Drive scope is requested only when the organizer enables recording import, through a separate consent. Juno checks the granted scopes before every recording download and prompts the organizer to reconnect if the scope is missing.
</Note>

### Optional org-level attendance reports (one-time, IT-configured)

Instead of relying on each organizer's reports access, your organization can grant a Juno service account domain-wide delegation restricted to one scope, impersonating a designated admin you choose:

| Permission                     | Why we need it                                           | Data accessed                                                       |
| ------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------- |
| `admin.reports.audit.readonly` | Read Meet attendance activity for Juno sessions org-wide | Meet join and leave records only (audit log reads, no write access) |

<Card title="Configure Domain Wide Delegation in Google Workspace" icon="book-open" href="https://scribehow.com/o/f3wEKOp0S6ad4SzMdfcMSg/viewer/Configure_Domain_Wide_Delegation_in_Google_Workspace__hiiE7B-JRJWvmO0q5t78ug">
  Step-by-step walkthrough for granting Google Meet API access to Juno in your Google Workspace environment.
</Card>

## What we do with the data

* Meet links and event times are stored on the Juno event.
* Attendance records are used to mark attendance on the session and are not used for any other monitoring.
* Imported recordings are copied to Juno's tenant-isolated storage and attached to the session; Juno searches Drive only for the recording of the specific session being imported.
* Juno does not read email, other Drive files, or calendar events it did not create.

## Security and storage

OAuth tokens are encrypted at rest and stored server-side. The optional service account key is held in Juno's secret store and is limited to the single read-only reports scope by your domain-wide delegation grant.

## Revoking access

* Organizers can remove Juno's access under their Google account's third-party app permissions.
* For the org-level grant, delete the domain-wide delegation entry in your Google Admin console under **Security** > **API controls**.

<RelatedPages
  pages={[
{ href: "/integrations/google-meet", title: "Google Meet setup guide" },
{ href: "/integrations-toolkit/google-calendar", title: "Google Calendar permissions" }
]}
/>
