Microsoft Entra · Arazzo Workflow

Microsoft Entra Provision User

Version 1.0.0

Create a new Entra ID user and read back the provisioned account.

1 workflow 1 source API 1 provider
View Spec View on GitHub Access ManagementAuthenticationAzure ADEntraIdentityIdentity GovernanceMicrosoftNetwork SecuritySecurityZero TrustArazzoWorkflows

Provider

microsoft-entra

Workflows

provision-user
Create a user then fetch the resulting object by its new id.
Posts a new user to the directory and uses the returned object id to retrieve the full user resource, confirming the account was created.
2 steps inputs: accessToken, displayName, forceChangePassword, mailNickname, password, userPrincipalName outputs: userId, userPrincipalName
1
createUser
Create the user with the required identity properties and an initial password profile.
2
getUser
Read the newly created user back by its object id to confirm it exists and to capture the default property set.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Entra Provision User
  summary: Create a new Entra ID user and read back the provisioned account.
  description: >-
    Provisions a brand new user in Microsoft Entra ID (Azure AD) through
    Microsoft Graph, then immediately reads the created user back to confirm
    the directory assigned an object id and to surface the default account
    properties. The create step supplies the required identity fields
    (displayName, accountEnabled, mailNickname, userPrincipalName, and a
    passwordProfile), and the follow-up get resolves the full user object.
    Every step spells out its request inline so the flow can be read and run
    without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-620.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-620.20
      capability_name: Identity & Access Management
      spec: microsoft-entra-users-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: usersApi
  url: ../openapi/microsoft-entra-users-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-user
  summary: Create a user then fetch the resulting object by its new id.
  description: >-
    Posts a new user to the directory and uses the returned object id to
    retrieve the full user resource, confirming the account was created.
  inputs:
    type: object
    required:
    - accessToken
    - displayName
    - mailNickname
    - userPrincipalName
    - password
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer token with User.ReadWrite.All permission.
      displayName:
        type: string
        description: The name displayed in the address book for the user.
      mailNickname:
        type: string
        description: The mail alias for the user.
      userPrincipalName:
        type: string
        description: The UPN in alias@verifieddomain format.
      password:
        type: string
        description: Initial password satisfying the tenant complexity policy.
      forceChangePassword:
        type: boolean
        description: Whether the user must change the password at next sign-in.
        default: true
  steps:
  - stepId: createUser
    description: >-
      Create the user with the required identity properties and an initial
      password profile.
    operationId: createUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        accountEnabled: true
        displayName: $inputs.displayName
        mailNickname: $inputs.mailNickname
        userPrincipalName: $inputs.userPrincipalName
        passwordProfile:
          password: $inputs.password
          forceChangePasswordNextSignIn: $inputs.forceChangePassword
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      userId: $response.body#/id
      createdUpn: $response.body#/userPrincipalName
  - stepId: getUser
    description: >-
      Read the newly created user back by its object id to confirm it exists
      and to capture the default property set.
    operationId: getUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user-id
      in: path
      value: $steps.createUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/id
      displayName: $response.body#/displayName
      accountEnabled: $response.body#/accountEnabled
  outputs:
    userId: $steps.getUser.outputs.userId
    userPrincipalName: $steps.createUser.outputs.createdUpn

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-entra-provision-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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