Amazon Connect · Arazzo Workflow

Amazon Connect Update User Identity Info

Version 1.0.0

Read a user, update their identity information, then re-read to confirm the change.

1 workflow 1 source API 1 provider
View Spec View on GitHub ChatContact CenterCustomer ServiceVoiceAIOmnichannelArazzoWorkflows

Provider

amazon-connect

Workflows

update-user-identity
Update an agent's identity information and confirm the change.
Confirms a user exists, updates their identity info, and re-reads the user to verify the update.
3 steps inputs: email, firstName, instanceId, lastName, userId outputs: updatedEmail, username
1
readUser
describeUser
Describe the user to confirm the account exists before editing it.
2
updateIdentity
updateUserIdentityInfo
Update the user's identity information with the supplied name and email.
3
confirmUpdate
describeUser
Re-read the user and confirm the email now matches the supplied value.

Source API Descriptions

Arazzo Workflow Specification

amazon-connect-update-user-identity-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Connect Update User Identity Info
  summary: Read a user, update their identity information, then re-read to confirm the change.
  description: >-
    Safely edits an agent's identity information. The workflow describes the user
    to confirm the account exists, updates the user's first name, last name, and
    email, and then describes the user again to verify the new email took effect.
    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: amazonConnectApi
  url: ../openapi/amazon-connect-openapi.yml
  type: openapi
workflows:
- workflowId: update-user-identity
  summary: Update an agent's identity information and confirm the change.
  description: >-
    Confirms a user exists, updates their identity info, and re-reads the user to
    verify the update.
  inputs:
    type: object
    required:
    - instanceId
    - userId
    - firstName
    - lastName
    - email
    properties:
      instanceId:
        type: string
        description: The identifier of the Amazon Connect instance.
      userId:
        type: string
        description: The identifier of the user account to update.
      firstName:
        type: string
        description: The agent's updated first name.
      lastName:
        type: string
        description: The agent's updated last name.
      email:
        type: string
        description: The agent's updated email address.
  steps:
  - stepId: readUser
    description: >-
      Describe the user to confirm the account exists before editing it.
    operationId: describeUser
    parameters:
    - name: InstanceId
      in: path
      value: $inputs.instanceId
    - name: UserId
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      username: $response.body#/User/Username
    onSuccess:
    - name: userExists
      type: goto
      stepId: updateIdentity
      criteria:
      - context: $response.body
        condition: $.User.Id != null
        type: jsonpath
  - stepId: updateIdentity
    description: >-
      Update the user's identity information with the supplied name and email.
    operationId: updateUserIdentityInfo
    parameters:
    - name: InstanceId
      in: path
      value: $inputs.instanceId
    - name: UserId
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        IdentityInfo:
          FirstName: $inputs.firstName
          LastName: $inputs.lastName
          Email: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
  - stepId: confirmUpdate
    description: >-
      Re-read the user and confirm the email now matches the supplied value.
    operationId: describeUser
    parameters:
    - name: InstanceId
      in: path
      value: $inputs.instanceId
    - name: UserId
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.User.IdentityInfo.Email == $inputs.email
      type: jsonpath
    outputs:
      updatedEmail: $response.body#/User/IdentityInfo/Email
  outputs:
    username: $steps.readUser.outputs.username
    updatedEmail: $steps.confirmUpdate.outputs.updatedEmail