Microsoft Office 365 · Arazzo Workflow

Microsoft Office 365 Deprovision User

Version 1.0.0

Disable a user account, confirm the change, then delete the user.

1 workflow 1 source API 1 provider
View Spec View on GitHub CloudCollaborationEnterpriseMicrosoftProductivityArazzoWorkflows

Provider

microsoft-office-365

Workflows

deprovision-user
Disable then delete a user, confirming the disable in between.
Disables a user via PATCH /users/{user-id} (204), confirms via GET /users/{user-id} (200), then deletes via DELETE /users/{user-id} (204).
3 steps inputs: userId outputs: deletedUserId
1
disableUser
updateUser
Patch the user to disable their account before deletion.
2
confirmDisabled
getUser
Read the user back to confirm the account is now disabled.
3
deleteUser
deleteUser
Delete the user object. Returns 204 no content.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Office 365 Deprovision User
  summary: Disable a user account, confirm the change, then delete the user.
  description: >-
    An offboarding chain that safely removes a user. The workflow first patches
    the user to disable their account, reads the user back to confirm the account
    is disabled, and then deletes the user object. The update returns 204 and the
    delete returns 204, while the read confirms the disabled state in between.
    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: graphApi
  url: ../openapi/microsoft-graph-api-openapi.yml
  type: openapi
workflows:
- workflowId: deprovision-user
  summary: Disable then delete a user, confirming the disable in between.
  description: >-
    Disables a user via PATCH /users/{user-id} (204), confirms via GET
    /users/{user-id} (200), then deletes via DELETE /users/{user-id} (204).
  inputs:
    type: object
    required:
    - userId
    properties:
      userId:
        type: string
        description: The id of the user to deprovision.
  steps:
  - stepId: disableUser
    description: Patch the user to disable their account before deletion.
    operationId: updateUser
    parameters:
    - name: user-id
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        accountEnabled: false
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      userId: $inputs.userId
  - stepId: confirmDisabled
    description: Read the user back to confirm the account is now disabled.
    operationId: getUser
    parameters:
    - name: user-id
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/accountEnabled == false
    outputs:
      accountEnabled: $response.body#/accountEnabled
  - stepId: deleteUser
    description: Delete the user object. Returns 204 no content.
    operationId: deleteUser
    parameters:
    - name: user-id
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedUserId: $inputs.userId
  outputs:
    deletedUserId: $steps.deleteUser.outputs.deletedUserId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/microsoft-office-365-deprovision-user-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.