Dynatrace · Arazzo Workflow

Dynatrace Onboard a User into a New Group

Version 1.0.0

Create a group, invite a user assigned to that group, and confirm the membership.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI OperationsAnalyticsAPMApplication Performance MonitoringApplication SecurityAutomationCloud MonitoringDigital Experience ManagementIntelligenceObservabilityArazzoWorkflows

Provider

dynatrace

Workflows

onboard-account-user
Create a group, invite a user into it, and confirm membership.
Creates a group, creates a user assigned to the new group, and reads the user back to confirm the group membership.
3 steps inputs: accountUuid, email, firstName, groupDescription, groupName, lastName outputs: groupId, uid, userStatus
1
createGroup
createGroup
Create a new user group in the account to carry the permissions the onboarded user will receive.
2
createUser
createUser
Create the user and send an invitation email, assigning the freshly created group so the user gains the associated permissions.
3
confirmMembership
getUser
Read the user back by ID to confirm the group membership and invitation status are as expected.

Source API Descriptions

Arazzo Workflow Specification

dynatrace-onboard-account-user-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dynatrace Onboard a User into a New Group
  summary: Create a group, invite a user assigned to that group, and confirm the membership.
  description: >-
    Provisions access for a new team member in a Dynatrace account. The workflow
    creates a user group to carry permissions, creates the user with that group
    assigned at invitation time, and then reads the user back to confirm the
    group membership took effect. 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: accountManagementApi
  url: ../openapi/dynatrace-account-management-api-openapi.yml
  type: openapi
workflows:
- workflowId: onboard-account-user
  summary: Create a group, invite a user into it, and confirm membership.
  description: >-
    Creates a group, creates a user assigned to the new group, and reads the
    user back to confirm the group membership.
  inputs:
    type: object
    required:
    - accountUuid
    - groupName
    - email
    - firstName
    - lastName
    properties:
      accountUuid:
        type: string
        description: The UUID of the Dynatrace account to onboard into.
      groupName:
        type: string
        description: The display name of the group to create.
      groupDescription:
        type: string
        description: An optional description of the group's purpose.
      email:
        type: string
        description: The email address of the user to invite.
      firstName:
        type: string
        description: The first name of the user.
      lastName:
        type: string
        description: The last name of the user.
  steps:
  - stepId: createGroup
    description: >-
      Create a new user group in the account to carry the permissions the
      onboarded user will receive.
    operationId: createGroup
    parameters:
    - name: accountUuid
      in: path
      value: $inputs.accountUuid
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.groupName
        description: $inputs.groupDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupId: $response.body#/groupId
  - stepId: createUser
    description: >-
      Create the user and send an invitation email, assigning the freshly
      created group so the user gains the associated permissions.
    operationId: createUser
    parameters:
    - name: accountUuid
      in: path
      value: $inputs.accountUuid
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        firstName: $inputs.firstName
        lastName: $inputs.lastName
        groups:
        - $steps.createGroup.outputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      uid: $response.body#/uid
      userStatus: $response.body#/userStatus
  - stepId: confirmMembership
    description: >-
      Read the user back by ID to confirm the group membership and invitation
      status are as expected.
    operationId: getUser
    parameters:
    - name: accountUuid
      in: path
      value: $inputs.accountUuid
    - name: userId
      in: path
      value: $steps.createUser.outputs.uid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      email: $response.body#/email
      groups: $response.body#/groups
      userStatus: $response.body#/userStatus
  outputs:
    groupId: $steps.createGroup.outputs.groupId
    uid: $steps.createUser.outputs.uid
    userStatus: $steps.confirmMembership.outputs.userStatus