Microsoft Entra · Arazzo Workflow

Microsoft Entra Find And Update User

Version 1.0.0

Find a user by UPN, update its profile, and read the result.

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

Provider

microsoft-entra

Workflows

find-and-update-user
Filter users by UPN, patch the match, then re-read the user.
Searches for a user by userPrincipalName, updates job/department fields on the match, and fetches the updated user object.
3 steps inputs: accessToken, department, jobTitle, userPrincipalName outputs: department, jobTitle, userId
1
findUser
Filter the users collection on userPrincipalName to locate the target user and capture its object id.
2
updateUser
Patch the matched user with the supplied job title and department. The update returns 204 with no body.
3
getUser
Read the updated user back to confirm the new property values.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Entra Find And Update User
  summary: Find a user by UPN, update its profile, and read the result.
  description: >-
    Locates a single user in Microsoft Entra ID by filtering the users
    collection on userPrincipalName, patches selected profile properties on the
    matched user, and reads the user back to confirm the changes. Because Graph
    update operations return 204 with no body, the final get retrieves the
    refreshed object. Every request is inlined so the chain reads end to end.
  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: find-and-update-user
  summary: Filter users by UPN, patch the match, then re-read the user.
  description: >-
    Searches for a user by userPrincipalName, updates job/department fields on
    the match, and fetches the updated user object.
  inputs:
    type: object
    required:
    - accessToken
    - userPrincipalName
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer token with User.ReadWrite.All.
      userPrincipalName:
        type: string
        description: UPN of the user to locate (e.g. user@contoso.com).
      jobTitle:
        type: string
        description: New job title to set on the user.
        default: ""
      department:
        type: string
        description: New department to set on the user.
        default: ""
  steps:
  - stepId: findUser
    description: >-
      Filter the users collection on userPrincipalName to locate the target
      user and capture its object id.
    operationId: listUsers
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: $filter
      in: query
      value: "userPrincipalName eq '$inputs.userPrincipalName'"
    - name: $top
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      matchedUserId: $response.body#/value/0/id
    onSuccess:
    - name: userFound
      type: goto
      stepId: updateUser
      criteria:
      - context: $response.body
        condition: $.value.length > 0
        type: jsonpath
  - stepId: updateUser
    description: >-
      Patch the matched user with the supplied job title and department. The
      update returns 204 with no body.
    operationId: updateUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user-id
      in: path
      value: $steps.findUser.outputs.matchedUserId
    requestBody:
      contentType: application/json
      payload:
        jobTitle: $inputs.jobTitle
        department: $inputs.department
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      updateStatus: $statusCode
  - stepId: getUser
    description: Read the updated user back to confirm the new property values.
    operationId: getUser
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user-id
      in: path
      value: $steps.findUser.outputs.matchedUserId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      jobTitle: $response.body#/jobTitle
      department: $response.body#/department
  outputs:
    userId: $steps.findUser.outputs.matchedUserId
    jobTitle: $steps.getUser.outputs.jobTitle
    department: $steps.getUser.outputs.department

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-find-and-update-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.