Amazon Connect Service

2025/08/28 - Amazon Connect Service - 2 updated api methods

Changes  AgentStatusDrillDown feature in GetCurrentMetricData API. Adding AGENT_STATUS as filter and grouping in GetCurrentMetricData API

GetCurrentMetricData (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'AgentStatuses': ['string']}, 'Groupings': {'AGENT_STATUS'}}
Response
{'MetricResults': {'Dimensions': {'AgentStatus': {'Arn': 'string',
                                                  'Id': 'string'}}}}

Gets the real-time metric data from the specified Amazon Connect instance.

For a description of each metric, see Metrics definitions in the Amazon Connect Administrator Guide.

See also: AWS API Documentation

Request Syntax

client.get_current_metric_data(
    InstanceId='string',
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE'|'CHAT'|'TASK'|'EMAIL',
        ],
        'RoutingProfiles': [
            'string',
        ],
        'RoutingStepExpressions': [
            'string',
        ],
        'AgentStatuses': [
            'string',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL'|'ROUTING_PROFILE'|'ROUTING_STEP_EXPRESSION'|'AGENT_STATUS',
    ],
    CurrentMetrics=[
        {
            'Name': 'AGENTS_ONLINE'|'AGENTS_AVAILABLE'|'AGENTS_ON_CALL'|'AGENTS_NON_PRODUCTIVE'|'AGENTS_AFTER_CONTACT_WORK'|'AGENTS_ERROR'|'AGENTS_STAFFED'|'CONTACTS_IN_QUEUE'|'OLDEST_CONTACT_AGE'|'CONTACTS_SCHEDULED'|'AGENTS_ON_CONTACT'|'SLOTS_ACTIVE'|'SLOTS_AVAILABLE',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123,
    SortCriteria=[
        {
            'SortByMetric': 'AGENTS_ONLINE'|'AGENTS_AVAILABLE'|'AGENTS_ON_CALL'|'AGENTS_NON_PRODUCTIVE'|'AGENTS_AFTER_CONTACT_WORK'|'AGENTS_ERROR'|'AGENTS_STAFFED'|'CONTACTS_IN_QUEUE'|'OLDEST_CONTACT_AGE'|'CONTACTS_SCHEDULED'|'AGENTS_ON_CONTACT'|'SLOTS_ACTIVE'|'SLOTS_AVAILABLE',
            'SortOrder': 'ASCENDING'|'DESCENDING'
        },
    ]
)
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 Filters:

dict

param Filters:

[REQUIRED]

The filters to apply to returned metrics. You can filter up to the following limits:

  • Queues: 100

  • Routing profiles: 100

  • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

  • RoutingStepExpressions: 50

  • AgentStatuses: 50

Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

When using AgentStatuses as filter make sure Queues is added as primary filter.

When using the RoutingStepExpression filter, you need to pass exactly one QueueId. The filter is also case sensitive so when using the RoutingStepExpression filter, grouping by ROUTING_STEP_EXPRESSION is required.

Currently tagging is only supported on the resources that are passed in the filter.

  • Queues (list) --

    The queues to use to filter the metrics. You should specify at least one queue, and can specify up to 100 queues per request. The GetCurrentMetricsData API in particular requires a queue when you include a Filter in your request.

    • (string) --

  • Channels (list) --

    The channel to use to filter the metrics.

    • (string) --

  • RoutingProfiles (list) --

    A list of up to 100 routing profile IDs or ARNs.

    • (string) --

  • RoutingStepExpressions (list) --

    A list of expressions as a filter, in which an expression is an object of a step in a routing criteria.

    • (string) --

  • AgentStatuses (list) --

    A list of up to 50 agent status IDs or ARNs.

    • (string) --

type Groupings:

list

param Groupings:

Defines the level of aggregation for metrics data by a dimension(s). Its similar to sorting items into buckets based on a common characteristic, then counting or calculating something for each bucket. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

The grouping list is an ordered list, with the first item in the list defined as the primary grouping. If no grouping is included in the request, the aggregation happens at the instance-level.

  • If you group by CHANNEL, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.

  • If you group by AGENT_STATUS, you must include the QUEUE as the primary grouping and use queue filter. When you group by AGENT_STATUS, the only metric available is the AGENTS_ONLINE metric.

  • If you group by ROUTING_PROFILE, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

  • When using the RoutingStepExpression filter, group by ROUTING_STEP_EXPRESSION is required.

  • (string) --

type CurrentMetrics:

list

param CurrentMetrics:

[REQUIRED]

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Metrics definitions in the Amazon Connect Administrator Guide.

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

Name in real-time metrics report: ACW

AGENTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Available

AGENTS_ERROR

Unit: COUNT

Name in real-time metrics report: Error

AGENTS_NON_PRODUCTIVE

Unit: COUNT

Name in real-time metrics report: NPT (Non-Productive Time)

AGENTS_ON_CALL

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ON_CONTACT

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ONLINE

Unit: COUNT

Name in real-time metrics report: Online

AGENTS_STAFFED

Unit: COUNT

Name in real-time metrics report: Staffed

CONTACTS_IN_QUEUE

Unit: COUNT

Name in real-time metrics report: In queue

CONTACTS_SCHEDULED

Unit: COUNT

Name in real-time metrics report: Scheduled

OLDEST_CONTACT_AGE

Unit: SECONDS

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

``{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 ``}

The actual OLDEST_CONTACT_AGE is 24 seconds.

When the filter RoutingStepExpression is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under <Expression 1> for 10 seconds has expired and <Expression 2> becomes active, then OLDEST_CONTACT_AGE for this queue will be counted starting from 10, not 0.

Name in real-time metrics report: Oldest

SLOTS_ACTIVE

Unit: COUNT

Name in real-time metrics report: Active

SLOTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Availability

  • (dict) --

    Contains information about a real-time metric. For a description of each metric, see Metrics definitions in the Amazon Connect Administrator Guide.

    • Name (string) --

      The name of the metric.

    • Unit (string) --

      The unit for the metric.

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.

The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return per page.

type SortCriteria:

list

param SortCriteria:

The way to sort the resulting response based on metrics. You can enter one sort criteria. By default resources are sorted based on AGENTS_ONLINE, DESCENDING. The metric collection is sorted based on the input metrics.

Note the following:

  • Sorting on SLOTS_ACTIVE and SLOTS_AVAILABLE is not supported.

  • (dict) --

    The way to sort the resulting response based on metrics. By default resources are sorted based on AGENTS_ONLINE, DESCENDING. The metric collection is sorted based on the input metrics.

    • SortByMetric (string) --

      The current metric names.

    • SortOrder (string) --

      The way to sort.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'|'CHAT'|'TASK'|'EMAIL',
                'RoutingProfile': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'RoutingStepExpression': 'string',
                'AgentStatus': {
                    'Arn': 'string',
                    'Id': 'string'
                }
            },
            'Collections': [
                {
                    'Metric': {
                        'Name': 'AGENTS_ONLINE'|'AGENTS_AVAILABLE'|'AGENTS_ON_CALL'|'AGENTS_NON_PRODUCTIVE'|'AGENTS_AFTER_CONTACT_WORK'|'AGENTS_ERROR'|'AGENTS_STAFFED'|'CONTACTS_IN_QUEUE'|'OLDEST_CONTACT_AGE'|'CONTACTS_SCHEDULED'|'AGENTS_ON_CONTACT'|'SLOTS_ACTIVE'|'SLOTS_AVAILABLE',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ],
    'DataSnapshotTime': datetime(2015, 1, 1),
    'ApproximateTotalCount': 123
}

Response Structure

  • (dict) --

    • NextToken (string) --

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

      The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      Information about the real-time metrics.

      • (dict) --

        Contains information about a set of real-time metrics.

        • Dimensions (dict) --

          The dimensions for the metrics.

          • Queue (dict) --

            Information about the queue for which metrics are returned.

            • Id (string) --

              The identifier of the queue.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the queue.

          • Channel (string) --

            The channel used for grouping and filters.

          • RoutingProfile (dict) --

            Information about the routing profile assigned to the user.

            • Id (string) --

              The identifier of the routing profile.

            • Arn (string) --

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

          • RoutingStepExpression (string) --

            The expression of a step in a routing criteria.

          • AgentStatus (dict) --

            Information about the agent status assigned to the user.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the agent status.

            • Id (string) --

              The identifier of the agent status.

        • Collections (list) --

          The set of metrics.

          • (dict) --

            Contains the data for a real-time metric.

            • Metric (dict) --

              Information about the metric.

              • Name (string) --

                The name of the metric.

              • Unit (string) --

                The unit for the metric.

            • Value (float) --

              The value of the metric.

    • DataSnapshotTime (datetime) --

      The time at which the metrics were retrieved and cached for pagination.

    • ApproximateTotalCount (integer) --

      The total count of the result, regardless of the current page size.

GetMetricData (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'AgentStatuses': ['string']}, 'Groupings': {'AGENT_STATUS'}}
Response
{'MetricResults': {'Dimensions': {'AgentStatus': {'Arn': 'string',
                                                  'Id': 'string'}}}}

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Metrics definitions in the Amazon Connect Administrator Guide.

See also: AWS API Documentation

Request Syntax

client.get_metric_data(
    InstanceId='string',
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE'|'CHAT'|'TASK'|'EMAIL',
        ],
        'RoutingProfiles': [
            'string',
        ],
        'RoutingStepExpressions': [
            'string',
        ],
        'AgentStatuses': [
            'string',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL'|'ROUTING_PROFILE'|'ROUTING_STEP_EXPRESSION'|'AGENT_STATUS',
    ],
    HistoricalMetrics=[
        {
            'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
            'Threshold': {
                'Comparison': 'LT',
                'ThresholdValue': 123.0
            },
            'Statistic': 'SUM'|'MAX'|'AVG',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123
)
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 StartTime:

datetime

param StartTime:

[REQUIRED]

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.

The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.

type EndTime:

datetime

param EndTime:

[REQUIRED]

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

The time range between the start and end time must be less than 24 hours.

type Filters:

dict

param Filters:

[REQUIRED]

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

  • Queues (list) --

    The queues to use to filter the metrics. You should specify at least one queue, and can specify up to 100 queues per request. The GetCurrentMetricsData API in particular requires a queue when you include a Filter in your request.

    • (string) --

  • Channels (list) --

    The channel to use to filter the metrics.

    • (string) --

  • RoutingProfiles (list) --

    A list of up to 100 routing profile IDs or ARNs.

    • (string) --

  • RoutingStepExpressions (list) --

    A list of expressions as a filter, in which an expression is an object of a step in a routing criteria.

    • (string) --

  • AgentStatuses (list) --

    A list of up to 50 agent status IDs or ARNs.

    • (string) --

type Groupings:

list

param Groupings:

The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

If no grouping is specified, a summary of metrics for all queues is returned.

RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

  • (string) --

type HistoricalMetrics:

list

param HistoricalMetrics:

[REQUIRED]

The metrics to retrieve. Specify the name, unit, and statistic for each metric. The following historical metrics are available. For a description of each metric, see Metrics definition in the Amazon Connect Administrator Guide.

Unit: SECONDS

Statistic: AVG

UI name: Average queue abandon time

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistic: AVG

UI name: After contact work time

API_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

UI name: API contacts handled

AVG_HOLD_TIME

Unit: SECONDS

Statistic: AVG

UI name: Average customer hold time

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

UI name: Callback contacts handled

CONTACTS_ABANDONED

Unit: COUNT

Statistic: SUM

UI name: Contacts abandoned

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistic: SUM

UI name: Contacts agent hung up first

CONTACTS_CONSULTED

Unit: COUNT

Statistic: SUM

UI name: Contacts consulted

CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

UI name: Contacts handled

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistic: SUM

UI name: Contacts handled incoming

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistic: SUM

UI name: Contacts handled outbound

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistic: SUM

UI name: Contacts hold disconnect

CONTACTS_MISSED

Unit: COUNT

Statistic: SUM

UI name: AGENT_NON_RESPONSE

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

UI name: Contacts queued

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistic: SUM

UI name: Contacts transferred in

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistic: SUM

UI name: Contacts transferred out queue

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistic: SUM

UI name: Contacts transferred out

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistic: SUM

UI name: Contacts transferred out queue

HANDLE_TIME

Unit: SECONDS

Statistic: AVG

UI name: Average handle time

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistic: AVG

UI name: Average agent interaction and customer hold time

INTERACTION_TIME

Unit: SECONDS

Statistic: AVG

UI name: Average agent interaction time

OCCUPANCY

Unit: PERCENT

Statistic: AVG

UI name: Occupancy

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistic: AVG

UI name: Average queue answer time

QUEUED_TIME

Unit: SECONDS

Statistic: MAX

UI name: Minimum flow time

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: PERCENT

Statistic: AVG

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Average queue abandon time

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.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'|'CHAT'|'TASK'|'EMAIL',
                'RoutingProfile': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'RoutingStepExpression': 'string',
                'AgentStatus': {
                    'Arn': 'string',
                    'Id': 'string'
                }
            },
            'Collections': [
                {
                    'Metric': {
                        'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
                        'Threshold': {
                            'Comparison': 'LT',
                            'ThresholdValue': 123.0
                        },
                        'Statistic': 'SUM'|'MAX'|'AVG',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

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

      The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      Information about the historical metrics.

      If no grouping is specified, a summary of metric data is returned.

      • (dict) --

        Contains information about the historical metrics retrieved.

        • Dimensions (dict) --

          The dimension for the metrics.

          • Queue (dict) --

            Information about the queue for which metrics are returned.

            • Id (string) --

              The identifier of the queue.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the queue.

          • Channel (string) --

            The channel used for grouping and filters.

          • RoutingProfile (dict) --

            Information about the routing profile assigned to the user.

            • Id (string) --

              The identifier of the routing profile.

            • Arn (string) --

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

          • RoutingStepExpression (string) --

            The expression of a step in a routing criteria.

          • AgentStatus (dict) --

            Information about the agent status assigned to the user.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the agent status.

            • Id (string) --

              The identifier of the agent status.

        • Collections (list) --

          The set of metrics.

          • (dict) --

            Contains the data for a historical metric.