Amazon Connect Service

2023/08/04 - Amazon Connect Service - 1 new3 updated api methods

Changes  Added a new API UpdateRoutingProfileAgentAvailabilityTimer to update agent availability timer of a routing profile.

UpdateRoutingProfileAgentAvailabilityTimer (new) Link ¶

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

See also: AWS API Documentation

Request Syntax

client.update_routing_profile_agent_availability_timer(
    InstanceId='string',
    RoutingProfileId='string',
    AgentAvailabilityTimer='TIME_SINCE_LAST_ACTIVITY'|'TIME_SINCE_LAST_INBOUND'
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type RoutingProfileId:

string

param RoutingProfileId:

[REQUIRED]

The identifier of the routing profile.

type AgentAvailabilityTimer:

string

param AgentAvailabilityTimer:

[REQUIRED]

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

returns:

None

CreateRoutingProfile (updated) Link ¶
Changes (request)
{'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY | TIME_SINCE_LAST_INBOUND'}

Creates a new routing profile.

See also: AWS API Documentation

Request Syntax

client.create_routing_profile(
    InstanceId='string',
    Name='string',
    Description='string',
    DefaultOutboundQueueId='string',
    QueueConfigs=[
        {
            'QueueReference': {
                'QueueId': 'string',
                'Channel': 'VOICE'|'CHAT'|'TASK'
            },
            'Priority': 123,
            'Delay': 123
        },
    ],
    MediaConcurrencies=[
        {
            'Channel': 'VOICE'|'CHAT'|'TASK',
            'Concurrency': 123,
            'CrossChannelBehavior': {
                'BehaviorType': 'ROUTE_CURRENT_CHANNEL_ONLY'|'ROUTE_ANY_CHANNEL'
            }
        },
    ],
    Tags={
        'string': 'string'
    },
    AgentAvailabilityTimer='TIME_SINCE_LAST_ACTIVITY'|'TIME_SINCE_LAST_INBOUND'
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type Name:

string

param Name:

[REQUIRED]

The name of the routing profile. Must not be more than 127 characters.

type Description:

string

param Description:

[REQUIRED]

Description of the routing profile. Must not be more than 250 characters.

type DefaultOutboundQueueId:

string

param DefaultOutboundQueueId:

[REQUIRED]

The default outbound queue for the routing profile.

type QueueConfigs:

list

param QueueConfigs:

The inbound queues associated with the routing profile. If no queue is added, the agent can make only outbound calls.

The limit of 10 array members applies to the maximum number of RoutingProfileQueueConfig objects that can be passed during a CreateRoutingProfile API request. It is different from the quota of 50 queues per routing profile per instance that is listed in Amazon Connect service quotas.

  • (dict) --

    Contains information about the queue and channel for which priority and delay can be set.

    • QueueReference (dict) -- [REQUIRED]

      Contains information about a queue resource.

      • QueueId (string) -- [REQUIRED]

        The identifier for the queue.

      • Channel (string) -- [REQUIRED]

        The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

    • Priority (integer) -- [REQUIRED]

      The order in which contacts are to be handled for the queue. For more information, see Queues: priority and delay.

    • Delay (integer) -- [REQUIRED]

      The delay, in seconds, a contact should be in the queue before they are routed to an available agent. For more information, see Queues: priority and delay in the Amazon Connect Administrator Guide.

type MediaConcurrencies:

list

param MediaConcurrencies:

[REQUIRED]

The channels that agents can handle in the Contact Control Panel (CCP) for this routing profile.

  • (dict) --

    Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

    • Channel (string) -- [REQUIRED]

      The channels that agents can handle in the Contact Control Panel (CCP).

    • Concurrency (integer) -- [REQUIRED]

      The number of contacts an agent can have on a channel simultaneously.

      Valid Range for VOICE: Minimum value of 1. Maximum value of 1.

      Valid Range for CHAT: Minimum value of 1. Maximum value of 10.

      Valid Range for TASK: Minimum value of 1. Maximum value of 10.

    • CrossChannelBehavior (dict) --

      Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

      • BehaviorType (string) -- [REQUIRED]

        Specifies the other channels that can be routed to an agent handling their current channel.

type Tags:

dict

param Tags:

The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

  • (string) --

    • (string) --

type AgentAvailabilityTimer:

string

param AgentAvailabilityTimer:

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

rtype:

dict

returns:

Response Syntax

{
    'RoutingProfileArn': 'string',
    'RoutingProfileId': 'string'
}

Response Structure

  • (dict) --

    • RoutingProfileArn (string) --

      The Amazon Resource Name (ARN) of the routing profile.

    • RoutingProfileId (string) --

      The identifier of the routing profile.

DescribeRoutingProfile (updated) Link ¶
Changes (response)
{'RoutingProfile': {'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY | '
                                              'TIME_SINCE_LAST_INBOUND'}}

Describes the specified routing profile.

See also: AWS API Documentation

Request Syntax

client.describe_routing_profile(
    InstanceId='string',
    RoutingProfileId='string'
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type RoutingProfileId:

string

param RoutingProfileId:

[REQUIRED]

The identifier of the routing profile.

rtype:

dict

returns:

Response Syntax

{
    'RoutingProfile': {
        'InstanceId': 'string',
        'Name': 'string',
        'RoutingProfileArn': 'string',
        'RoutingProfileId': 'string',
        'Description': 'string',
        'MediaConcurrencies': [
            {
                'Channel': 'VOICE'|'CHAT'|'TASK',
                'Concurrency': 123,
                'CrossChannelBehavior': {
                    'BehaviorType': 'ROUTE_CURRENT_CHANNEL_ONLY'|'ROUTE_ANY_CHANNEL'
                }
            },
        ],
        'DefaultOutboundQueueId': 'string',
        'Tags': {
            'string': 'string'
        },
        'NumberOfAssociatedQueues': 123,
        'NumberOfAssociatedUsers': 123,
        'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY'|'TIME_SINCE_LAST_INBOUND'
    }
}

Response Structure

  • (dict) --

    • RoutingProfile (dict) --

      The routing profile.

      • InstanceId (string) --

        The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

      • Name (string) --

        The name of the routing profile.

      • RoutingProfileArn (string) --

        The Amazon Resource Name (ARN) of the routing profile.

      • RoutingProfileId (string) --

        The identifier of the routing profile.

      • Description (string) --

        The description of the routing profile.

      • MediaConcurrencies (list) --

        The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

        • (dict) --

          Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

          • Channel (string) --

            The channels that agents can handle in the Contact Control Panel (CCP).

          • Concurrency (integer) --

            The number of contacts an agent can have on a channel simultaneously.

            Valid Range for VOICE: Minimum value of 1. Maximum value of 1.

            Valid Range for CHAT: Minimum value of 1. Maximum value of 10.

            Valid Range for TASK: Minimum value of 1. Maximum value of 10.

          • CrossChannelBehavior (dict) --

            Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

            • BehaviorType (string) --

              Specifies the other channels that can be routed to an agent handling their current channel.

      • DefaultOutboundQueueId (string) --

        The identifier of the default outbound queue for this routing profile.

      • Tags (dict) --

        The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

        • (string) --

          • (string) --

      • NumberOfAssociatedQueues (integer) --

        The number of associated queues in routing profile.

      • NumberOfAssociatedUsers (integer) --

        The number of associated users in routing profile.

      • AgentAvailabilityTimer (string) --

        Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

SearchRoutingProfiles (updated) Link ¶
Changes (response)
{'RoutingProfiles': {'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY | '
                                               'TIME_SINCE_LAST_INBOUND'}}

Searches routing profiles in an Amazon Connect instance, with optional filtering.

See also: AWS API Documentation

Request Syntax

client.search_routing_profiles(
    InstanceId='string',
    NextToken='string',
    MaxResults=123,
    SearchFilter={
        'TagFilter': {
            'OrConditions': [
                [
                    {
                        'TagKey': 'string',
                        'TagValue': 'string'
                    },
                ],
            ],
            'AndConditions': [
                {
                    'TagKey': 'string',
                    'TagValue': 'string'
                },
            ],
            'TagCondition': {
                'TagKey': 'string',
                'TagValue': 'string'
            }
        }
    },
    SearchCriteria={
        'OrConditions': [
            {'... recursive ...'},
        ],
        'AndConditions': [
            {'... recursive ...'},
        ],
        'StringCondition': {
            'FieldName': 'string',
            'Value': 'string',
            'ComparisonType': 'STARTS_WITH'|'CONTAINS'|'EXACT'
        }
    }
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type NextToken:

string

param NextToken:

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return per page.

type SearchFilter:

dict

param SearchFilter:

Filters to be applied to search results.

  • TagFilter (dict) --

    An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

    • Top level list specifies conditions that need to be applied with OR operator

    • Inner list specifies conditions that need to be applied with AND operator.

    • OrConditions (list) --

      A list of conditions which would be applied together with an OR condition.

      • (list) --

        • (dict) --

          A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

          • TagKey (string) --

            The tag key in the tag condition.

          • TagValue (string) --

            The tag value in the tag condition.

    • AndConditions (list) --

      A list of conditions which would be applied together with an AND condition.

      • (dict) --

        A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

        • TagKey (string) --

          The tag key in the tag condition.

        • TagValue (string) --

          The tag value in the tag condition.

    • TagCondition (dict) --

      A leaf node condition which can be used to specify a tag condition.

      • TagKey (string) --

        The tag key in the tag condition.

      • TagValue (string) --

        The tag value in the tag condition.

type SearchCriteria:

dict

param SearchCriteria:

The search criteria to be used to return routing profiles.

  • OrConditions (list) --

    A list of conditions which would be applied together with an OR condition.

    • (dict) --

      The search criteria to be used to return routing profiles.

  • AndConditions (list) --

    A list of conditions which would be applied together with an AND condition.

    • (dict) --

      The search criteria to be used to return routing profiles.

  • StringCondition (dict) --

    A leaf node condition which can be used to specify a string condition.

    • FieldName (string) --

      The name of the field in the string condition.

    • Value (string) --

      The value of the string.

    • ComparisonType (string) --

      The type of comparison to be made when evaluating the string condition.

rtype:

dict

returns:

Response Syntax

{
    'RoutingProfiles': [
        {
            'InstanceId': 'string',
            'Name': 'string',
            'RoutingProfileArn': 'string',
            'RoutingProfileId': 'string',
            'Description': 'string',
            'MediaConcurrencies': [
                {
                    'Channel': 'VOICE'|'CHAT'|'TASK',
                    'Concurrency': 123,
                    'CrossChannelBehavior': {
                        'BehaviorType': 'ROUTE_CURRENT_CHANNEL_ONLY'|'ROUTE_ANY_CHANNEL'
                    }
                },
            ],
            'DefaultOutboundQueueId': 'string',
            'Tags': {
                'string': 'string'
            },
            'NumberOfAssociatedQueues': 123,
            'NumberOfAssociatedUsers': 123,
            'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY'|'TIME_SINCE_LAST_INBOUND'
        },
    ],
    'NextToken': 'string',
    'ApproximateTotalCount': 123
}

Response Structure

  • (dict) --

    • RoutingProfiles (list) --

      Information about the routing profiles.

      • (dict) --

        Contains information about a routing profile.

        • InstanceId (string) --

          The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

        • Name (string) --

          The name of the routing profile.

        • RoutingProfileArn (string) --

          The Amazon Resource Name (ARN) of the routing profile.

        • RoutingProfileId (string) --

          The identifier of the routing profile.

        • Description (string) --

          The description of the routing profile.

        • MediaConcurrencies (list) --

          The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

          • (dict) --

            Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

            • Channel (string) --

              The channels that agents can handle in the Contact Control Panel (CCP).

            • Concurrency (integer) --

              The number of contacts an agent can have on a channel simultaneously.

              Valid Range for VOICE: Minimum value of 1. Maximum value of 1.

              Valid Range for CHAT: Minimum value of 1. Maximum value of 10.

              Valid Range for TASK: Minimum value of 1. Maximum value of 10.

            • CrossChannelBehavior (dict) --

              Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

              • BehaviorType (string) --

                Specifies the other channels that can be routed to an agent handling their current channel.

        • DefaultOutboundQueueId (string) --

          The identifier of the default outbound queue for this routing profile.

        • Tags (dict) --

          The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

          • (string) --

            • (string) --

        • NumberOfAssociatedQueues (integer) --

          The number of associated queues in routing profile.

        • NumberOfAssociatedUsers (integer) --

          The number of associated users in routing profile.

        • AgentAvailabilityTimer (string) --

          Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

    • NextToken (string) --

      If there are additional results, this is the token for the next set of results.

    • ApproximateTotalCount (integer) --

      The total number of routing profiles which matched your search query.