Skip to content
Call Center Analytics: Part 7 - Slack Integration in AWS Call Center AI

With the AWS Call Center AI, the integration of Slack for real-time alerts bridges the gap between customer feedback and service response. This feature empowers teams to react swiftly to customer sentiments requiring immediate attention, thus enhancing the overall customer experience. This article will explore implementing Slack notifications within the AWS Call Center AI's ingest Lambda function.

Check out the code repo here.

The Role of Slack Integration

The integration serves a simple yet vital purpose: to provide instantaneous notifications when a call's sentiment analysis yields less than positive results. Such integration ensures that teams prioritize and address potential issues before escalating.

Setting Up the Ingest Lambda for Slack Notifications

The ingest Lambda function orchestrates this integration. It processes the transcribed calls, interacts with Amazon Comprehend for sentiment analysis, and sends alerts to a designated Slack channel based on predefined conditions.

def send_slack_message(webhook_url, message):

    headers = {'Content-type': 'application/json'}

    payload = {"text": message}

    response = requests.post(webhook_url, json=payload, headers=headers)

    if response.status_code != 200:

        logger.error(f"Failed to send message to Slack: {response.text}")

Storing Slack Webhook URL in AWS Secrets Manager

Security and best practices dictate that sensitive information, such as a Slack Webhook URL, should be securely stored and accessed. AWS Secrets Manager is the service of choice for this task.

def get_secret(secret_name):

    client = boto3.client('secretsmanager')

    response = client.get_secret_value(SecretId=secret_name)

    if 'SecretString' in response:

        secret = json.loads(response['SecretString'])

        return secret['webhook_url']

    else:

        decoded_binary_secret = base64.b64decode(response['SecretBinary'])

        return decoded_binary_secret

This pseudo-code or CLI command illustrates how to store and retrieve the Slack Webhook URL, ensuring that the Lambda function can securely access it without hardcoding sensitive data.

Notification Conditions and Logic

The criteria for sending a Slack notification are not random but based on sentiment analysis's output. If the final sentiment of a call is not positive, the notification logic is triggered.

if sentiments[2] != 'POSITIVE':

    slack_message = f"Final Sentiment: {sentiments[2]}, UniqueID: {key.split('.')[0]}"

    send_slack_message(slack_webhook_url, slack_message)

Slack Message Content and Format

The content of the Slack message is key. It needs to convey the necessary information succinctly and clearly to prompt immediate action.

The Slack integration in the AWS Call Center AI is a testament to the synergy between cloud services and communication platforms. It's a pivotal feature that transforms customer service teams' responsiveness, allowing them to be proactive rather than reactive.

Visit my website here.

Related Articles

Moving at the Speed of Cryptocurrency with Infrastructure as Code

Read more

Automating API Information Storage with AWS - Introduction

Read more

AWS EKS Identity is Not Mapped Error

Read more

Contact Us

Achieve a competitive advantage through BSC data analytics and cloud solutions.

Contact Us