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

# Google Workspace

> Google Workspace Scenario seeding parameters, nested fields, and examples

Use `google_workspace` in `twins` and put this configuration under `seed_config.google_workspace`.

Google Workspace Admin SDK Directory users, groups, memberships, organizational units and tenant domains, People contacts, Workspace Events subscriptions, Apps Script projects, and Pub/Sub delivery resources.

## Example seed

This is the complete Scenario request body for [creating a Scenario](https://docs.argalabs.com/api-reference/post-create-a-scenario.md). You can also import it with `arga test-runner scenarios import --file scenario.json`.

```json theme={null}
{
  "name": "Google Workspace eval fixture",
  "twins": [
    "google_workspace"
  ],
  "seed_config": {
    "google_workspace": {
      "directory": {
        "customer": {
          "id": "C01arga000",
          "customerDomain": "example.com"
        },
        "orgunits": [
          {
            "name": "Engineering",
            "parentOrgUnitPath": "/"
          }
        ],
        "users": [
          {
            "id": "110000000000001",
            "primaryEmail": "ada@example.com",
            "name": {
              "givenName": "Ada",
              "familyName": "Lovelace"
            },
            "orgUnitPath": "/Engineering"
          }
        ],
        "groups": [
          {
            "email": "engineering@example.com",
            "name": "Engineering",
            "members": [
              {
                "email": "ada@example.com",
                "role": "MEMBER"
              }
            ]
          }
        ]
      },
      "contacts": [
        {
          "names": [
            {
              "givenName": "Ada",
              "familyName": "Lovelace"
            }
          ],
          "emailAddresses": [
            {
              "value": "ada@example.com",
              "type": "work"
            }
          ]
        }
      ],
      "scripts": [
        {
          "title": "Launch helper",
          "files": [
            {
              "name": "Code",
              "type": "SERVER_JS",
              "source": "function status() { return 'ready'; }"
            },
            {
              "name": "appsscript",
              "type": "JSON",
              "source": "{\"timeZone\":\"Etc/UTC\",\"runtimeVersion\":\"V8\"}"
            }
          ]
        }
      ],
      "pubsub_topics": [
        {
          "project": "arga-sandbox",
          "name": "workspace-events",
          "subscriptions": [
            {
              "name": "workspace-events-pull"
            }
          ]
        }
      ],
      "event_subscriptions": [
        {
          "targetResource": "//workspace.googleapis.com/users/123",
          "eventTypes": [
            "google.workspace.user.v1.updated"
          ],
          "pubsubTopic": "projects/arga-sandbox/topics/workspace-events"
        }
      ]
    }
  }
}
```

## Parameters

The following fields belong directly inside `seed_config.google_workspace`. Required nested fields are marked in their tables. Provider-native objects can contain service-specific fields beyond the representative record shapes below.

| Parameter | Type | Description |
| - | - | - |
| `directory` | `object` | Directory. |
| `contacts` | `object[]` | Contacts fixtures in provider-native format. |
| `scripts` | `object[]` | Scripts fixtures in provider-native format. |
| `pubsub_topics` | `object[]` | Pubsub topics fixtures in provider-native format. |
| `event_subscriptions` | `object[]` | Event subscriptions fixtures in provider-native format. |
| `runtime_config` | `object` | Exported runtime configuration for restoring a configured baseline. |

## Resource fields

These tables describe the record shapes used by the example. Keep native field names and casing. Map keys such as property names, IDs, and metadata keys are supplied by your fixture.

### `contacts[]`

| Parameter | Type | Description |
| - | - | - |
| `names` | `object[]` | Names fixtures in provider-native format. |
| `emailAddresses` | `object[]` | EmailAddresses fixtures in provider-native format. |

### `contacts[].names[]`

| Parameter | Type | Description |
| - | - | - |
| `givenName` | `string` | GivenName. |
| `familyName` | `string` | FamilyName. |

### `contacts[].emailAddresses[]`

| Parameter | Type | Description |
| - | - | - |
| `value` | `string` | Value. |
| `type` | `string` | Type. |

### `scripts[]`

| Parameter | Type | Description |
| - | - | - |
| `title` | `string` | Human-readable name. |
| `files` | `object[]` | Files fixtures in provider-native format. |

### `scripts[].files[]`

| Parameter | Type | Description |
| - | - | - |
| `name` | `string` | Human-readable name. |
| `type` | `string` | Type. |
| `source` | `string` | Source. |

### `pubsub_topics[]`

| Parameter | Type | Description |
| - | - | - |
| `project` | `string` | Project. |
| `name` | `string` | Human-readable name. |
| `subscriptions` | `object[]` | Event subscriptions. |

### `pubsub_topics[].subscriptions[]`

| Parameter | Type | Description |
| - | - | - |
| `name` | `string` | Human-readable name. |

### `event_subscriptions[]`

| Parameter | Type | Description |
| - | - | - |
| `targetResource` | `string` | TargetResource. |
| `eventTypes` | `string[]` | EventTypes fixtures in provider-native format. |
| `pubsubTopic` | `string` | PubsubTopic. |

## API coverage and limitations

**Twin name:** `google_workspace`

**CLI quickstart:** [Use the Google Workspace CLI with Arga twins](https://docs.argalabs.com/features/google-workspace-cli)

**Supports**

* Google People v1 contacts, contact groups, other contacts, profile reads, and search.
* Google Workspace Events v1 subscriptions, operations, reactivation, event-type filters, task streams, and push-notification helpers.
* Google Apps Script v1 projects, content, versions, deployments, processes, and script execution.
* Cloud Pub/Sub topic, subscription, pull, acknowledge, and IAM helpers used by Workspace event workflows.
* People, Workspace Events, and Apps Script Discovery documents.

**Known limitations**

* This grouped API-only twin does not publish Drive, Docs, Sheets, Gmail, or Calendar routes. Provision those service twins separately.
* State and event delivery are deterministic approximations intended for repeatable tests, not a live Google Cloud project.

**Provision**

```bash theme={null}
arga twin-runs create --twins google_workspace --ttl 60 --wait
arga twin-runs create --twins google_workspace,google_sheets --ttl 60 --wait
```

**MCP tools:** `get_twin_catalog`, `provision_twins`, `start_url_validation`, `get_validation_results`.

See [Scenario seeding](https://docs.argalabs.com/twins/seeding.md) for saving, provisioning, and resetting fixtures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.