Configurar alertas de e-mail do AWS API Gateway para status do agente

Python Boto3

Visão geral da configuração de alertas na AWS

A configuração de alertas automatizados por e-mail no AWS API Gateway para status específicos de agentes, como “Ocupado” ou “Indisponível”, apresenta um desafio único quando esses status excedem uma determinada duração. Nesse caso, a exigência é enviar notificações caso o status persista por mais de 15 minutos. Esta funcionalidade é crucial para gerir de forma eficiente as operações de suporte ao cliente, garantindo que nenhum agente fique ocioso ou sobrecarregado sem intervenção.

Apesar da existência de sistemas de alerta por e-mail para chamadas perdidas, a configuração de alertas para durações de status personalizadas no Painel de controle de contato (CCP) do Amazon Connect carece de documentação e suporte diretos. Essa ausência de orientação direta exige uma abordagem mais personalizada, combinando os serviços da AWS de maneiras inovadoras para monitorar as métricas em tempo real e a disponibilidade dos agentes de maneira eficaz.

Comando Descrição
boto3.client('connect') Inicializa um cliente para fazer interface com o serviço Amazon Connect.
boto3.client('sns') Cria um cliente Simple Notification Service para enviar notificações.
get_current_metric_data Recupera dados de métricas em tempo real para recursos especificados no Amazon Connect.
publish Envia uma mensagem para assinantes de um tópico do Amazon SNS.
put_metric_alarm Cria ou atualiza um alarme que monitora uma única métrica do CloudWatch.
Dimensions Usado no CloudWatch para definir as dimensões da métrica que está sendo monitorada (por exemplo, ID da instância).

Explicação detalhada da funcionalidade do script

O primeiro script utiliza o AWS SDK para Python, conhecido como Boto3, para interagir com o Amazon Connect e o Simple Notification Service (SNS). A principal funcionalidade gira em torno do comando, que estabelece uma conexão com o Amazon Connect, permitindo operações relacionadas às métricas de status do agente. O script verifica se a duração do status personalizado de um agente, especificamente status como 'Ocupado' ou 'Indisponível', excede 15 minutos usando o função. Esta função recupera dados de métricas em tempo real, ajudando a identificar qualquer agente que tenha excedido o limite especificado.

Se a condição de exceder o limite for atendida, o script usará o comando para iniciar a comunicação com o Simple Notification Service da AWS. O O comando envia um e-mail de alerta para destinatários especificados, notificando-os sobre o problema de status. Este mecanismo de notificação é fundamental em ambientes onde a manutenção de tempos de resposta ideais dos agentes é essencial para a satisfação do cliente. O script garante uma intervenção oportuna, evitando qualquer descuido que possa levar à diminuição da qualidade do serviço ou ao aumento do tempo de espera do cliente.

Automatize notificações por e-mail para status prolongado de agente na AWS

Função Lambda usando 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'}

Acionar alertas por e-mail para status de agentes personalizados do AWS CCP

Integração AWS CloudWatch e 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'

Técnicas avançadas de integração para alertas de e-mail da AWS

Ao configurar alertas para o AWS API Gateway e o Amazon Connect, é essencial compreender os recursos de integração com outros serviços da AWS. Uma dessas integrações envolve o uso do AWS Lambda em conjunto com o Amazon CloudWatch. Essa configuração permite ações de monitoramento e resposta mais granulares com base em status específicos de agentes no Amazon Connect. Ao aproveitar as funções Lambda, os usuários podem criar scripts personalizados que respondem a alterações métricas, melhorando assim a capacidade de resposta e adaptabilidade do sistema de alerta.

Além disso, a utilização de alarmes do Amazon CloudWatch permite o rastreamento de eventos específicos, como indisponibilidade prolongada do agente. Esses alarmes podem acionar funções Lambda, que por sua vez podem executar ações predefinidas, como o envio de notificações via Amazon SNS. Esta abordagem multicamadas garante que todos os status pertinentes sejam monitorados e gerenciados ativamente, mantendo assim a eficiência operacional e melhorando as interações de atendimento ao cliente.

  1. O que é AWS Lambda e como ele é usado para alertas?
  2. O AWS Lambda permite que os usuários executem código em resposta a eventos, como exceder um limite de tempo no status do agente, o que aciona ações como o envio de alertas.
  3. Como o Amazon CloudWatch pode aprimorar os sistemas de alerta?
  4. O CloudWatch monitora recursos e aplicações da AWS, permitindo que os usuários definam alarmes que acionam respostas automatizadas com base em métricas específicas.
  5. O que é o Amazon SNS e sua função nos sistemas de alerta?
  6. O Amazon SNS (Simple Notification Service) facilita o envio de mensagens para endpoints ou clientes assinantes, o que é crucial para a distribuição eficiente de notificações de alerta.
  7. O CloudWatch pode usar métricas personalizadas para alertas?
  8. Sim, o CloudWatch pode monitorar métricas personalizadas criadas colocando logs ou configurando eventos personalizados, proporcionando flexibilidade nas condições de alerta.
  9. Quais são as práticas recomendadas para configurar alertas sobre o status do agente?
  10. As melhores práticas incluem o uso de métricas detalhadas, a definição de limites realistas e a garantia de que os alertas sejam acionáveis ​​e entregues prontamente por meio de serviços como .

O estabelecimento de um sistema de alerta eficaz para status de agentes na AWS aproveita o poder dos serviços em nuvem para aprimorar a supervisão operacional e o atendimento ao cliente. A integração do AWS Lambda, Amazon CloudWatch e Amazon SNS cria um mecanismo robusto para monitorar e responder à atividade do agente. Essa configuração não apenas ajuda no gerenciamento eficiente da força de trabalho, mas também garante que as interações com os clientes sejam tratadas prontamente, otimizando assim o desempenho geral do contact center.