Настройка оповещений по электронной почте шлюза AWS API о состоянии агента

Python Boto3

Обзор настройки оповещений на AWS

Настройка автоматических оповещений по электронной почте в AWS API Gateway для определенных статусов агентов, таких как «Занят» или «Недоступен», представляет собой уникальную проблему, когда эти статусы превышают определенную продолжительность. В этом случае требуется отправлять уведомления, если статус сохраняется более 15 минут. Эта функция имеет решающее значение для эффективного управления операциями поддержки клиентов, гарантируя, что ни один агент не останется бездействующим или перегруженным без вмешательства.

Несмотря на существование систем оповещения по электронной почте о пропущенных вызовах, для настройки оповещений о настраиваемой продолжительности статуса в панели управления контактами (CCP) Amazon Connect не хватает простой документации и поддержки. Отсутствие прямого руководства требует более индивидуального подхода, сочетающего инновационные сервисы AWS для эффективного мониторинга показателей в реальном времени и доступности агентов.

Команда Описание
boto3.client('connect') Инициализирует клиент для взаимодействия со службой Amazon Connect.
boto3.client('sns') Создает клиент Simple Notification Service для отправки уведомлений.
get_current_metric_data Получает данные метрик в реальном времени для указанных ресурсов в Amazon Connect.
publish Отправляет сообщение подписчикам темы Amazon SNS.
put_metric_alarm Создает или обновляет сигнал тревоги, который отслеживает одну метрику CloudWatch.
Dimensions Используется в CloudWatch для определения размеров отслеживаемой метрики (например, идентификатора экземпляра).

Подробное объяснение функциональности скрипта

Первый скрипт использует AWS SDK для Python, известный как Boto3, для взаимодействия с Amazon Connect и Simple Notification Service (SNS). Основная функциональность связана с Команда, которая устанавливает соединение с Amazon Connect, позволяя выполнять операции, связанные с метриками состояния агента. Скрипт проверяет, превышает ли длительность настраиваемого статуса агента, в частности статусов типа «Занят» или «Недоступен», 15 минут, используя функция. Эта функция извлекает данные метрик в реальном времени, помогая идентифицировать любого агента, превысившего указанный порог.

Если условие превышения порога выполнено, скрипт использует чтобы инициировать связь с простой службой уведомлений AWS. Команда отправляет электронное письмо с предупреждением указанным получателям, уведомляя их о проблеме со статусом. Этот механизм уведомления имеет решающее значение в средах, где поддержание оптимального времени ответа агента имеет важное значение для удовлетворенности клиентов. Сценарий обеспечивает своевременное вмешательство, предотвращая любые упущения, которые могут привести к снижению качества обслуживания или увеличению времени ожидания клиентов.

Автоматизация уведомлений по электронной почте о продлении статуса агента в AWS

Лямбда-функция с использованием Python

import boto3
import os
from datetime import datetime, timedelta
def lambda_handler(event, context):
    connect_client = boto3.client('connect')
    sns_client = boto3.client('sns')
    instance_id = os.environ['CONNECT_INSTANCE_ID']
    threshold_minutes = 15
    current_time = datetime.utcnow()
    cutoff_time = current_time - timedelta(minutes=threshold_minutes)
    response = connect_client.get_current_metric_data(
        InstanceId=instance_id,
        Filters={'Channels': ['VOICE'],
                 'Queues': [os.environ['QUEUE_ID']]},
        CurrentMetrics=[{'Name': 'AGENTS_AFTER_CONTACT_WORK', 'Unit': 'SECONDS'}]
    )
    for data in response['MetricResults']:
        if data['Collections'][0]['Value'] > threshold_minutes * 60:
            sns_client.publish(
                TopicArn=os.environ['SNS_TOPIC_ARN'],
                Message='Agent status exceeded 15 minutes.',
                Subject='Alert: Agent Status Time Exceeded'
            )
    return {'status': 'Complete'}

Запуск оповещений по электронной почте о статусах специальных агентов AWS CCP

Интеграция AWS CloudWatch и SNS

import boto3
import json
def create_cloudwatch_alarm():
    cw_client = boto3.client('cloudwatch')
    sns_topic_arn = 'arn:aws:sns:us-east-1:123456789012:MySNSTopic'
    cw_client.put_metric_alarm(
        AlarmName='CCPStatusDurationAlarm',
        AlarmDescription='Trigger when agent status exceeds 15 minutes.',
        ActionsEnabled=True,
        AlarmActions=[sns_topic_arn],
        MetricName='CustomStatusDuration',
        Namespace='AWS/Connect',
        Statistic='Maximum',
        Period=300,
        EvaluationPeriods=3,
        Threshold=900,
        ComparisonOperator='GreaterThanThreshold',
        Dimensions=[
            {'Name': 'InstanceId', 'Value': 'the-connect-instance-id'}
        ]
    )
    return 'CloudWatch Alarm has been created'

Расширенные методы интеграции для оповещений по электронной почте AWS

При настройке оповещений для AWS API Gateway и Amazon Connect важно понимать возможности интеграции с другими сервисами AWS. Одна из таких интеграций предполагает использование AWS Lambda в сочетании с Amazon CloudWatch. Такая настройка позволяет осуществлять более детальный мониторинг и действия по реагированию на основе конкретных статусов агентов в Amazon Connect. Используя функции Lambda, пользователи могут создавать собственные сценарии, реагирующие на изменения показателей, тем самым повышая оперативность и адаптируемость системы оповещений.

Кроме того, использование сигналов тревоги Amazon CloudWatch позволяет отслеживать определенные события, например длительную недоступность агента. Эти сигналы тревоги могут запускать функции Lambda, которые, в свою очередь, могут выполнять заранее определенные действия, такие как отправка уведомлений через Amazon SNS. Такой многоуровневый подход гарантирует, что все соответствующие статусы активно отслеживаются и управляются, что позволяет поддерживать операционную эффективность и улучшать взаимодействие со службой поддержки клиентов.

  1. Что такое AWS Lambda и как он используется для оповещений?
  2. AWS Lambda позволяет пользователям запускать код в ответ на события, например превышение временного порога состояния агента, что запускает такие действия, как отправка оповещений.
  3. Как Amazon CloudWatch может улучшить системы оповещения?
  4. CloudWatch отслеживает ресурсы и приложения AWS, позволяя пользователям устанавливать сигналы тревоги, которые запускают автоматические реакции на основе определенных показателей.
  5. Что такое Amazon SNS и его роль в системах оповещения?
  6. Amazon SNS (Simple Notification Service) упрощает отправку сообщений подписавшимся конечным точкам или клиентам, что имеет решающее значение для эффективного распространения уведомлений о предупреждениях.
  7. Может ли CloudWatch использовать специальные метрики для оповещений?
  8. Да, CloudWatch может отслеживать пользовательские метрики, созданные путем размещения журналов или настройки пользовательских событий, обеспечивая гибкость в условиях оповещения.
  9. Каковы рекомендации по настройке оповещений о статусе агента?
  10. Лучшие практики включают использование подробных показателей, установку реалистичных пороговых значений и обеспечение действенности и оперативной доставки оповещений с помощью таких служб, как .

Создание эффективной системы оповещения о статусах агентов в AWS позволяет использовать возможности облачных сервисов для улучшения оперативного надзора и обслуживания клиентов. Интеграция AWS Lambda, Amazon CloudWatch и Amazon SNS создает надежный механизм мониторинга и реагирования на активность агентов. Такая настройка не только помогает эффективно управлять персоналом, но и обеспечивает оперативное взаимодействие с клиентами, тем самым оптимизируя общую производительность контакт-центра.