上級レッスン:タスクエディターと式のヘルプ


Architect のタスク エディターは、より総合的なプロセスを関連ステップ別にグループ分けする助けになります。多くの場合、式を使用してこれらの複雑なコールフロー計算を行います。Architect はまた、式の構築に役立つ要素の包括的なリストを返します。このレッスンでは、これらの分野を探求します。

ここでは、現在の通話に関する次の情報を決定するためのタスク シーケンスを構築します。

  • 1 日の時間帯(午前、午後、夕方)
  • 発信者の名前
  • 今日の曜日

次に、システムにオーディオ シーケンスの形で発信者に対して情報を再生させるようにします。発信者がフローを入力するとき、「[おはようございます、こんにちわ、こんばんわ]、[発信者の名前]」という挨拶が流れます。  今日は [曜日] です。」という挨拶が流れます。更に、金曜日に電話すると土曜日の新しい営業時間についての次のメッセージが流れます:「土曜日の営業時間が変更されたことをお知らせします。  明日ご連絡くださる場合は、午前 9 時から正午まで営業していますのでその間にお願い致します。」  

メモ:このレッスンでは、コレクションを作成し、フローとコール変数を組み込んで[データを更新] アクションを使って式を定義し、オーディオ シーケンスを構築して、Architectの [式のヘルプ] にアクセスします

目的

発信者が入力した現在の通話についての情報を収集し、その情報を発信者に対して再生するタスクを作成します。

推定所要時間:40 分

追加リソース


タスク エディターを使用し、式のヘルプにアクセス(製品シミュレーション)


タスク


  1. Architect ホームページで [インバウンド コールフロー] タブをクリックします。
  2. 新しいインバウンド フローを一意名を付けて追加します。短い説明文またはフレーズを含めることもできます。この例では、インバウンド コールフローを平日
  3. 新しい再使用可能なタスクを作成して開始タスクとして設定します。
  4. このタスクを曜日と名付けます。
  5. 最初の挨拶では、発信者に挨拶するプロンプトを録音するか TTS を追加します。
  6. [タスクを編集] をクリックします。


オーディオをタスクに追加することで開始タスクの構築を開始し、次に文字列コレクションから現在の曜日をプルするようにフローに指示する決定アクションを作成します。

  1. [オーディオ再生] アクションをタスク エディターにドラッグし、「最初のオーディオ」というタイトルを付けます。
  2. 発信者に挨拶するプロンプトを録音するか TTS を追加する:

お電話ありがとうございます。

  1. [決定] タスクを [オーディオを再生]タスクの下にドラッグし、[データを更新] アクションを [決定] アクションの [いいえ] パスの下にドラッグします。
  2. [データを更新] アクションを「曜日」と名付けます。
  3. [更新ステートメントの追加] ドロップダウン リストの端にある矢印をクリックして、以下を行います:
    1. [コレクションを作成] をクリックします。
    2. [文字列コレクション] を選択します。
  4. [変数名] ボックスに、「Flow.DaysOfTheWeek」と入力します。
  5. [割り当てる値] ボックスで、[文字列コレクションに 0 アイテム] をクリックします。[割り当てる値 1 を編集] コレクション ダイアログ ボックスが開きます。
  6. [アイテムを追加] をクリックし、[アイテム] ボックスに「日曜日」と入力します。 
  7. ステップ 7 を繰り返して残りの曜日を追加し、終了したら[閉じる]をクリックします。

次のようなコレクションになります:

コレクション


ここで、通話から今日の曜日を取得するために [データを更新] アクションにシーケンスを追加し続けます。

  1. [データを更新] アクションを [曜日データを更新」アクションの下にドラッグします。
  2. アクションに「今日」という名前を付けます。
  3. [更新ステートメントの追加] ドロップダウン リストの端にある矢印をクリックして [文字列] を選択し、以下を行います:
    1. [変数名] ボックスに、「Flow.Today」と入力します。
    2. [割り当てる値] ボックスで、式モードに切り替え、大型式エディターを開きます。[割り当てる値 1 の編集] 式ダイアログ ボックスが開きます。
    3. [取得] と入力し始めます。使用可能な関数がドロップダウン リストに表示されます。
    4. ここでどの式を使用すればよいか確信がない場合、ドロップダウン リストで [GetAt] の横にある [?] をクリックします。[式のヘルプ] が開いて、この関数はコレクション内の特定の場所にあるアイテムを取得することがわかります。これは、ここで使いたい関数に似ています。詳細や使用例については、[実装] セクションを展開してご覧ください。 
    5. 読み終えたら、右上角の「X」をクリックして式のヘルプを閉じます。
  4. [割り当てる値 1 を編集] 式ダイアログ ボックスに戻り、GetAt() 関数の入力を終えて Enter を押します。カーソルを括弧の中に置くことができることに注意してください
    1. カーソルが GetAt の括弧内に置かれていることを確認し、「Flow.」と入力し始めて表示されるリストから Flow.DaysOfTheWeek を選択します。
    2. 閉じ括弧の直前の位置にカーソルが置かれた状態で、コンマを追加して「DayOf」と入力し始めます。ドロップダウン リスト内の利用可能なオプションのリストに注意してください。
    3. 正しい関数を選択したことを確認するために、「DayOfWeek」の横にある「?」をクリックします。[式のヘルプ] が開いて、この関数は提供された値から曜日を取得することがわかります。 
    4. [式のヘルプ] 内で [整数] セクションを展開して、更なる詳細と例を表示できます。これは、ここで使いたい関数に似ています。
    5. 読み終えたら、右上角の「X」をクリックして式のヘルプを閉じます。
  5. [割り当てる値 1 を編集] 式ダイアログ ボックスに戻り、DayOfWeek() 関数の入力を終えて Enter を押します。
  6. 式の終わりの 2 つの閉じ括弧の直前の位置にカーソルが置かれた状態で「Flow. 」と入力し始め、リストから [Flow.StartDateTimeUtc] を選択します。
  7. [閉じる] をクリックします。

最終的な式は次のようになります:

GetAt(Flow.DaysOfTheWeek, DayOfWeek(Flow.StartDateTimeUtc))


次に、システムに 1 日の時間帯を収集するように指示する [データを更新] アクションを追加することでシーケンスを続けます。

  1. [データを更新] アクションを [今日のデータを更新」アクションの下にドラッグします。
  2. このアクションに「1 日の時間帯」という名前を付けます
  3. [更新ステートメントの追加] ドロップダウンリスト端にある矢印をクリックして [文字列] を選択し、以下を行います
    1. [変数名] ボックスに、「Flow.TimeOfDay」と入力します。
    2. [割り当てる値] ボックスで、式モードに切り替え、大型式エディターを開きます。[割り当てる値 1 の編集] 式ダイアログ ボックスが開きます。
    3. If」と入力し始めます。 使用可能な関数がドロップダウンリストに表示されます。
    4. 必要なら、リスト内の「If()」式の横にある「?」 をクリックして、式のヘルプを開くことができます。ここでは関数の詳細を読んだり実装を展開したりでき、使い終えたら、「X」をクリックして式のヘルプを閉じます。
  4. [割り当てる値 1 を編集] 式ダイアログ ボックスに戻り、If() 関数の入力を終えます。
    1. カーソルが If の括弧内に置かれていることを確認し、「Hour」と入力し始めて表示されるリストから Hour()を選択します。
    2. 2 つの閉じ括弧の直前の位置にカーソルが置かれた状態で、「Flow」と入力し始めます。ドロップダウン リスト内の利用可能なオプションのリストに注意してください。
    3. Flow.StartDateTimeUTC を選択します。
  5. 式を続けて、時間が 12 未満であれば午前として読みます。時間が 17 未満であれば午後または夕方と見なします。
  6. 最後の閉じ括弧の直前の位置にカーソルが置かれた状態で、「<12, “Morning”,」と入力します。
  7. 最後のカンマと最後の閉じ括弧の間にカーソルを置いて、「if(Hour(Flow.StartDateTimeUtc)」と入力します。
  8. 最後の 2 つの閉じ括弧の直前にカーソルを置いて、「<17,”Afternoon”,”Evening”」と入力します。
  9. [閉じる] をクリックします。

最終的な式は次のようになります:

If(Hour(Flow.StartDateTimeUtc) < 12, “Morning”, if(Hour(Flow.StartDateTimeUtc) < 17,”Afternoon”, “Evening”))


収集されたデータに基いて日付と時刻を発信者に知らせるオーディオ シーケンスを作成します。

  1. [オーディオの再生]アクションを[1 日の時間帯] データの更新アクションの下にドラッグし、「挨拶」という名前を付けます。
  2. [オーディオ] ボックスで [オーディオ シーケンス エディター] ボタンをクリックして、以下を行います:
    1. [テキストの音声合成(TTS)] ボックスで「Good」と入力します。
    2. [データを追加] ボタンをクリックして [データ] ボックスで「Flow.TimeOfDay」と入力します。
    3. [オプションを選択] ドロップダウンリストの端にある矢印をクリックし、[テキストの音声合成(TTS)] を選択します。 
    4. [データを追加] ボタンをクリックして [データ] ボックスで「Call.RemoteName」と入力します。
    5. [オプションを選択] ドロップダウン リストの端にある矢印をクリックし、[テキストの音声合成(TTS)] を選択します。
    6. [TTSの追加]をクリックし、[テキストの音声合成(TTS)]ボックスに、「今日は」と入力します。
    7. [データを追加] ボタンをクリックして [データ] ボックスに「Flow.Today」と入力します。
    8. [オプションを選択] ドロップダウン リストの端にある矢印をクリックし、[テキストの音声合成(TTS)] を選択します。
    9. [閉じる] をクリックします。


翌日が土曜日であることが検出されたら、発信者に対して土曜日の時間帯を再生します。その後、タスクを完了します。

  1. [決定]アクションを [挨拶] オーディオ再生アクションの下のタスク エディターにドラッグし、「明日は土曜日ですか?」というタイトルを付けます。
  2. [] ボックスで式モードに切り替え、[True] テキストを削除して「Flow.Today==”金曜日”」と入力します。
  3. [オーディオの再生] アクションを [明日は土曜日ですか?] の下にドラッグします。[決定] アクションの [はい] パスを選択して「土曜日の時間帯を再生」というタイトルを付けます。
  4. [オーディオ] ボックスで発信者に挨拶するプロンプトを録音するか TTS を追加します:

土曜日の営業時間が変更されたことをお知らせします。  明日ご連絡くださる場合は、午前 9 時から正午まで営業していますのでその間にお願い致します。 

  1. [メニューに移動] アクションをタスク エディターの最後のスペースにドラッグします。
  2. メイン メニューを選択し、フローを検証して保存または公開することもできます。


練習

Now it’s your turn. Try creating a similar experience in your own environment. For example, you might set up a greeting specific to play to callers during a particular month, such as “Seasons Greetings” in December. Or you might inform callers of seasonal hours, such as summer hours in July. For additional assistance, refer to the corresponding task instructions and the supporting video.