

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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)、**着信フロー**など、あらゆるフローで使用できます。

次のタイプのフローは、モジュールをサポートしません。**Customer queue** (顧客キュー)、**Customer hold** (顧客保留)、**Customer whisper** (顧客ウィスパー)、**Outbound whisper** (発信ウィスパー)、**Agent hold** (エージェント保留)、**Agent whisper** (エージェントウィスパー)、**Transfer to agent** (エージェントへの転送)、**Transfer to queue** (キューへの転送)。

## 制限事項
<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. **デザイナー**タブで、モジュールに必要なブロックを追加します。完了したら、**[Publish]** (公開) を選択します。これにより、モジュールは他のモジュールやフローで使用できるようになります。

## フローへモジュールを追加する
<a name="add-modules"></a>

1. フローを作成する許可を持つセキュリティプロファイルに割り当てられたアカウントで Amazon Connect コンソールにログインします。モジュールを作成する許可は必要ありません。

1. ナビゲーションメニューで、[**ルーティング**]、[**コンタクトフロー**] の順に選択します。

1. **フローの作成** を選択し、任意のフロータイプを選択します。

1. モジュールを追加するには、**[Integrate]** (統合) セクションを選択し、**[Invoke flow module]** (フローモジュールを呼び出す) を選択します。

1. フローの作成が完了したら、**[Publish]** (公開) を選択します。

## モジュールの例
<a name="example-module"></a>

このモジュールでは、Lambda 関数を呼び出して、トリビア情報をランダムに表示する方法を示します。モジュールは問い合わせ属性 (`$.Attributes.FunFact`) を使用しておすすめ情報を取得します。このモジュールを呼び出すフローは、着信の問い合わせタイプに応じて、顧客に対して FunFact (おすすめ情報) を再生できます。

インスタンスのインバウンドフローは、この共通モジュールを呼び出して、おすすめ情報を取得できます。

FunFact モジュールのイメージを次に示します。

![\[フローデザイナーの funfact モジュール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-example1.png)


次に、モジュールを呼び出す FunFactSampleFlow のイメージを示します。

![\[フローデザイナーの funfactsampleflow。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/connect/latest/adminguide/images/module-version-create.png)


### モジュールのエイリアスを作成する
<a name="create-module-alias"></a>

管理を容易にするために、特定のモジュールバージョンを指すエイリアスを作成できます。

![\[コンソールでモジュールのエイリアスを作成します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-alias-create.png)


### モジュールの特定のバージョンまたはエイリアスを表示する
<a name="view-module-version-alias"></a>

モジュールの特定のバージョンまたはエイリアスを読み取り専用モードで表示できます。

![\[コンソールでのモジュールバージョンの表示。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-version-view1.png)


![\[コンソールでのモジュールエイリアスの表示。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-version-view2.png)


特定のバージョンまたはエイリアスをクリックして、読み取り専用モードでモジュールを表示します。

![\[特定のモジュールバージョンの読み取り専用ビュー。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-readonly-view.png)


### フローでモジュールバージョンとエイリアスを使用する
<a name="use-module-versions-alias"></a>

フローでモジュールを呼び出すときに、特定のモジュールバージョンまたはエイリアスを参照できます。

![\[フローでのモジュールバージョンとエイリアスの使用。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-use-in-flows.png)


## カスタムブロックモジュールを作成する
<a name="create-custom-block-module"></a>

カスタムブロックモジュールの作成を開始するには、新規または既存のフローモジュールの設定タブに移動します。ここでは、 モジュールの入出力データ型を設定できます。入出力スキーマはデフォルトでオブジェクトタイプですが、ルート入出力スキーマ内のプロパティに他のデータ型を柔軟に定義できます。サポートされるデータ型は、文字列、数値、整数、ブール値、オブジェクト、配列、Null です。

### カスタムブロックモジュールを設定する
<a name="configure-custom-block-module"></a>

新規または既存のフローモジュール**の設定**タブを移動することで、カスタムブロックモジュールの作成を開始できます。モジュールの任意のデータタイプの入出力を設定できますが、入力/出力スキーマはデフォルトでオブジェクトタイプです。ルート入出力スキーマのプロパティでは、サポートされているデータ型は、文字列、数値、整数、ブール値、オブジェクト、配列、Null です。

**デザイナー**モードを使用して入出力モデル構造を作成することも、**JSON スキーマ**を使用して定義することもできます。

![\[カスタムブロックモジュール設定のデザイナーモード。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-custom-designer.png)


![\[カスタムブロックモジュール設定の JSON スキーマモード。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-custom-json.png)


モジュールには最大 8 つのカスタムブランチを定義できます。

![\[モジュールのカスタムブランチ設定。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/connect/latest/adminguide/images/module-auth-settings1.png)


![\[認証モジュール設定 - 出力設定。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-auth-settings2.png)


![\[認証モジュール設定 - ブランチ設定。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-auth-settings3.png)


![\[認証モジュール設定 - 概要ビュー。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-auth-settings4.png)


以下は、電話番号を使用して顧客を認証するためにモジュールを呼び出すサンプルカスタマーサポートフローの画像です。

![\[認証モジュールを使用したカスタマーサポートフローの例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/connect/latest/adminguide/images/module-as-tool-create-new.png)


### 既存のモジュールからツールとしてモジュールを作成する
<a name="create-module-tool-from-existing"></a>

![\[既存のモジュールインターフェイスからツールとしてモジュールを作成する\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/module-as-tool-from-existing.png)


### ツールでサポートされているブロックとしてのモジュール
<a name="module-tool-supported-blocks"></a>

新しいツールモジュールを作成すると、モジュールを構築するためのブロックライブラリからサポートされているブロックのリストのみが表示されます。既存のモジュールをツールとして変換する場合、ツールモジュールでサポートされていない既存のブロックが表示されます。ツールとしてのモジュールでは、次のブロックのリストがサポートされています。


| ブロック | 
| --- | 
| 事例 | 
| ChangeRoutingPriority | 
| CheckCallProgress | 
| CheckContactAttributes | 
| CheckHoursOfOperation | 
| CheckQueueStatus | 
| CheckStaffing | 
| CheckVoiceId | 
| CreatePersistentContactAssociation | 
| CreateTask | 
| CustomerProfiles | 
| DataTable | 
| DistributeByPercentage | 
| GetQueueMetrics | 
| InvokeFlowModule | 
| InvokeLambdaFunction | 
| InvokeThirdPartyAction | 
| ループ | 
| Resume | 
| ResumeContact | 
| 戻る | 
| SendMessage | 
| SetAttributes | 
| SetCallbackNumber | 
| SetCustomerQueueFlow | 
| SetDisconnectFlow | 
| SetEventHook | 
| SetHoldFlow | 
| SetLoggingBehavior | 
| SetQueue | 
| SetRecordingAndAnalyticsBehavior | 
| SetRoutingCriteria | 
| SetRoutingProficiency | 
| SetVoice | 
| SetVoiceId | 
| SetWhisperFlow | 
| SetWisdomAssistant | 
| TagContact | 