

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Connect에서 재사용 가능한 함수를 위한 흐름 모듈
<a name="contact-flow-modules"></a>

흐름 모듈은 흐름의 재사용 가능한 섹션입니다. 흐름 모듈을 생성하여 흐름 전체에서 반복 가능한 로직을 추출하고 공통 함수를 생성할 수 있습니다. 예제:

1. 고객에게 SMS 문자 메시지를 보내는 모듈을 만들 수 있습니다.

1. 고객이 암호를 재설정하거나, 은행 잔액을 확인하거나, 일회용 암호를 받고자 하는 상황을 처리하는 흐름에서 모듈을 호출할 수 있습니다.

모듈을 사용하면 다음과 같은 이점이 있습니다.
+ 흐름 전반에서 공통 기능 관리를 간소화하세요. 예를 들어, SMS 모듈은 전화번호 형식의 유효성을 검사하고, SMS 옵트인 기본 설정을 확인하며, Amazon Pinpoint와 같은 SMS 서비스와 통합할 수 있습니다.
+ 흐름을 보다 효율적으로 유지할 수 있습니다. 예를 들어, 흐름 모듈을 호출하는 모든 흐름에 변경 사항을 빠르게 전파할 수 있습니다.
+ 흐름 디자이너의 책임을 분리하는 데 도움이 됩니다. 예를 들어 기술 모듈 디자이너와 비기술 흐름 디자이너를 둘 다 둘 수 있습니다.
+ 흐름 모듈에서 더 재사용 가능하고 동적인 경험을 지원합니다. 예를 들어 다양한 고객 응대 흐름 사용 사례에서 재사용할 사용자 지정 입력/출력 객체 및 브랜치가 있는 모듈을 정의할 수 있습니다.
+ 더 쉬운 흐름 모듈 관리. 변경 불가능한 여러 버전의 모듈을 생성하여 변경 사항을 효과적으로 추적하고 테스트할 수 있습니다. 또한 특정 버전을 가리키는 별칭을 생성하여 필요에 따라 별칭을 업데이트하여 해당 별칭을 참조하는 모든 고객 응대 흐름에서 변경 사항을 구현할 수 있습니다.

## 모듈을 사용할 수 있는 경우
<a name="where-to-use-modules"></a>

**인바운드 흐름** [유형](create-contact-flow.md#contact-flow-types)인 모든 흐름에서 모듈을 사용할 수 있습니다.

다음 유형의 흐름은 모듈을 지원하지 않습니다. **고객 대기열**, **고객 대기**, **고객 귓속말**, **아웃바운드 귓속말**, **에이전트 대기**, **에이전트 귓속말**, **에이전트에게 전달**, **대기열로 전달** 

## 제한 사항
<a name="modules-limits"></a>
+ 모듈은 호출하는 흐름의 흐름 로컬 데이터를 재정의할 수 없습니다. 즉, 모듈에서는 다음을 사용할 수 없습니다.
  + 외부 속성
  + Amazon Lex 속성
  + Customer Profiles 속성
  + AI 에이전트 속성 연결
  + 대기열 지표
  + 저장된 고객 입력
+ 모듈은 다른 모듈을 호출할 수 없습니다.

모듈에 데이터를 전달하거나 모듈에서 데이터를 가져오려면 속성을 전달하고 검색해야 합니다.

예를 들어 Lambda(외부 속성)에서 작성된 데이터를 모듈에 전달하여 의사 결정을 내릴 수 있도록 하려고 합니다. Lambda는 고객이 VIP 회원인지 여부를 식별합니다. 고객이 VIP 멤버인 경우 멤버십에 대한 감사 메시지를 표시해야 하므로 모듈 내부에 해당 정보가 필요합니다. 모듈 내부에서는 기본 Lambda를 사용할 수 없으므로 속성을 사용하여 데이터를 전달하고 검색합니다.

## 모듈에 대한 보안 프로필 권한
<a name="module-permissions"></a>

인바운드 흐름에 모듈을 추가하려면 먼저 보안 프로필에 권한이 있어야 합니다. 기본적으로 **관리자** 및 **CallCenterManager** 보안 프로필에 이러한 권한이 있습니다.

## 기본 모듈 생성
<a name="use-modules"></a>

각 Amazon Connect 인스턴스에 대해 만들 수 있는 모듈 수에 대한 자세한 내용은 [Amazon Connect 서비스 할당량](amazon-connect-service-limits.md)을 참조하세요.

1. 모듈을 만들 수 있는 권한이 있는 보안 프로필에 할당된 계정으로 Amazon Connect 콘솔에 로그인합니다.

1. 탐색 메뉴에서 **라우팅**, **고객 응대 흐름**을 선택합니다.

1. **모듈**, **흐름 모듈 생성**을 선택합니다.

1. (선택 사항) **세부 정보** 탭에서 설명을 입력하고 모듈에 대해 50개의 태그를 추가할 수 있습니다.

1. **Designer** 탭에서 모듈에 원하는 블록을 추가합니다. 완료되면 **게시**를 선택합니다. 이렇게 하면 다른 모듈 및 흐름에서 모듈을 사용할 수 있습니다.

## 흐름에 모듈 추가
<a name="add-modules"></a>

1. 흐름을 만들 수 있는 권한이 있는 보안 프로필에 할당된 계정으로 Amazon Connect 콘솔에 로그인합니다. 모듈을 생성하는 데는 권한이 필요하지 않습니다.

1. 탐색 메뉴에서 **라우팅**, **고객 응대 흐름**을 선택합니다.

1. **흐름 생성을** 선택하고 흐름 유형을 선택합니다.

1. 모듈을 추가하려면 **통합** 섹션으로 이동하여 **흐름 모듈 호출**을 선택합니다.

1. 흐름 생성을 마쳤으면 **게시**를 선택합니다.

## 예제 모듈
<a name="example-module"></a>

이 모듈은 Lambda 함수를 호출하여 임의의 흥미 유발 요소를 가져오는 방법을 보여줍니다. 이 모듈은 고객 응대 속성(`$.Attributes.FunFact`)을 사용하여 흥미 유발 요소를 검색합니다. 이 모듈을 호출하는 흐름에서는 수신 고객 응대 유형에 따라 고객에게 FunFact를 재생할 수 있습니다.

인스턴스의 인바운드 흐름은 이 공통 모듈을 호출하여 흥미 유발 요소를 얻을 수 있습니다.

다음은 FunFact 모듈의 이미지입니다.

![\[흐름 디자이너의 funfact 모듈.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-example1.png)


다음은 모듈을 호출하는 FunFactSampleFlow의 이미지입니다.

![\[흐름 디자이너의 funfactsampleflow.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-example2.png)


## 모듈 버전 관리 및 별칭 지정
<a name="module-versioning-aliasing"></a>

유지 관리 효율성을 개선하고 배포 위험을 줄이기 위해 모듈에 버전 관리 및 별칭 지정이 지원됩니다. 모듈 버전은 각 모듈 버전이 변경되지 않도록 하여 일관성과 신뢰성을 제공하는 변경 불가능한 스냅샷입니다. 모듈 별칭을 사용하면 버전에 설명이 포함된 이름을 할당하여 쉽게 식별하고 관리할 수 있습니다. 모듈을 호출하고 별칭으로 \$1.LATEST를 선택하면 최신 개정 추적이 최신 버전으로 자동 업데이트됩니다.

### 모듈용 버전 생성
<a name="create-module-version"></a>

모듈 버전을 생성하여 변경 사항을 추적하고 다양한 반복을 유지할 수 있습니다.

![\[콘솔에서 모듈의 버전 생성.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-version-create.png)


### 모듈의 별칭 생성
<a name="create-module-alias"></a>

보다 쉽게 관리할 수 있도록 특정 모듈 버전을 가리키는 별칭을 생성할 수 있습니다.

![\[콘솔에서 모듈의 별칭 생성.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-alias-create.png)


### 모듈의 특정 버전 또는 별칭 보기
<a name="view-module-version-alias"></a>

읽기 전용 모드에서 모듈의 특정 버전 또는 별칭을 볼 수 있습니다.

![\[콘솔에서 모듈 버전 보기.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-version-view1.png)


![\[콘솔에서 모듈 별칭 보기.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-version-view2.png)


특정 버전 또는 별칭을 클릭하여 읽기 전용 모드에서 모듈을 봅니다.

![\[특정 모듈 버전의 읽기 전용 보기입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-readonly-view.png)


### 흐름에서 모듈 버전 및 별칭 사용
<a name="use-module-versions-alias"></a>

흐름에서 모듈을 호출할 때 특정 모듈 버전 또는 별칭을 참조할 수 있습니다.

![\[흐름에서 모듈 버전 및 별칭 사용.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-use-in-flows.png)


## 사용자 지정 블록 모듈 생성
<a name="create-custom-block-module"></a>

새 흐름 모듈 또는 기존 흐름 모듈의 설정 탭으로 이동하여 사용자 지정 블록 모듈 생성을 시작할 수 있습니다. 여기서 모듈의 입력 및 출력 데이터 유형을 구성할 수 있습니다. 입력/출력 스키마는 기본적으로 객체 유형으로 설정되지만 루트 입력 및 출력 스키마 내의 속성에 대해 다른 데이터 유형을 정의할 수 있는 유연성이 있습니다. String, Number, Integer, Boolean, Object, Array 및 Null 데이터 유형이 지원됩니다.

### 사용자 지정 블록 모듈 구성
<a name="configure-custom-block-module"></a>

새 흐름 모듈 또는 기존 흐름 모듈의 **설정** 탭을 탐색하여 사용자 지정 블록 모듈 생성을 시작할 수 있습니다. 모듈에 대한 입력 및 출력의 모든 데이터 유형을 구성할 수 있지만 입력/출력 스키마는 기본적으로 객체 유형입니다. 루트 입력 및 출력 스키마 아래의 속성의 경우 지원되는 데이터 유형은 문자열, 숫자, 정수, 부울, 객체, 배열 및 Null입니다.

**Designer** 모드를 사용하여 입력 및 출력 모델 구조를 생성하거나 **JSON 스키마**를 사용하여 정의할 수 있습니다.

![\[사용자 지정 블록 모듈 구성을 위한 디자이너 모드입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-custom-designer.png)


![\[사용자 지정 블록 모듈 구성을 위한 JSON 스키마 모드입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-custom-json.png)


모듈에 대해 최대 8개의 사용자 지정 브랜치를 정의할 수 있습니다.

![\[모듈에 대한 사용자 지정 브랜치 구성입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-custom-branches.png)


### 모듈 관련 속성에 액세스
<a name="accessing-module-attributes"></a>

사용자 지정 블록 모듈 개선의 일환으로 모듈을 호출한 흐름 또는 모듈의 모듈 입력, 출력 및 결과에 액세스할 수 있는 새로운 네임스페이스 모듈이 도입되었습니다. [Amazon Connect에서 흐름 블록: 연락처 속성 설정](set-contact-attributes.md) 블록을 사용하여 이러한 속성을 저장하거나 JSONPath 참조를 통해 이러한 속성을 직접 사용할 수 있습니다. 모듈 속성에 대한 자세한 내용은 [Amazon Connect에서 사용 가능한 고객 응대 속성 및 해당 JSONPath 참조 목록](connect-attrib-list.md) 설명서를 참조하세요.

### 사용자 지정 블록 모듈 예제
<a name="example-custom-block-module"></a>

이 모듈에서는 Lambda 함수를 호출하여 제공된 전화번호와 PIN을 기반으로 고객을 인증하는 방법을 보여줍니다. 모듈은 입력을 전화번호로 받아 customerId, customerName 및 customerEmail을 출력합니다. 또한 모듈은 인증 및 미인증 사용자 지정 브랜치 2개를 지원합니다. 이 모듈을 호출하는 흐름은 단순히 전화번호를 전달하여 고객을 인증하고 추가 작업을 위한 기본 고객 정보를 얻을 수 있습니다.

다음은 설정이 있는 인증 모듈의 이미지입니다.

![\[인증 모듈 설정 - 입력 구성.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-auth-settings1.png)


![\[인증 모듈 설정 - 출력 구성.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-auth-settings2.png)


![\[인증 모듈 설정 - 브랜치 구성입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-auth-settings3.png)


![\[인증 모듈 설정 - 요약 보기.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-auth-settings4.png)


다음은 모듈을 호출하여 전화번호를 사용하여 고객을 인증하는 샘플 고객 지원 흐름의 이미지입니다.

![\[인증 모듈을 사용한 샘플 고객 지원 흐름입니다.\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-auth-flow-example.png)


## 모듈을 도구로 생성
<a name="create-module-as-tools"></a>

다양한 시스템에서 흐름 모듈을 독립적인 실행 단위로 흐름 외부에서 호출할 수 있도록 하기 위해 유틸리티를 확장하고 Q in Connect와 같은 확립된 자동화 도구를 사용하여 강력한 사용 사례를 지원합니다. 여기서 AI 에이전트는 모듈을 도구로 사용하여 결제 워크플로 및 자동화된 태스크 워크플로 실행과 같은 고객 서비스 상호 작용 중에 식별된 작업을 수행할 수 있습니다. 이 접근 방식을 사용하면 비즈니스 로직을 모듈로 한 번 정의하고 여러 채널 및 컨텍스트에서 실행하여 일관성을 보장하는 동시에 개발 오버헤드를 줄일 수 있습니다.

### 새 모듈을 도구로 생성
<a name="create-new-module-as-tool"></a>

![\[새 모듈을 도구 인터페이스로 생성\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-as-tool-create-new.png)


### 기존 모듈에서 도구로 모듈 생성
<a name="create-module-tool-from-existing"></a>

![\[기존 모듈 인터페이스에서 도구로 모듈 생성\]](http://docs.aws.amazon.com/ko_kr/connect/latest/adminguide/images/module-as-tool-from-existing.png)


### 모듈 - 도구 지원 블록
<a name="module-tool-supported-blocks"></a>

새 도구 모듈을 생성할 때 모듈을 빌드하기 위해 블록 라이브러리에서 지원되는 블록 목록만 표시됩니다. 기존 모듈을 도구로 변환하면 도구 모듈에서 지원되지 않는 기존 블록이 표시됩니다. 다음 블록 목록은 모듈에 도구로 지원됩니다.


| 블록 | 
| --- | 
| Cases | 
| ChangeRoutingPriority | 
| CheckCallProgress | 
| CheckContactAttributes | 
| CheckHoursOfOperation | 
| CheckQueueStatus | 
| CheckStaffing | 
| CheckVoiceId | 
| CreatePersistentContactAssociation | 
| CreateTask | 
| CustomerProfiles | 
| DataTable | 
| DistributeByPercentage | 
| GetQueueMetrics | 
| InvokeFlowModule | 
| InvokeLambdaFunction | 
| InvokeThirdPartyAction | 
| Loop | 
| Resume | 
| ResumeContact | 
| 반환 | 
| SendMessage | 
| SetAttributes | 
| SetCallbackNumber | 
| SetCustomerQueueFlow | 
| SetDisconnectFlow | 
| SetEventHook | 
| SetHoldFlow | 
| SetLoggingBehavior | 
| SetQueue | 
| SetRecordingAndAnalyticsBehavior | 
| SetRoutingCriteria | 
| SetRoutingProficiency | 
| SetVoice | 
| SetVoiceId | 
| SetWhisperFlow | 
| SetWisdomAssistant | 
| TagContact | 