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 sourceDescriptions: - name: directoryApi url: ../openapi/admin-sdk-directory-api.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