Amazon Connect Service

2018/09/24 - Amazon Connect Service - 2 new api methods

Changes  This update adds the Amazon Connect Metrics API, which lets you get current metric data and historical metric data within 24 hours for the queues in your Amazon Connect instance.

GetMetricData (new) Link ¶

The GetMetricData operation retrieves historical metrics data from your Amazon Connect instance.

If you are using an IAM account, it must have permission to the connect:GetMetricData action.

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',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL',
    ],
    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 for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

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.

StartTime cannot be earlier than 24 hours before the time of the request. Historical metrics are available in Amazon Connect 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 StartTime timestamp.

The time range between StartTime and EndTime must be less than 24 hours.

type Filters

dict

param Filters

[REQUIRED]

A Filters object that contains a list of queue IDs or queue ARNs, up to 100, or a list of Channels to use to filter the metrics returned in the response. Metric data is retrieved only for the resources associated with the IDs, ARNs, or Channels included in the filter. You can use both IDs and ARNs together in a request. Only VOICE is supported for Channel.

To find the ARN for a queue, open the queue you want to use in the Amazon Connect Queue editor. The ARN for the queue is displayed in the address bar as part of the URL. For example, the queue ARN is the set of characters at the end of the URL, after 'id=' such as arn:aws:connect:us-east-1:270923740243:instance/78fb859d-1b7d-44b1-8aa3-12f0835c5855/queue/1d1a4575-9618-40ab-bbeb-81e45795fe61 . The queue ID is also included in the URL, and is the string after 'queue/'.

  • Queues (list) --

    A list of up to 100 queue IDs or queue ARNs to use to filter the metrics retrieved. You can include both IDs and ARNs in a request.

    • (string) --

  • Channels (list) --

    The Channel to use as a filter for the metrics returned. Only VOICE is supported.

    • (string) --

type Groupings

list

param Groupings

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

The current version supports grouping by Queue

If no Grouping is included in the request, a summary of HistoricalMetrics for all queues is returned.

  • (string) --

type HistoricalMetrics

list

param HistoricalMetrics

[REQUIRED]

A list of HistoricalMetric objects that contain the metrics to retrieve with the request.

A HistoricalMetric object contains: HistoricalMetricName , Statistic , Threshold , and Unit .

For each historical metric you include in the request, you must include a Unit and a Statistic .

The following historical metrics are available:

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_ABANDONED

Unit: COUNT

Statistics: SUM

CONTACTS_CONSULTED

Unit: COUNT

Statistics: SUM

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistics: SUM

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

API_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_MISSED

Unit: COUNT

Statistics: SUM

OCCUPANCY

Unit: PERCENT

Statistics: AVG

HANDLE_TIME

Unit: SECONDS

Statistics: AVG

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistics: AVG

QUEUED_TIME

Unit: SECONDS

Statistics: MAX

ABANDON_TIME

Unit: COUNT

Statistics: SUM

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistics: AVG

HOLD_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistics: AVG

SERVICE_LEVEL

Unit: PERCENT

Statistics: AVG

Threshold: Only "Less than" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

  • (dict) --

    A HistoricalMetric object that contains the Name, Unit, Statistic, and Threshold for the metric.

    • Name (string) --

      The name of the historical metric.

    • Threshold (dict) --

      The threshold for the metric, used with service level metrics.

      • Comparison (string) --

        The Threshold to use to compare service level metrics to. Only "Less than" (LT) comparisons are supported.

      • ThresholdValue (float) --

        The value of the threshold to compare the metric to. Only "Less than" (LT) comparisons are supported.

    • Statistic (string) --

      The statistic for the metric: SUM, MAX, or SUM.

    • Unit (string) --

      The unit for the metric: COUNT, PERCENT, or SECONDS.

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

Indicates the maximum number of results to return per page in the response, between 1-100.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'
            },
            '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) --

      A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent 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 NextToken must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      A list of HistoricalMetricResult objects, organized by Dimensions , which is the ID of the resource specified in the Filters used for the request. The metrics are combined with the metrics included in Collections , which is a list of HisotricalMetricData objects.

      If no Grouping is specified in the request, Collections includes summary data for the HistoricalMetrics .

      • (dict) --

        The metrics data returned from a GetMetricData operation.

        • Dimensions (dict) --

          The Dimensions for the metrics.

          • Queue (dict) --

            A QueueReference object used as one part of dimension for the metrics results.

            • Id (string) --

              The ID of the queue associated with the metrics returned.

            • Arn (string) --

              The Amazon Resource Name (ARN) of queue.

          • Channel (string) --

            The channel used for grouping and filters. Only VOICE is supported.

        • Collections (list) --

          A list of HistoricalMetricData objects.

          • (dict) --

            A HistoricalMetricData object than contains a Metric and a Value .

            • Metric (dict) --

              A HistoricalMetric object.

              • Name (string) --

                The name of the historical metric.

              • Threshold (dict) --

                The threshold for the metric, used with service level metrics.

                • Comparison (string) --

                  The Threshold to use to compare service level metrics to. Only "Less than" (LT) comparisons are supported.

                • ThresholdValue (float) --

                  The value of the threshold to compare the metric to. Only "Less than" (LT) comparisons are supported.

              • Statistic (string) --

                The statistic for the metric: SUM, MAX, or SUM.

              • Unit (string) --

                The unit for the metric: COUNT, PERCENT, or SECONDS.

            • Value (float) --

              The Value of the metric.

GetCurrentMetricData (new) Link ¶

The GetCurrentMetricData operation retrieves current metric data from your Amazon Connect instance.

If you are using an IAM account, it must have permission to the connect:GetCurrentMetricData action.

See also: AWS API Documentation

Request Syntax

client.get_current_metric_data(
    InstanceId='string',
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL',
    ],
    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',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123
)
type InstanceId

string

param InstanceId

[REQUIRED]

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

type Filters

dict

param Filters

[REQUIRED]

A Filters object that contains a list of queue IDs or queue ARNs, up to 100, or list of Channels to use to filter the metrics returned in the response. Metric data is retrieved only for the resources associated with the queue IDs, ARNs, or Channels included in the filter. You can include both IDs and ARNs in the same request. To retrieve metrics for all queues, add the queue ID or ARN for each queue in your instance. Only VOICE is supported for Channels.

To find the ARN for a queue, open the queue you want to use in the Amazon Connect Queue editor. The ARN for the queue is displayed in the address bar as part of the URL. For example, the queue ARN is the set of characters at the end of the URL, after 'id=' such as arn:aws:connect:us-east-1:270923740243:instance/78fb859d-1b7d-44b1-8aa3-12f0835c5855/queue/1d1a4575-9618-40ab-bbeb-81e45795fe61 . The queue ID is also included in the URL, and is the string after 'queue/'.

  • Queues (list) --

    A list of up to 100 queue IDs or queue ARNs to use to filter the metrics retrieved. You can include both IDs and ARNs in a request.

    • (string) --

  • Channels (list) --

    The Channel to use as a filter for the metrics returned. Only VOICE is supported.

    • (string) --

type Groupings

list

param Groupings

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL, you should include a Channels filter. The only supported channel is VOICE.

If no Grouping is included in the request, a summary of CurrentMetrics is returned.

  • (string) --

type CurrentMetrics

list

param CurrentMetrics

[REQUIRED]

A list of CurrentMetric objects for the metrics to retrieve. Each CurrentMetric includes a name of a metric to retrieve and the unit to use for it.

The following metrics are available:

AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ONLINE

Unit: COUNT

AGENTS_ON_CALL

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: COUNT

AGENTS_ERROR

Unit: COUNT

CONTACTS_IN_QUEUE

Unit: COUNT

OLDEST_CONTACT_AGE

Unit: SECONDS

CONTACTS_SCHEDULED

Unit: COUNT

  • (dict) --

    A CurrentMetric object that contains the Name and Unit for the metric.

    • 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 `NextToken must use the same request parameters as the request that generated the token.

type MaxResults

integer

param MaxResults

MaxResults indicates the maximum number of results to return per page in the response, between 1 and 100.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'
            },
            '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',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ],
    'DataSnapshotTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • NextToken (string) --

      A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent 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 NextToken must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      A list of CurrentMetricResult objects organized by Dimensions combining with CurrentMetricDataCollections .

      Dimensions is the resourceId specified in the Filters of the request.

      Collections is a list of CurrentMetricData objects with corresponding values to the CurrentMetrics specified in the request.

      If no Grouping is specified in the request, Collections is a summary for the CurrentMetric returned.

      • (dict) --

        A CurrentMetricResult object.

        • Dimensions (dict) --

          The Dimensions for the CurrentMetricResult object.

          • Queue (dict) --

            A QueueReference object used as one part of dimension for the metrics results.

            • Id (string) --

              The ID of the queue associated with the metrics returned.

            • Arn (string) --

              The Amazon Resource Name (ARN) of queue.

          • Channel (string) --

            The channel used for grouping and filters. Only VOICE is supported.

        • Collections (list) --

          The Collections for the CurrentMetricResult object.

          • (dict) --

            A CurrentMetricData object.

            • Metric (dict) --

              The metric in a CurrentMetricData object.

              • Name (string) --

                The name of the metric.

              • Unit (string) --

                The unit for the metric.

            • Value (float) --

              The value of the metric in the CurrentMetricData object.

    • DataSnapshotTime (datetime) --

      The time at which CurrentMetricData was retrieved and cached for pagination.