Amazon Connect · Arazzo Workflow

Amazon Connect Create Routing Profile and Assign to User

Version 1.0.0

Create a routing profile with media concurrencies and assign it to an existing agent.

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

Provider

amazon-connect

Workflows

create-routing-profile-and-assign
Create a routing profile and assign it to an existing user.
Creates a routing profile, assigns it to the supplied user, and confirms the assignment by describing the user.
3 steps inputs: concurrency, defaultOutboundQueueId, description, instanceId, name, userId outputs: assignedRoutingProfile, routingProfileId
1
createProfile
createRoutingProfile
Create the routing profile with its default outbound queue and a single voice media concurrency.
2
assignToUser
updateUserRoutingProfile
Assign the newly created routing profile to the existing user.
3
confirmAssignment
describeUser
Describe the user and confirm the newly created routing profile is now the one assigned to them.

Source API Descriptions

Arazzo Workflow Specification

amazon-connect-create-routing-profile-and-assign-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Connect Create Routing Profile and Assign to User
  summary: Create a routing profile with media concurrencies and assign it to an existing agent.
  description: >-
    Stands up a new routing profile in an Amazon Connect instance with its
    default outbound queue and media concurrencies, then assigns it to an
    existing agent user and reads the user back to confirm the new routing
    profile 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: create-routing-profile-and-assign
  summary: Create a routing profile and assign it to an existing user.
  description: >-
    Creates a routing profile, assigns it to the supplied user, and confirms the
    assignment by describing the user.
  inputs:
    type: object
    required:
    - instanceId
    - userId
    - name
    - defaultOutboundQueueId
    properties:
      instanceId:
        type: string
        description: The identifier of the Amazon Connect instance.
      userId:
        type: string
        description: The identifier of the existing user to assign the profile to.
      name:
        type: string
        description: The name of the new routing profile.
      description:
        type: string
        description: A description for the new routing profile.
      defaultOutboundQueueId:
        type: string
        description: The identifier of the default outbound queue for the profile.
      concurrency:
        type: integer
        description: The number of simultaneous voice contacts the agent can handle.
  steps:
  - stepId: createProfile
    description: >-
      Create the routing profile with its default outbound queue and a single
      voice media concurrency.
    operationId: createRoutingProfile
    parameters:
    - name: InstanceId
      in: path
      value: $inputs.instanceId
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.name
        Description: $inputs.description
        DefaultOutboundQueueId: $inputs.defaultOutboundQueueId
        MediaConcurrencies:
        - Channel: VOICE
          Concurrency: $inputs.concurrency
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      routingProfileId: $response.body#/RoutingProfileId
      routingProfileArn: $response.body#/RoutingProfileArn
  - stepId: assignToUser
    description: >-
      Assign the newly created routing profile to the existing user.
    operationId: updateUserRoutingProfile
    parameters:
    - name: InstanceId
      in: path
      value: $inputs.instanceId
    - name: UserId
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        RoutingProfileId: $steps.createProfile.outputs.routingProfileId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: confirmAssignment
    description: >-
      Describe the user and confirm the newly created routing profile is now the
      one assigned to them.
    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.RoutingProfileId == $steps.createProfile.outputs.routingProfileId
      type: jsonpath
    outputs:
      assignedRoutingProfile: $response.body#/User/RoutingProfileId
  outputs:
    routingProfileId: $steps.createProfile.outputs.routingProfileId
    assignedRoutingProfile: $steps.confirmAssignment.outputs.assignedRoutingProfile