BLOG
작년에는 고객 센터에서 고품질 서비스를 제공하기가 매우 어려운 상황이었습니다. 소비자들은 계속해서 오프라인 소매점에서의 쇼핑과 전통적인 은행 창구 거래를 포기하고 디지털화된 방식을 선호하고 있으며, 이로 인해 콜 센터들은 전례 없는 통화량을 경험하고 있기 때문입니다. 대부분의 콜 센터 직원들 또한 원격으로 근무하기 때문에 소비자들의 요구를 모두 충족하기가 훨씬 어려웠습니다. 결과적으로 고객은 문의 내용이 단순한지 복잡한지에 상관 없이 긴 시간을 대기해야 했습니다. (고객 서비스 통화의 경우 대기 시간 34% 증가) 또한 상담사와 대화할 때 대부분 이미 제공했을 수 있는 정보(통화 이유, 신원 확인 등)를 반복해야 하는 스크립트 대화를 하는 경우가 많습니다.
대기 시간을 줄이고 고객 환경을 개선하는 한 가지 방법은 콜 센터 자동화와 함께 맞춤형 상담을 제공하는 것입니다. 전화를 받고 응답하는 데 봇을 사용하면 고객이 대기열을 기다릴 필요가 없습니다. 정보 요청, 계정 세부 정보 업데이트, 예약, 결제 승인 등과 같은 사소한 작업들은 즉시 처리할 수 있습니다. 봇은 고객을 식별할 수 있는 컨텍스트가 더 많기 때문에 때문에 불필요한 질문은 생략하고, 더 관련성 높은 정보를 사용하며, 빠르고 원활한 고객 경험을 제공할 수 있습니다. 또한 개인화된 맞춤형 콜 센터 경험은 브랜드와 고객 충성도에 긍정적인 영향을 미칠 수 있습니다.
이 게시물에서는 다음 시나리오들을 통해 Amazon Connect, Amazon Lex 및 Salesforce를 이용하여 쾌적한 고객 환경을 제공하는 방법을 제시합니다:
- 고객 정보 조회 – 고객이 콜 센터에 전화를 걸면 Salesforce에서 고객 속성을 가져와 기존 고객에게 맞춤형 인사 메시지를 전달합니다.
- 고객 정보 생성 – 고객 기록이 존재하지 않는 경우, 필수 정보를 수집하고 새로운 고객 정보를 생성합니다.
- 고객 정보 업데이트 – 고객 기록이 존재하는 경우 동일한 고객에 대한 새 세부 정보를 업데이트합니다.
- 예약 – 고객을 위해 예약합니다.
솔루션 개요
이 솔루션은 다음 서비스를 사용합니다.
- Amazon Connect – 옴니채널 클라우드 연락 센터 서비스
- AWS Lambda – 서버 없는 컴퓨팅 서비스
- Amazon Lex – 자동 음성 인식 엔진(ASR) 및 자연 언어 이해(NLU)
- Salesforce – 고객 기록이 있는 Salesforce 계정
- AWS Secret Manager – 데이터베이스 자격 증명, API 키 및 기타 암호 순환, 관리 및 검색 서비스
다음 도표는 솔루션 구성을 보여줍니다.
시퀀스는 다음 단계로 구성됩니다.
- 고객이 콜 센터에 전화를 걸면 해당 통화가 Amazon Connect Interactive Voice Response(IVR) 시스템으로 전송됩니다.
- IVR은 Secrets Manager로부터 Salesforce 자격 증명을 받고 전화 번호를 사용하여 고객 조회를 하는 Lambda 기능을 시작합니다. 고객 기록이 있는 경우 고객 특성을 가져와 Amazon Lex로 전달합니다.
- Amazon Connect는 고객의 의견을 캡처하여 2단계에서 가져온 고객 특성과 함께 Amazon Lex로 전달합니다.
- Amazon Lex는 고객의 의견을 기준으로 의도를 분류합니다.
- 고객이 예약을 원하는 경우 Amazon Lex는 작업을 수항하기 위해 Lambda 기능을 시작하고 Salesforce에서 예약을 생성합니다.
다음 스크린샷은 고객 통화 후 Salesforce에 업데이트된 예약 내역을 보여줍니다.
설계 고려 사항 및 이점
이 설계에서 Amazon Connect는 Amazon Lex를 호출하기 전에 Salesforce와 조회를 수행하여 고객 기록이 있는지 확인합니다. 이를 통해, Amazon Connect는 통화 흐름을 제어하여 통화의 흐름을 다른 방향으로 보내야 할지, 다른 Lambda의 기능을 사용할지 또는 고객의 의도를 충족하기 위해 Amazon Lex를 사용할지 결정할 수 있습니다.
예를 들어 고객 기록을 찾을 수 없는 경우, 고객이 웹 사이트에서 ID를 생성한 후 도움을 줄 수 있는 다른 봇으로 전환할 수 있다는 안내 메시지를 재생하거나, 도와줄 수 있는 직원으로 연결해 줄 수 있습니다.
또한 Amazon Connect는 세션 특성의 고객 세부 정보를 Amazon Lex에 전달하여 맞춤형 고객 환경을 구축할 수 있습니다.
필수 조건
이 실습을 위해서는 다음이 필요합니다:
- AWS 계정
- 기존 Amazon Connect 인스턴스.
- AWS 서비스에 액세스하기:.
- AWS Identity and Access Management (IAM), 정책 및 역할을 설정할 수 있는 권한
- Amazon CloudFront, 배포를 생성할 수 있는 권한
- 스택을 실행할 AWS CloudFormation
- API 액세스가 활성화된 Salesforce 계정
- API를 사용하여 사용자 인스턴스에 빠르게 액세스 해주는 IAM 액세스 키와 시크릿 액세스 키 자격 증명서
Salesforce
Salesforce 계정이 없는 경우 무료 개발자 계정을 생성할 수 있습니다. Salesforce CRM 버전에는 기본적으로 API 액세스가 제공되지 않습니다. Salesforce CRM 에디션에 대한 추가 정보는 여기서 확인할 수 있습니다: Salesforce editions with API access
이 솔루션에 사용된 Salesforce CRM integration에서는 OAuth 2.0 Username-Password Flow를 사용합니다. Salesforce CRM에서 이 인증 방법을 사용하기 위해선 Connected App과 API user가 요구됩니다.
예시와 같이 API를 이용한 username-password를 사용하는 경우 사용자 보안 토큰이 필요합니다.
consumerkey, consumersecret, password, securitytoken, username과 endpoint 값은 실습에 필요하니 메모해 둡니다.
실습 개요
이 지침은 Amazon Connect 및 AWS Cloud Formation에 대한 일반적인 작동 지식을 전제로 합니다. 기본 관리 작동법 대한 자세한 내용은 다음을 참조하십시오:
Cloud Formation 템플릿 배치하기
AWS Cloud Formation은 고객 기록 생성, 업데이트 및 삭제와 예약을 할 수 있는 Lambda 기능 salesforceintegration에 필요한 IAM 역할을 자동으로 생성합니다.
Launch Stack을 클릭하여 SalesforceIntegration 스택을 생성합니다:
1: Specify template의 기본 매개 변수로 계속 하려면 Next(다음)을 선택합니다.
CloudFormation Create Stack의 2: Specify stack details 에서는 다음과 매개 변수를 지정해야 합니다.
- consumerkey
- consumersecret
- password
- securitytoken
- username
- endpoint
consumerkey 및 consumersecret은 Salesforce Connected App을 식별하는 매개 변수입니다.
user, password 및 securitytoken은 Salesforce API 사용자와 관련이 있습니다.
Endpoint는 Salesforce CRM OAuth2 login URL을 지정합니다. https://login.salesforce.com값은 Salesforce CRM 개발 테스트 계정 사용과 호환됩니다.
다음 스크린샷에 표시된 대로 필요한 매개 변수를 입력하고 Next(다음)을 선택하여 스택 생성을 계속합니다.
3: Configure stack options에는 추가 단계가 필요하지 않습니다. Next(다음)을 선택하여 4: Review를 진행합니다.
마지막 단계에서 스택 구성을 검토하고 페이지 하단으로 스크롤하여 다음 스크린샷에 표시된 대로 CAPABILITY_IAM 권한 확인란을 선택합니다.
Create stack(스택 생성)을 선택하여 스택 생성 프로세스를 시작합니다.
Amazon Connect에 Lambda 기능에 대한 권한 부여하기
이전에 생성된 람다 함수를 호출할 수 있는 Amazon Connect 인스턴스 권한을 부여하려면 다음 단계를 완료하십시오. 자세한 내용은 Amazon Connect Administrator guide를 참조하십시오.
- Amazon Connect 콘솔의 탐색 창에 있는 Routing에서 Contact flows을 선택합니다.
- 페이지의 Lambda 섹션으로 이동합니다.
- Function 메뉴에서 salesforceintegration을 선택합니다.
- +Add AWS Lambda function을 선택합니다.
Amazon Connect contact flow 가져오고 구성하기
Salesforce_Integration Contact flow는 다음 기능을 수행합니다.
- 고객의 전화 번호를 Lambda로 전송
- Lambda 기능에서 고객 유형(신규 또는 기존)을 수신
- 신규 고객 유형의 경우 Salesforce에서 고객 ID를 생성
- 고객 유형이 존재하는 경우 의도 질문
이 게시물의 경우, 약속을 예약하도록 흐름을 구성하지만 향후 게시물에서는 더욱 복잡한 의도로 확장될 예정입니다.
Contact flow를 설정하려면 다음 단계를 완료하십시오.
- Salesforce_Integration이라는 contact flow를 다운로드합니다..
- Amazon Connect 콘솔의 탐색 창에 있는 Routing에서 Contact flows을 선택합니다
- Create contact flow를 선택합니다.
- Drop-down 메뉴에서 Import Flow를 선택합니다.
- Select를 선택하여 1단계에서 다운로드한 파일을 가져옵니다.
- 첫 번째 Invoke AWS Lambda function의 헤더를 선택합니다. 그런 다음 drop-down 메뉴에서 salesforceIntegration 기능을 선택하거나 해당 기능의 ARN을 입력합니다.
다음 스크린샷은 Amazon Connect 콘솔에서 가져온 contact flow를 보여 줍니다.
솔루션 테스트
제안 솔루션을 테스트하려면 먼저 Salesforce에서 새 비즈니스 계정을 생성하고 전화를 걸 번호와 연결해야 합니다. 전화번호로 새 비즈니스 계정을 만드는 방법에 대한 소개는 여기에서 확인할 수 있습니다.
Amazon Connect와 호환되려면 전화 번호를 국제 번호(+ 포함)로 지정해야 합니다.
다음 스크린샷은 Salesforce에서 새 비즈니스 계정을 생성하는 방법을 보여 줍니다.
Salesforceintegration Lambda 기능은 수신 전화 번호를 기준으로 Salesforce를 쿼리하고 관련 계정 이름을 반환합니다. 이 값을 설정하지 않은 경우 Null이 대신 반환됩니다.
왼쪽에 있는 Amazon Connect 콘솔에서 Routing > Phone Numbers를 선택합니다.
전화 번호를 클릭합니다. Contact flow / IVR에서 Salesforce Integration과 Save를 선택합니다.
저장한 전화 번호에서 Salesforce 기록에 있는 Contact Flow로 전화를 걸어 개인화된 인사말을 듣고 예약 절차를 진행하십시오.
정리
추가 비용이 발생하지 않도록 하려면 CloudFormation 스택을 삭제하여 생성한 모든 리소스를 제거하십시오.
마무리
이 포스트에서는 Salesforce와 다음 작업을 수행하는 Lambda 기능을 이용한 솔루션을 구현했습니다:
- Salesforce에 대한 데이터 딥 수행
- Salesforce를 쿼리하고 고객 특성 로드
- 고객 기록이 발견된 경우 예약 생성
이것은 기본적인 시범입니다. 조직의 요구 사항 또는 필요에 따라 다양한 시나리오를 추가하여 솔루션을 개선할 수 있습니다.
Amazon Connect에서는 사용한 만큼만 지불합니다. 선불, 장기계약금 또는 최소 월 이용료가 없습니다. 이러한 새로운 기능에 대한 가격표는 Amazon Connect pricing에 자세히 나와 있습니다.
이러한 Amazon Connect 기능을 contact flows에 추가하는 데 도움이 필요한 경우 전 세계에서 사용 가능한 dozens of Amazon Connect 파트너 중 하나에 문의하십시오.
메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글이나 관련 기사 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.