BLOG

[AWS Connect] Zendesk 및 Amazon Connect로 지능형 컨택 센터 구축
작성일: 2021-04-23

 

Zendesk와 VoiceFoundry 는 미래 의 지능형 컨택 센터에 대한 광범위한 비전의 일환으로 올해 초 Zendesk Marketplace에 Amazon 

Connect 앱 을 출시했습니다 .

Zendesk 용 Amazon Connect 앱은 Amazon Connect 의 확장 성이 뛰어나고 사용한만큼 지불하는 고급 컨택 센터 기능과 Zendesk의 정교한 티켓팅 및 고객 지원 시스템을 결합합니다.

또한이 앱은 고객에게 Amazon Web Services (AWS)의 전체 AI (인공 지능) 및 기계 학습 (ML) 서비스 제품군에 대한 액세스를 제

공합니다.

Zendesk 는 AWS 고급 기술 파트너 이자 CRM 고객 참여 센터에 대한 2020 년 Gartner Magic Quadrant의 리더입니다. Zendesk의 서비스 우선 CRM 소프트웨어는 더 나은 고객 관계를 조성하도록 설계되었습니다.

VoiceFoundry 는 AWS 어드밴스드 컨설팅 파트너 이자 Amazon Connect 제공 파트너 입니다. VoiceFoundry의 컨설턴트는 Zendesk 용 Amazon Connect 애플리케이션을 개발했습니다.

이 게시물에서는 Zendesk 용 Amazon Connect 앱, 몇 분 만에 Zendesk 및 AWS 계정에 배포하는 방법, 앱이 고객, 지원 에이전트 및 관리자에게 제공하는 기능을 살펴 봅니다.

또한 앱에서 생성 된 일부 데이터를 사용하여 Amazon Athena 및 Amazon QuickSight를 통해 비즈니스 인텔리전스 (BI) 인사이트를 수집하는 방법을 설명하는 선택적 섹션을 살펴 보겠습니다 .

 

아키텍처 개요

Zendesk Amazon Connect 앱은 VoiceFoundry에서 작성하고 Zendesk Marketplace 게시 된 통합 입니다애플리케이션에는 Zendesk 계정의 애플리케이션과 AWS 계정의 배포라는 두 가지 측면이 있습니다.

아래 그림은이 게시물의 끝에서 살펴볼 선택적 구성 요소를 포함하여 애플리케이션에 대한 간략한 개요를 제공합니다.

그림 1 – Zendesk 선택적 BI 파이프 라인 Amazon Connect 다이어그램.

작동 원리

그림 1 의 다이어그램 맨 위에서 시작하여 최종 고객은 콜 센터에 전화를 걸어 Amazon Connect 통화 흐름에 들어갑니다. 아마존 렉스는 고객의 의도 응답에서 프롬프트에 대한 인식 봇 힘 접촉 흐름의 대화 형 음성 응답 (IVR)을.

일련의 AWS Lambda 함수는 접촉 흐름의 다양한 단계에서 프로그래밍 로직을 처리합니다. 이러한 Lambda 함수 중 하나는 Zendesk Support API를 쿼리하여 전화 번호를 기반으로 고객에 대한 사용자 정보를 조회합니다. 기존 사용자를 찾으면 Amazon Lex 봇이 이름으로 고객과 대화 할 수 있습니다.

또한 식별 된 사용자와 연결된 Zendesk에서 열린 티켓을 볼 수 있습니다. 이러한 통찰력을 통해 Amazon Lex는 고객이 오픈 티켓과 관련하여 전화를하고 있는지 물어볼 수 있습니다. 이러한 방식으로 고객은 자신을 반복하거나 각 전화를 정사각형에서 시작하는 것처럼 느끼지 않아도됩니다.

통화 흐름에서 고객이 상담원과 통화하도록 라우팅하는 경우 상담원은 Zendesk Support 콘솔에서 통화 인터페이스를 보게됩니다. Amazon Connect CCP (Contact Control Panel)는 iframe을 통해 동일한 창에 표시되므로 상담원은 진행중인 통화 세부 정보는 물론 문제와 해결을 문서화 한 현재 및 과거 티켓을 동시에 볼 수 있습니다.

이 통합 단계에서 Amazon Connect는 통화 오디오를 Amazon Kinesis Video Streams 로 파이프합니다 .

다음으로 Lambda 함수는 Kinesis Video Streams에서 통화 오디오를 수신하고이를 Amazon Transcribe에 공급 하여 실시간으로 에이전트에 통화 녹음을 다시 보냅니다.

또 다른 함수는 해당 트랜스 크립 션을 Amazon Comprehend 로 전송하여 주제와 감정을 분석합니다. 둘 다 통화 중 측면 패널에서 상담원에게 표시되며 Zendesk Support 티켓에 포함됩니다.

마지막으로 Amazon Transcribe 및 Amazon Comprehend의 통화 오디오 로그 및 분석은 Amazon Simple Storage Service (Amazon S3) 버킷에 저장됩니다.

이면에서 앱은 Amazon DynamoDB 를 활용 하여 WebSocket 연결, 스크립트 세그먼트 및 기타 데이터 조각을 추적하여 애플리케이션의 서로 다른 부분 간의 상태를 관리합니다.

여기서 목표는 상담원이 고객과 대화에 대한 전체 컨텍스트를 가지고있어 문제를 최소화하면서 신속하게 해결할 수 있도록하는 것입니다.

옵션 : QuickSight를 사용한 비즈니스 인텔리전스

그림 1 의 다이어그램 오른쪽에는 Zendesk 용 Amazon Connect 앱의 설치 지침에 포함되지 않은 아키텍처의 선택적 부분이 나와 있습니다.

Amazon Athena를 사용하여 Offline Transcribe 및 Comprehend 스택에서 생성 된 S3 버킷에있는 Amazon Comprehend 데이터를 쿼리합니다. Athena를 사용하면 원래 중첩 된 JSON 형식에서 사용 가능한 구조로 데이터를 가져올 수 있습니다.

그러면 Amazon QuickSight는 Athena에서 생성 한보기를 시각화를위한 데이터 소스로 사용할 수 있습니다.

Zendesk 용 Amazon Connect 앱 설치

VoiceFoundry에는 Zendesk 용 Amazon Connect 앱 설치 및 구성에 대한 심층적 인 지침이 포함되어 있으므로 여기에서 자세히 다루고이 게시물의 뒷부분에서 전체 지침을 알려 드리겠습니다.

첫째, 앱을 설치하기 전에주의해야 할 몇 가지 전제 조건이 있습니다.

전제 조건

아래 항목은 앱의 지침에 포함되지 않으므로 계속 진행하기 전에 관리해야합니다.

Amazon Connect 배포

Zendesk Marketplace에서 Amazon Connect 앱과 함께 제공되는 지침을 시작하기 전에 자체 AWS 계정에서 Amazon Connect를 설정해야합니다.

AWS는 시작하는 데 도움이되는 많은 문서 를 제공합니다. 지침에서는 선호하는 리전에 Amazon Connect가 배포되어 있고 전화 번호, 관리자 및 에이전트가 하나 이상 있다고 가정합니다. Zendesk 지침을 위해 Amazon Connect 앱을 시작하기 전에 더 깊은 구성을 수행 할 필요가 없습니다.

Zendesk 계정

Zendesk에 앱을 배포하려면 Zendesk Talk – Partner Edition 구독 이 필요합니다 . 무료 평가판의 일부로 사용해 볼 수 있습니다. 지침에 필요한 단계를 완료하려면 Zendesk 계정에 대한 관리자 권한이 필요합니다.

AWS IAM 역할

앱 배포에는 AWS CloudFormation 스택 시작이 포함 되며 서비스는 해당 스택의 모든 리소스를 시작하기 위해 액세스해야합니다. 관리자 IAM 역할이있는 사용자로 로그인 한 상태에서 CloudFormation을 호출하여이를 수행 할 수 있습니다.

기본적으로 CloudFormation은이를 호출 한 사용자와 동일한 액세스 권한을 갖습니다. 또는 앱 랜딩 페이지에 포함 된 CloudFormation 템플릿의 리소스를 검토하고 해당 리소스를 배포 할 권한이 있는 새 AWS Identity and Access Management (IAM) 역할을 생성 할 수 있습니다.

그런 다음 해당 새 역할 을 AWS CloudFormation 의 서비스 역할로 지정할 수 있습니다 .

앱 설치

앱 설치의 첫 번째 지점은 Zendesk Marketplace 페이지 입니다. 그림 2 는 앱 랜딩 페이지의 설치 방법 탭을 보여줍니다 .

그림 2 – Zendesk Marketplace Zendesk Amazon Connect 앱.

이 탭에는 4 개의 아티팩트가 표시됩니다.

  • 설치 사용자 가이드 : 앱을 성공적으로 배포하기 위해 따라야하는 주요 지침입니다. 다른 아티팩트를 언제 사용할지 알려줍니다.
  • 실시간 음성 분석을위한 CloudFormation 템플릿 : 이 템플릿은 설치 및 사용 설명서에도 연결되어 있으며 필요한 대부분의 리소스를 AWS 측에 배포합니다. 여기에는 DTMF (예 : “청구 용, 1 번 누르기”)와 Amazon Lex를 모두 사용하는 샘플 통화 흐름이 포함됩니다. Amazon Connect 배포와 동일한 리전에 배포해야합니다.
  • 오프라인 음성 분석을위한 CloudFormation 템플릿 : 이것은 선택 사항이며 S3 버킷에 Amazon Transcribe 및 Amazon Comprehend 출력의 사본을 생성합니다. 상담원이 보는 실시간 오디오 스트림 출력이 아닌 통화 후 오디오 녹음 출력에서이를 만듭니다. 이 게시물의 선택적 섹션의 경우이를 설정해야합니다.
  • 샘플 Lex : 실시간 음성의 경우 통화 흐름에 Amazon Lex를 사용하기로 선택한 경우이 샘플 봇 또는 직접 만든 봇이 필요합니다. 이 파일은 기본 지침에도 링크되어 있습니다.

설치 및 사용 설명서의 지침을 따르십시오. Zendesk Marketplace에서 설치 버튼 을 누를 때 , Zendesk에서 항목을 구성하고 AWS 콘솔로 이동하여 템플릿을 배포 할 때를 알려줍니다 .

통화 흐름을 구성 할 때 터치 톤 또는 IVR을 사용할 수있는 옵션이 있습니다. 후자는 Amazon Lex 봇을 사용하며 장기적으로 더 흥미롭고 확장 가능한 옵션이지만 어느 쪽을 선택해도 괜찮습니다.

앱 사용

대부분의 작업은 고객 지원 상담원의 관점에서 Zendesk Support 콘솔에서 이루어집니다. 여기에서 지원 티켓 정보와 함께 Zendesk 웹 인터페이스 내에서 Amazon Connect CCP를 볼 수 있습니다.

그림 3 – iframe에서 CCP 사용하는 Zendesk Support 인터페이스.

상담원 근무 시간 및 라우팅은 Amazon Connect에서 제어되며 고객 데이터는 Zendesk에서 유지됩니다이 둘은 원활하게 협력하여 상담원이 고객을 지원할 수있는 통합 인터페이스를 만듭니다.

예시 고객 인 Joe Consumer가 고객 지원에 전화를 걸면 그는 연락 흐름에서 일련의 프롬프트를 거치고 Amazon Lex 봇에서 답변을 분석하게됩니다결국 통화는 상담원에게 라우팅됩니다.

그림 4 – 에이전트와 고객이 연결되면 앱이 자동으로 티켓을 시작합니다.

위의 그림 4 는 고객과의 통화가 연결되면 CCP 및 Zendesk 인터페이스 업데이트를 보여줍니다. 앱은 자동으로 새 티켓을 시작하고, 통화 데이터를 티켓에 추가하고, 상담원에게 왼쪽 상단에 버튼을 제공하여 발신자의 연락처 정보와 티켓 내역을 즉시 볼 수 있습니다.

또한이 앱에는 Amazon Transcribe에서 생성 한 기록에 대한 실시간 액세스를 에이전트에게 제공하는 측면 패널과 Amazon Comprehend의 주제 목록 및 감정 분석이 표시됩니다.

그림 5 – 현재 통화의 실시간 녹음 내용을 보여주는 Amazon Connect 측면 패널.

통화가 끝나면 앱은 이러한 분석 및 통화 오디오 파일에 대한 다운로드 링크와 함께 모든 Amazon Transcribe 및 Amazon Comprehend 데이터를 Zendesk 티켓에로드합니다. 상담원이 통화 중에 CCP에 입력 한 메모도 티켓에 자동으로 추가됩니다.

선택 사항 : QuickSight 및 Athena로 데이터 시각화

오프라인 음성 분석을위한 CloudFormation 템플릿 을 시작한 경우 에이전트가 Amazon Connect를 통해 수신하는 각 호출은 Amazon Transcribe 및 Amazon Comprehend 분석을 생성하여 S3 버킷에 배치합니다.

이러한 다운 스트림에 대해 가능한 많은 용도가 있으며 여기서 매우 간단한 방법을 살펴 보겠습니다. Athena를 사용하여 데이터를 쿼리 한 다음 QuickSight를 사용하여 시각화를 구축 할 것입니다.

시작하려면 Zendesk 앱의 Amazon Connect를 통해 적어도 한 번의 통화를 완료해야합니다. 완료 한 후 아래에서 계속하여 Athena 및 QuickSight를 설정하는 방법을 확인하세요.

Amazon Athena에서 테이블 및보기 생성

Amazon Athena를 사용하면 S3에 저장된 데이터를 다른 곳에 복사하지 않고도 쿼리 할 수 ​​있습니다. 이를 위해서는 먼저 데이터가 S3 버킷에있는 데이터 구조를 정의해야합니다. 그러면 Athena가 적절하게 쿼리 할 수 ​​있습니다.

각 호출 후 버킷에 저장된 오프라인 음성 분석 출력은 여러 Amazon Comprehend 출력을 단일 JSON 문서로 결합하며 다음과 같은 구조를 갖습니다.

{    “sentiment”: {        “Sentiment”: string,        “SentimentScore”: {            “Positive”: number,            “Negative”: number,            “Neutral”: number,            “Mixed”: number        }    },    “entities”: { … },    “phrases”: {        “KeyPhrases”: [            {                “Score”: number,                “Text”: string,                “BeginOffset”: number,                “EndOffset”: number            }        ]    },    …

}

이 게시물의 나머지 부분에서는 구문에 중점을 둘 것이므로 엔티티 섹션과 구문 뒤의 섹션에 대한 세부 정보는 생략했습니다.

S3 버킷에서 출력 파일 중 하나를 다운로드하여 파일 구조를 직접 탐색하고 여기에서 사용할 수있는 다른 정보 를 확인하거나 아래 그림 6 을 참조하여 앱에 표시되는 항목 데이터의 표현을 확인할 수 있습니다.

그림 6 – 측면 패널의 Amazon Comprehend 탭에는 호출에 대한 엔터티와 핵심 문구가 표시됩니다.

위의 구조를 염두에두고 Athena에서 SQL을 사용하여 구조를 설명하는 메타 데이터를 생성 한 다음 외부 테이블로 출력해야합니다. 이를 위해 아래 SQL 문을 실행합니다.

Athena에서 중첩 된 JSON 작업에 대한 자세한 내용 은 AWS 빅 데이터 블로그에서 Amazon Athena 및 Amazon QuickSight를 사용하여 중첩 된 JSON 데이터 분석 및 시각화를 참조 하십시오 .

CREATE EXTERNAL TABLE offlinetc (  sentiment struct<sentiment:string,    sentimentScore: struct<positive:double,        negative:double,neutral:double,        `mixed`:double>>,    entities struct<entities:array<struct<score:double,        `type`:string,        `text`:string,        beginOffset: int,        endOffset:int>>>,    phrases struct<keyPhrases:array<struct<score:double,        `text`:string,        beginOffset:int,        endOffset:int>>>,    syntax struct<syntaxTokens:array<struct<tokenID:int,        `text`:string,        beginOffset:int,        endOffset:int,        partOfSpeech:struct<tag:string,        score:double>>>>,    `language` struct<languages:array<struct<languageCode:string,        score:double>>>)         ROW FORMAT SERDE ‘org.openx.data.jsonserde.JsonSerDe’

LOCATION ‘s3://[YOUR-S3-BUCKET]/’;

“[YOUR-S3-BUCKET]”를 offlinetnc.yaml CloudFormation 스택을 생성 한 Amazon Comprehend 출력 버킷의 버킷 이름으로 바꿉니다 . 버킷을 살펴보면 원하는 버킷 이름이 “.tnc.bucketcomprehend”로 끝나야합니다.

Athena에서이 쿼리를 실행하여 Amazon Comprehend에서 분석 한 각 호출에 대해 하나의 행이있는 새 테이블을 생성합니다.

그림 7 – Athena 쿼리 편집기에서 위의 쿼리를 실행하여 offlincetc 테이블을 만듭니다.

쿼리를 실행 한 후 AWS 콘솔의 화면은 그림 7 의 이미지와 같아야합니다 . 왼쪽에는 offlinetc 테이블이 있습니다 .

해당 테이블을 미리 보면 각 행에 단일 호출 분석을 위해 중첩 된 JSON 파일이 포함되어 있음을 알 수 있습니다. 중첩 된 JSON은 QuickSight에서 수행하려는 작업에 아직 사용할 수 없습니다. QuickSight가 시각화 할 수있는 형식으로 원하는 데이터가있는보기로 약간 평면화해야합니다.

용도 아래 SQL 문 “UNNEST”는 탈옥 phrases.keyPhrases 개별 요소에 출력 JSON에서 배열. 이 작업이 완료되면 뷰에서 단일 행을 차지하는 각 구문의 각 발생으로 테이블을 만들 수 있습니다.

CREATE OR REPLACE VIEW phrase_view ASSELECT phraseList.text, phraseList.scoreFROM offlinetc

CROSS JOIN UNNEST(phrases.keyPhrases) as t(phraseList);

아래 그림 8 과 같이 Athena에서이 쿼리를 실행하여 phrase_view 를 만듭니다 . 이보기는 다음 섹션에서 샘플 시각화를 위해 QuickSight와 함께 사용할 것입니다.

그림 8 – 위에 표시된 SQL 문을 실행하여 phrase_view 만듭니다.

Amazon QuickSight에서 데이터 시각화

Amazon QuickSight를 사용하면 대화 형 시각화 및 대시 보드를 생성 할 수 있습니다. 우리는 작업을 매우 간단하게 유지하고 데모 목적으로 하나의 빠른 시각화를 만들 것입니다.

먼저 QuickSight에서 데이터 세트 로 이동하여 새 데이터 세트를 만듭니다. Athena 를 데이터 소스로 선택하십시오 . 원하는 이름을 지정하고 표시되는 모달에서 원하는 Athena 작업 그룹 을 선택하고 데이터 원본 생성을 클릭 합니다 .

모달의 다음 페이지에서 이전에 사용했던 콘솔의 Athena 섹션 내 왼쪽에 나타나는 동일한 데이터베이스를 선택합니다. 이 예에서는 이것이 기본값 이었지만 다른 것을 사용했을 가능성이 있습니다.

테이블의 경우 “phrase_view”를 선택하여 Athena에서 생성 한 평면화 된 키 구문보기를 가져옵니다.

그림 9 – 시각화 테이블로 phrase_view 선택하십시오.

데이터를 직접 쿼리하도록 선택하고 시각화로 이동하십시오.

이제 통화 오디오의 Amazon Comprehend 분석에 나타나는 주요 문구의 텍스트 및 점수에 대한 QuickSight 시각화를 만들 수 있습니다.

이 데이터의 경우 단어 구름이나 트리 맵이 의미가있을 것입니다. 단어 구름은 나타나는 문구를 나열하고 빈도에 따라 각 문구의 상대적 글꼴 크기를 변경합니다.

에서 비주얼 유형 을 선택 단어 구름을 . 그런 다음 필드 목록에서 텍스트를 그룹화 기준 상자로 끌어다 놓고 크기 상자로 다시 끕니다 .

크기에서 집계 : 개수 로 변경 하여 문구가 나타나는 횟수에 따라 크기가 조정되도록합니다. 그림 10 은 이러한 단계를 거친 후 화면이 어떻게 보이는지 보여줍니다.

그림 10 – Amazon Comprehend 핵심 문구 데이터의 Amazon QuickSight 단어 클라우드 시각화.

시간이 지남에 따라 이와 같은 시각화는 해결해야 할 더 큰 문제를 알려주는 고객 지원 전화의 추세 문구를 보여줄 수 있습니다.

이 데이터에 대한 QuickSight 시각화의 빠른 데모입니다작업 할 더 복잡한 데이터를 얻으려면 Zendesk Support API를 사용하여 Zendesk에서 전체 티켓을 쿼리하는 것이 좋습니다.

결론

Zendesk Amazon Connect 앱은 다양한 기능을 통합하고 상담원의 역량을 강화하고 컨택 센터 경험을 통해 고객과 더 잘 소통 할 수있는 무한한 가능성을 열어줍니다.

VoiceFoundry는 고객이 앱을 사용하는 방법과 고객에게 도움이 될 기능에 대해 자세히 알아볼 때 새로운 기능으로 앱을 정기적으로 업데이트합니다. Amazon Connect Zendesk의 기능을 결합함으로써 기업은보다 지능적인 컨택 센터를 구축 할 수 있으며, 무엇보다도 더욱 통합되고 개인적인 고객 경험을 구축 할 수 있습니다.

Zendesk 

Zendesk  고객 관계를 개선하도록 설계된 소프트웨어를 구축 하는 AWS 고급 기술 파트너 이자 서비스 우선 CRM 회사입니다.

 

태그 : Amazon Athena , Amazon Comprehend , Amazon Connect , Amazon DynamoDB , Amazon Kinesis Video Streams , Amazon Lex , Amazon QuickSight , Amazon S3 , Analytics , APN 컨설팅 파트너 , APN 파트너 게스트 포스트 , APN 파트너 스포트라이트 , APN 파트너 성공 사례 , APN 기술 파트너 , 인공 지능 , AWS CloudFormation , AWS IAM , AWS Lambda ,AWS Partner Solutions Architects (SA) , AWS 서비스 제공 프로그램 , Contact Center , Identity and Access Management , Machine Learning , VoiceFoundry , Zendesk

원문URL: https://aws.amazon.com/blogs/apn/building-an-intelligent-contact-center-with-zendesk-and-amazon-connect/

메가존 클라우드는 AWS Connect 서비스에 관련된 영문 게재 글이나 기사 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.