Okta · Arazzo Workflow

Okta Create User with Group Membership

Version 1.0.0

Create a user pre-seeded with groups, then verify their memberships.

1 workflow 1 source API 1 provider
View Spec View on GitHub IdentityWorkforce IdentityCustomer IdentityAuthenticationAuthorizationSingle Sign-OnMulti-Factor AuthenticationIdentity GovernancePrivileged AccessAI AgentsCross-App AccessMCPPlatformArazzoWorkflows

Provider

okta

Workflows

create-user-with-group-membership
Create a user seeded with groups and verify memberships.
Creates and activates a user with a groupIds array, then lists the user's groups to confirm membership.
2 steps inputs: email, firstName, groupIds, lastName, login, oktaApiToken outputs: firstGroupId, userId
1
createUser
createUser
Create and activate a user, seeding their initial group memberships via the groupIds array.
2
verifyGroups
listUserGroups
List the new user's groups to confirm the seeded memberships took effect.

Source API Descriptions

Arazzo Workflow Specification

okta-create-user-with-group-membership-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Okta Create User with Group Membership
  summary: Create a user pre-seeded with groups, then verify their memberships.
  description: >-
    Creates a user that is born into one or more groups in a single call. The
    createUser request carries a groupIds array so the new user is added to
    those groups on creation, and the workflow then lists the user's groups to
    confirm the memberships took effect. The new user id is chained from
    creation into the verification step. Every step spells out its request
    inline, including the SSWS API token header, so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: oktaApi
  url: ../openapi/okta-openapi-original.yml
  type: openapi
workflows:
- workflowId: create-user-with-group-membership
  summary: Create a user seeded with groups and verify memberships.
  description: >-
    Creates and activates a user with a groupIds array, then lists the user's
    groups to confirm membership.
  inputs:
    type: object
    required:
    - oktaApiToken
    - login
    - email
    - firstName
    - lastName
    - groupIds
    properties:
      oktaApiToken:
        type: string
        description: Okta API token used for the SSWS Authorization header.
      login:
        type: string
        description: The unique login (username) for the new user.
      email:
        type: string
        description: The primary email address for the new user.
      firstName:
        type: string
        description: The given name for the new user.
      lastName:
        type: string
        description: The family name for the new user.
      groupIds:
        type: array
        description: The ids of the groups to add the new user to on creation.
        items:
          type: string
  steps:
  - stepId: createUser
    description: >-
      Create and activate a user, seeding their initial group memberships via
      the groupIds array.
    operationId: createUser
    parameters:
    - name: Authorization
      in: header
      value: SSWS $inputs.oktaApiToken
    - name: activate
      in: query
      value: true
    requestBody:
      contentType: application/json
      payload:
        profile:
          login: $inputs.login
          email: $inputs.email
          firstName: $inputs.firstName
          lastName: $inputs.lastName
        groupIds: $inputs.groupIds
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/id
  - stepId: verifyGroups
    description: >-
      List the new user's groups to confirm the seeded memberships took effect.
    operationId: listUserGroups
    parameters:
    - name: Authorization
      in: header
      value: SSWS $inputs.oktaApiToken
    - name: userId
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstGroupId: $response.body#/0/id
  outputs:
    userId: $steps.createUser.outputs.userId
    firstGroupId: $steps.verifyGroups.outputs.firstGroupId