NiCE CXone과의 Salesforce 음성 통합

Salesforce와의 Agent Assist 및 NiCE CXone 통합 아키텍처

이 음성 통합은 NiCE CXone Agent for Service Cloud Voice (BYOT) Salesforce 앱을 사용하여 상담사가 Salesforce Service Cloud Voice에서 NiCE CXone 통화를 수락할 수 있도록 합니다.

Agent Assist는 NiCE CXone Agent Assist Hub의 음성 통화 스트림을 사용하여 Salesforce Lightning Service Console에서 상담사에게 추천을 제공합니다.

시작하기 전에

상담사 지원 UI 모듈을 Salesforce와 통합하려면 다음 리소스에 액세스할 수 있어야 합니다.

  • Node.js

    운영체제에 권장되는 설치 안내를 따릅니다.

  • Salesforce CLI

    운영체제에 권장되는 설치 안내를 따릅니다.

  • Google Cloud CLI

    안내에 따라 gcloud 명령어를 설치하고 gcloud auth login을 사용하여 인증합니다.

  • Salesforce UI

    1. 인스턴스 URL 또는 Salesforce 로그인 페이지에서 로그인하고 다음 사항을 확인합니다.
    2. Salesforce 내 도메인 URL입니다. 내 도메인 URL을 찾으려면 다음 단계를 따르세요.
    3. 메뉴 바 > 설정 메뉴로 이동합니다.
    4. 설정을 클릭합니다.
    5. 빠른 찾기 상자에 내 도메인을 입력합니다. 도메인 이름은 MY-DOMAIN-NAME.develop.my.salesforce.com 형식입니다.
    6. Salesforce 조직 ID입니다. 조직 ID를 찾으려면 다음 단계를 따르세요.
    7. 메뉴 바 > 설정 메뉴로 이동합니다.
    8. 설정을 클릭합니다.
    9. 빠른 찾기 상자에 회사 정보를 입력합니다.
  • Agent Assist 통합 백엔드

    1. 안내에 따라 통합을 설정합니다.
    2. 배포 스크립트를 실행하기 전에 deploy.sh 또는 프로젝트 루트의 .env 파일로 다음 환경 변수를 구성합니다.
    3. AUTH_OPTION: SalesforceLWC로 설정합니다.
    4. SALESFORCE_DOMAIN: YOUR_SUBDOMAIN.develop.lightning.force.com과 유사한 도메인 이름입니다. Salesforce UI 필수사항에서 이 값을 기록했습니다. https://는 포함하지 않습니다.
    5. SALESFORCE_ORGANIZATION_ID: Salesforce UI 필수 구성요소에서 이 값을 기록했습니다.
  • NiCE CXone 인스턴스

  • NiCE CXone Agent Assist Hub 부가기능 라이선스

    NiCE CXone Agent Assist Hub 부가기능을 사용하면 NiCE CXone 인스턴스에서 Google Cloud의 Agent Assist로 음성 통화 미디어 스트림을 전송할 수 있습니다. NiCE CXone은 라이선스가 부여된 제품입니다. 자세한 내용은 NiCE CXone Agent Assist Hub 문서를 참고하세요.

1단계: NiCE CXone Studio 및 NiCE CXone Agent Assist Hub 구성

이 단계에서는 NiCE CXone 인스턴스에 필요한 모든 구성을 설명합니다.

NiCE CXone Studio로 통화 흐름 구성

이 단계에서는 NiCE CXone Studio를 사용하여 수신 전화를 상담사에게 라우팅하고 통화 미디어 스트림을 Agent Assist로 전송하는 프로그래매틱 통화 흐름을 구성합니다. 다음 NiCE CXone Studio 트리거와 작업을 순서대로 사용하여 이 통화 흐름을 구성합니다.

  1. NiCE CXone 콘솔에 로그인합니다.
  2. 애플리케이션 메뉴 ()를 엽니다.
  3. 옴니채널 라우팅 > 스튜디오를 엽니다.
  4. 스튜디오 페이지에서 새 스크립트를 만듭니다.

다음 NiCE CXone Studio 트리거 및 작업으로 이 통화 흐름을 구성합니다.

  1. 시작: 이 트리거는 NiCE 연락 담당자 (POC) 전화번호로 전화가 걸려올 때 활성화됩니다.
  2. Reqagent: 이 작업은 지정된 스킬에 통화를 전송합니다. 전화를 수신할 상담사와 연결된 스킬을 선택합니다.
  3. 음악: 이 작업은 대기 음악을 재생합니다.
  4. 대기: 이 작업은 다른 트리거가 활성화될 때까지 흐름을 일시중지합니다.

별도로, 하지만 동일한 스튜디오 흐름에서 상담사가 수신 전화를 수신할 때 발생하는 상황을 구성합니다.

  1. Onanswer: 이 트리거는 스킬의 상담사가
  2. Ziptone: 에이전트가 NiCE CXone 에이전트 데스크톱 (예: NiCE CXone Agent for Service Cloud Voice (BYOT) 소프트폰)에서 전화를 받을 때 신호음을 재생합니다.
  3. Agent Assist: 이 작업은 대화를 만들고 인바운드 통화의 미디어 스트림을 Dialogflow로 전송하여 Agent Assist UI 모듈 LWC가 Salesforce에서 스크립트와 Agent Assist 제안 (예: PGKA, GKA, AI 코칭)을 렌더링할 수 있도록 합니다. 구성 세부정보는 이 통합 문서를 참고하세요. 참고: 이 단계에는 사전 구성된 대화 프로필이 필요합니다.

발신 통화에 대해 Agent Assist를 구성할 수도 있습니다. 통합에서는 원격 당사자가 아웃바운드 전화를 수신할 때 Agent Assist 작업을 트리거해야 합니다. 정확한 구현은 구성에 따라 다르지만 일반적으로 스크립트에서 Placecall 작업을 사용하여 통화를 시작하고 Agent Assist 작업을 PlacecallOnAnswer 브랜치에 연결하여 이를 달성할 수 있습니다. 자세한 내용은 NiCE CXone Studio 도움말 문서에서 Placecall, Onanswer, Agent Assist를 참고하세요.

NiCE CXone 계정 세부정보 기록

이 단계에 따라 NiCE CXone 계정 세부정보를 수집하세요. 이 정보는 나중에 Salesforce에서 NiCE CXone Agent for Service Cloud Voice (BYOT)를 구성하는 데 필요합니다.

  • NiCE CXone 콘솔에서 NiCE 비즈니스 단위 번호를 기록해 둡니다. Salesforce 프로젝트 (다음 단계에서 클론)의 ServiceCloudVoicePlatformService.js에서 CONFIG.niceBusNo을 업데이트하여 NiCE 사업부 번호를 반영합니다. 이렇게 하면 Agent Assist UI 모듈 LWC가 NiCE CXone Agent Assist Hub에서 생성하는 conversationName을 확인할 수 있습니다 (자세한 내용은 동일한 파일의 generateNiCEConversationName 메서드 참고).
  • NiCE CXone 콘솔에서 NiCE 담당자 (POC) 전화번호를 기록합니다. 이 번호는 고객이 에이전트와 통화하기 위해 전화를 거는 번호이며, 이 번호를 사용하여 이 Agent Assist 통합을 테스트합니다.

2단계: Salesforce 개발 프로젝트 설정

Agent Assist UI 모듈 통합을 시작하려면 다음 단계를 따르세요.

  1. 다음 코드를 실행하여 Agent Assist 통합 저장소를 클론하고 프로젝트를 엽니다.

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. 다음 명령어를 실행하여 나중에 정적 리소스로 배포할 UI 모듈 JavaScript 파일을 다운로드합니다. Salesforce에서는 정적 리소스가 서드 파티 JavaScript를 로드해야 합니다.

    npm run generate-static-resources
    npm install
    
  3. 이전 단계에서 기록한 NiCE 사업부 번호ServiceCloudVoicePlatformService.js를 업데이트합니다.

    const CONFIG = {
    // For this.platform = "servicecloudvoice-nice", the NiCE Business Unit Number
    // https://help.nicecxone.com/content/acd/businessunits/managebusinessunit.htm
    niceBusNo: 1234567 // Make sure this matches your NiCE CXone Business Unit Number.
    };
    

3단계: Salesforce 환경 설정

프로덕션 또는 개발과 같은 특정 환경에 상담 도우미 UI 모듈을 통합할 수 있습니다. Salesforce에서는 이러한 환경을 조직이라고 합니다.

Salesforce CLI로 조직 구성

Salesforce CLI를 사용하여 상담사 지원 통합을 위해 조직을 구성하려면 다음 단계를 따르세요.

  1. 다음 코드를 실행하고 평소에 사용하는 Salesforce 로그인 세부정보를 사용하여 CLI를 인증합니다.

    npm run login
    
  2. 다음 코드를 실행하여 LWC를 조직에 배포합니다.

    npm run deploy
    

4단계: 외부 클라이언트 앱 만들기

Salesforce LWC는 클라이언트 사용자 인증 정보 OAuth 2.0 흐름을 사용하여 사용자를 인증합니다. 외부 클라이언트 앱은 클라이언트 사용자 인증 정보 흐름을 사용 설정합니다. 앱의 고객 키와 고객 비밀번호를 사용하여 Salesforce LWC를 구성하여 Salesforce로 사용자를 인증합니다.

  1. 메뉴 바 > 설정 메뉴로 이동한 다음 설정을 클릭합니다.
  2. 빠른 찾기 상자에 External Client App Manager를 입력합니다.
  3. 외부 클라이언트 앱 관리자 > 새 외부 클라이언트 앱 > 만들기를 클릭한 후 다음 정보를 입력합니다.
  4. 외부 클라이언트 앱 이름: lwc auth
  5. API 이름: lwc_auth
  6. Contact Email(연락처 이메일): your_email@example.com
  7. API (OAuth 설정 사용 설정) > OAuth 사용 설정: 선택됨
  8. API (OAuth 설정 사용 설정) > 콜백 URL: https://login.salesforce.com/services/oauth2/callback
  9. API (OAuth 설정 사용 설정) > 선택한 OAuth 범위: ID URL 서비스에 액세스
  10. API (OAuth 설정 사용 설정) > 클라이언트 사용자 인증 정보 흐름 사용 설정: 선택됨
  11. 만들기를 클릭합니다.
  12. 메뉴 바 > 설정 메뉴로 이동한 다음 설정을 클릭합니다.
  13. 빠른 찾기 상자에 External Client App Manager를 입력합니다.
  14. 외부 클라이언트 앱의 이름 > 수정을 클릭합니다.
  15. OAuth 정책 > OAuth 흐름 및 외부 클라이언트 앱 개선사항으로 이동합니다.
  16. 클라이언트 사용자 인증 정보 흐름 사용 설정이 선택되어 있는지 확인합니다.
  17. Run As에 로그인 사용자 이름을 입력합니다.
  18. 저장을 클릭합니다.
  19. 메뉴 바 > 설정 메뉴로 이동한 다음 설정을 클릭합니다. 빠른 찾기 상자에 External Client App Manager를 입력합니다.
  20. 외부 클라이언트 앱의 이름 > 수정을 클릭합니다.
  21. OAuth 설정 > 앱 설정 > 컨슈머 키 및 비밀번호로 이동합니다.
  22. 이메일로 전송된 인증 코드를 입력합니다.
  23. 고객 키와 고객 보안 비밀을 안전한 곳에 복사합니다. 이 값은 나중에 필요합니다.

CORS 및 콘텐츠 보안 정책 설정

  1. 메뉴 바 > 설정 메뉴로 이동한 다음 설정을 클릭합니다.
  2. 빠른 찾기 상자에 CORS를 입력한 다음 수정을 클릭합니다.
    1. OAuth 엔드포인트에 CORS 사용 설정을 선택합니다.
    2. 저장을 클릭합니다.
  3. 메뉴 바 > 설정 메뉴로 이동한 다음 설정을 클릭합니다.
  4. 빠른 찾기 상자에 신뢰할 수 있는 URL을 입력한 다음 새 신뢰할 수 있는 URL을 클릭합니다.
  5. 다음 정보를 입력합니다.
    1. API 이름: ui_connector
    2. URL: Agent Assist 통합 백엔드로 배포한 UI 커넥터 Cloud Run 서비스 엔드포인트의 URL을 입력합니다. 이 URL은 Cloud Run 콘솔에서 확인할 수 있습니다. 예를 들면 https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app입니다.
    3. CSP 지시어: 모든 체크박스를 선택합니다.
    4. Save & New(저장 및 새로 만들기)을 클릭합니다.
  6. 다음 정보를 입력합니다.
    1. API 이름: ui_connector_wss
    2. URL: Agent Assist 통합 백엔드로 배포한 UI 커넥터 Cloud Run 서비스 엔드포인트의 URL을 입력합니다. 이 URL은 Cloud Run 콘솔에서 확인할 수 있습니다. 프로토콜을 wss로 변경합니다(WebSocket 트래픽의 경우). 예를 들면 wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app입니다.
    3. CSP 지시어: 모든 체크박스를 선택합니다.
    4. Save & New(저장 및 새로 만들기)을 클릭합니다.
  7. 다음 정보를 입력합니다.
    1. API 이름: salesforce_domain
    2. URL: Salesforce 도메인의 URL을 https://YOUR_SUBDOMAIN.my.salesforce.com 형식으로 입력합니다.
    3. CSP 지시어: 모든 체크박스를 선택합니다.
    4. 저장을 클릭합니다.

5단계: Service Cloud Voice용 NiCE CXone Agent 설치 (BYOT)

Salesforce는 서드 파티 소프트폰을 Salesforce 인스턴스와 통합할 수 있는 부가기능 라이선스 Service Cloud Voice를 제공합니다. NiCE CXone은 NiCE CXone Agent for Service Cloud Voice (BYOT)라는 Service Cloud Voice 부가기능을 제공합니다. NiCE 문서를 따라 SCV 지원 Salesforce 인스턴스에서 NiCE CXone Agent for Service Cloud Voice (BYOT)를 설정합니다.

6단계: Salesforce Lightning 웹 구성요소 설치

다음 단계에 따라 Lightning Experience 편집기를 사용하여 새 통화가 수신될 때 NiCE CXone Agent for Service Cloud Voice (BYOT)가 열리는 연락처 페이지에 Salesforce Lightning 웹 구성요소를 추가합니다.

  1. 서비스 콘솔로 이동합니다.
  2. 유틸리티 바에서 NiCE CXone Agent for Service Cloud Voice (BYOT)에 로그인합니다.
  3. 로그인한 NiCE 계정과 연결된 NiCE POC 번호로 전화를 겁니다.
  4. 수신 전화를 수락합니다. 그러면 새 Voice 통화 기록 탭이 열립니다.
  5. 설정 메뉴 > 페이지 수정을 클릭합니다.
  6. 템플릿 > 변경을 클릭합니다.
    1. 헤더두 개의 동일한 영역을 선택합니다.
    2. 다음을 클릭합니다.
    3. 각 지역을 새 지역에 매핑합니다.
    4. 완료를 클릭합니다.
  7. 구성요소 사이드바에서 agentAssistContainerModule를 사이드바로 이동합니다. 참고: 이 구성요소는 npm deploy 명령어로 제공되었습니다.
  8. 이전 단계에서 배치한 구성요소를 클릭하고 다음과 같이 양식 필드를 작성하여 구성 세부정보를 추가합니다.
    • endpoint: 통합 백엔드 UI 커넥터의 URL입니다. 예를 들어 Cloud Run 콘솔의 URL(예: https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app)이 있습니다.
    • 기능: 포함할 Agent Assist 기능입니다. 이러한 기능은 대화 프로필에서 사용 설정해야 합니다. 사용 가능한 기능에는 CONVERSATION_SUMMARIZATION,KNOWLEDGE_ASSIST_V2, AGENT_COACHING가 있습니다. SMART_REPLY와 같은 일부 기능은 voice에서 사용할 수 없습니다.
    • channel: 통합이 voice임을 나타냅니다.
    • platform: 플랫폼이 servicecloudvoice-nice임을 나타냅니다.
    • conversationProfile: Agent Assist 대화 프로필 리소스 이름입니다. 예를 들면 projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID입니다.
    • consumerKey: 4단계의 외부 클라이언트 앱 고객 키입니다.
    • consumerSecret: 4단계의 외부 클라이언트 앱 고객 보안 비밀입니다.

7단계: 통합 테스트

Salesforce 콜센터에 테스트 전화를 걸어 음성 통합을 테스트할 수 있습니다.

  1. 서비스 콘솔의 유틸리티 바에 있는 옴니채널 위젯에서 NiCE CXone Agent for Service Cloud Voice (BYOT)에 로그인합니다.
  2. NiCE CXone POC 번호로 전화를 겁니다. NiCE CXone 콘솔에서 확인할 수 있습니다.
  3. 서비스 콘솔에서 수신 전화를 수락합니다. 화면에 새 음성 통화 레코드가 열립니다.
  4. Voice Call 레코드에서 Salesforce Lightning 웹 구성요소가 사이드바에 로드되어야 합니다.
  5. Agent Assist 콘솔에서 대화 프로필에 구성한 대로 Agent Assist 스크립트와 기능이 작동하는지 확인하면서 대화의 양쪽을 모두 테스트합니다.