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

# Overview

> Google Meet plugin for Corsair

Use **Google Meet** through Corsair: one client, typed API calls, optional local DB sync.

**What you get:**

* 18 typed API operations
* 6 database entities synced for fast `.search()` / `.list()` queries

## Setup

<Steps>
  <Step title="Install">
    ```bash theme={null}
    pnpm install @corsair-dev/googlemeet
    ```
  </Step>

  <Step title="Add the plugin">
    <Tabs>
      <Tab title="Solo">
        ```ts corsair.ts theme={null}
        import { createCorsair } from 'corsair';
        import { googlemeet } from '@corsair-dev/googlemeet';

        export const corsair = createCorsair({
        	// ... other config options,
        	multiTenancy: false,
            plugins: [googlemeet()],
        });
        ```
      </Tab>

      <Tab title="Multi-Tenant">
        ```ts corsair.ts theme={null}
        import { createCorsair } from 'corsair';
        import { googlemeet } from '@corsair-dev/googlemeet';

        export const corsair = createCorsair({
        	// ... other config options,
            multiTenancy: true,
            plugins: [googlemeet()],
        });
        ```

        See [Multi-tenancy](/concepts/multi-tenancy) for account isolation.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Get credentials">
    Follow [Get Credentials](/plugins/googlemeet/get-credentials) if you need help getting keys.
  </Step>

  <Step title="Store credentials">
    <Tabs>
      <Tab title="Solo">
        ```bash theme={null}
        pnpm corsair setup --plugin=googlemeet
        ```

        Use the key names documented in [Get Credentials](/plugins/googlemeet/get-credentials) (for example `api_key=`, `bot_token=`, or OAuth client fields).
      </Tab>

      <Tab title="Multi-Tenant">
        ```bash theme={null}
        pnpm corsair setup --plugin=googlemeet --tenant=<tenantId>
        ```

        Store per-tenant secrets after you create the tenant record. See [Multi-tenancy](/concepts/multi-tenancy).
      </Tab>
    </Tabs>
  </Step>
</Steps>

## Authentication

Each tab shows how to register the plugin for that authentication method. The default `authType` from the plugin does not need to appear in the factory call.

<Tabs>
  <Tab title="OAuth 2.0 (Default)">
    ```ts corsair.ts theme={null}
    googlemeet()
    ```

    Store credentials with `pnpm corsair setup --plugin=googlemeet` (see [Get Credentials](/plugins/googlemeet/get-credentials) for field names). For OAuth, you typically store integration keys at the provider level and tokens per account or tenant.

    More: [OAuth 2.0](/concepts/oauth)
  </Tab>
</Tabs>

## Query synced data

Synced entities support `corsair.googlemeet.db.<entity>.search()` and `.list()`. See [Database](/plugins/googlemeet/database) for filters and operators.

## Example API calls

**Read-style (read):** `conferenceRecords.get`

```ts theme={null}
await corsair.googlemeet.api.conferenceRecords.get({});
```

**Write-style (write):** `spaces.create`

```ts theme={null}
await corsair.googlemeet.api.spaces.create({});
```

See the full list on the [API](/plugins/googlemeet/api) page. Use `pnpm corsair list --plugin=googlemeet` and `pnpm corsair schema <path>` locally to inspect schemas.

***

## Hooks

Use `hooks` on API calls and `webhookHooks` on incoming events to add logging, approvals, or side effects. See [Hooks](/concepts/hooks) and [Webhooks](/concepts/webhooks) for routing and payload patterns.

***

## Reference

| Topic       | Link                                                   |
| ----------- | ------------------------------------------------------ |
| API         | [API](/plugins/googlemeet/api)                         |
| Database    | [Database](/plugins/googlemeet/database)               |
| Credentials | [Get credentials](/plugins/googlemeet/get-credentials) |
