arazzo: 1.0.1
info:
title: Google Workspace Create a Group
summary: Create a group with an email and description, then read it back.
description: >-
Stands up a new Google Workspace group. The workflow creates the group with
a unique email, display name, and description, then reads the group back by
its email to confirm it was created and to capture its unique id. Every step
spells out its request inline so the flow can be read and executed without
opening the underlying OpenAPI description.
version: 1.0.0
x-realizes-capability-ids:
- BC-620.20
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-620.20
capability_name: Identity & Access Management
spec: google-workspace-groups-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: groupsApi
url: ../openapi/google-workspace-groups-api-openapi.yml
type: openapi
workflows:
- workflowId: create-group
summary: Create a group and confirm it by reading it back.
description: >-
Creates a group with the supplied email, name, and description, then fetches
the group by its email to confirm creation and capture its id.
inputs:
type: object
required:
- accessToken
- email
- name
properties:
accessToken:
type: string
description: OAuth 2.0 bearer access token with the admin.directory.group scope.
email:
type: string
description: The unique email address for the new group.
name:
type: string
description: The display name for the group.
description:
type: string
description: An extended description of the group's purpose.
default: ""
steps:
- stepId: createGroup
description: >-
Create the group with the supplied email, display name, and description.
operationId: insertGroup
parameters:
- name: Authorization
in: header
value: "Bearer $inputs.accessToken"
requestBody:
contentType: application/json
payload:
email: $inputs.email
name: $inputs.name
description: $inputs.description
successCriteria:
- condition: $statusCode == 200
outputs:
groupId: $response.body#/id
groupEmail: $response.body#/email
- stepId: confirmGroup
description: >-
Read the newly created group back by its email to confirm it exists and
capture its id.
operationId: getGroup
parameters:
- name: groupKey
in: path
value: $steps.createGroup.outputs.groupEmail
- name: Authorization
in: header
value: "Bearer $inputs.accessToken"
successCriteria:
- condition: $statusCode == 200
outputs:
groupId: $response.body#/id
email: $response.body#/email
name: $response.body#/name
outputs:
groupId: $steps.confirmGroup.outputs.groupId
email: $steps.confirmGroup.outputs.email
name: $steps.confirmGroup.outputs.name
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.