PropelAuth · Arazzo Workflow

PropelAuth Offboard User From Org

Version 1.0.0

Resolve a user by email, remove them from an org, and confirm the remaining membership.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AuthenticationIdentityB2BMulti-TenancyAuthorizationRBACSSOSCIMMCPAPI KeysArazzoWorkflows

Provider

propelauth

Workflows

offboard-user-from-org
Look a user up by email, remove them from an org, then verify the member list.
Resolves a user by email, removes that user from the organization, and reads back the organization's remaining members.
3 steps inputs: backendApiKey, email, orgId outputs: remainingUsers, removedUserId
1
findUser
fetchUserByEmail
Resolve the user to offboard by email address.
2
removeUser
removeUserFromOrg
Remove the resolved user from the organization.
3
verifyMembers
fetchUsersInOrg
List the organization's remaining members to confirm the removal.

Source API Descriptions

Arazzo Workflow Specification

propelauth-offboard-user-from-org-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: PropelAuth Offboard User From Org
  summary: Resolve a user by email, remove them from an org, and confirm the remaining membership.
  description: >-
    A find-then-act offboarding flow for B2B tenants. The workflow resolves a
    user by email, removes that user from the supplied organization, and then
    lists the organization's remaining members to confirm the removal. Each step
    inlines its request, including the Backend Integration API key as a bearer
    token, so the flow reads and runs without the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: userApi
  url: ../openapi/propelauth-user-api-openapi.yml
  type: openapi
- name: orgApi
  url: ../openapi/propelauth-org-api-openapi.yml
  type: openapi
workflows:
- workflowId: offboard-user-from-org
  summary: Look a user up by email, remove them from an org, then verify the member list.
  description: >-
    Resolves a user by email, removes that user from the organization, and reads
    back the organization's remaining members.
  inputs:
    type: object
    required:
    - backendApiKey
    - email
    - orgId
    properties:
      backendApiKey:
        type: string
        description: PropelAuth Backend Integration API key presented as a bearer token.
      email:
        type: string
        description: Email address of the user to remove from the organization.
      orgId:
        type: string
        description: Identifier of the organization to remove the user from.
  steps:
  - stepId: findUser
    description: Resolve the user to offboard by email address.
    operationId: fetchUserByEmail
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    - name: email
      in: query
      value: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
  - stepId: removeUser
    description: Remove the resolved user from the organization.
    operationId: removeUserFromOrg
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    requestBody:
      contentType: application/json
      payload:
        user_id: $steps.findUser.outputs.userId
        org_id: $inputs.orgId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: verifyMembers
    description: List the organization's remaining members to confirm the removal.
    operationId: fetchUsersInOrg
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.backendApiKey"
    - name: orgId
      in: path
      value: $inputs.orgId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      totalUsers: $response.body#/total_users
  outputs:
    removedUserId: $steps.findUser.outputs.userId
    remainingUsers: $steps.verifyMembers.outputs.totalUsers