ワークフローとワークフロー アクション
ワークフローを使用して、共通の反復的なエージェント タスクを自動化することができます。ワークフローには一意の名前と有用な説明があります。[Manage Workflows] ガジェットと [Manage Workflow Actions] ガジェットを使用して、ワークフローおよびワークフロー アクションを表示、追加、編集、または削除します。
すべてのワークフローがチーム レベルのワークフローです。グローバルのワークフローは作成できません。グローバル ワークフローが必要な場合は、チーム ワークフローを作成して、すべてのチームに割り当てます。
Finesse は次の数のワークフローとワークフロー アクションをサポートします。
-
Finesse システムあたり 100 個のワークフロー
-
Finesse システムあたり 100 個のアクション
-
チームあたり 20 個のワークフロー
-
ワークフローあたり 5 つの条件
-
ワークフローあたり 5 つのアクション
-
アクションあたり 5 つの変数
-
queueNumber
-
queueName
-
callKeyCallId
-
callKeyPrefix
-
wrapUpReason
ワークフローとワークフロー アクションを昇順または降順で並べ替えるには、列のヘッダーをクリックします。
次の表で、[Manage Workflows] ガジェットのフィールドについて説明します。
フィールド |
説明 |
---|---|
名前 |
ワークフローの名前。名前は一意である必要があり、最大 40 文字にすることができます。 |
説明 |
ワークフローの説明。説明は最大 128 文字で指定します。 |
次の表で、[Manage Workflow Actions] ガジェットのフィールドについて説明します。
フィールド |
説明 |
---|---|
名前 |
ワークフロー アクションの名前。名前は一意である必要があり、最大 64 文字にすることができます。 |
タイプ |
ワークフローのタイプ。使用できる値は、[Browser Pop]、[HTTP Request] です。 |
[Manage Workflows ] ガジェットと [Manage Workflow Actions] ガジェットのアクションは次のとおりです。
-
[New]:新しいワークフローまたはワークフロー アクションを追加します。
-
[Edit]:ワークフローまたはワークフロー アクションを編集します。
-
[Delete]:ワークフローまたはワークフロー アクションを削除します。
-
[Refresh]:サーバからワークフローまたはワークフロー アクションのリストをリロードします。
Finesse デスクトップまたはサードパーティ ガジェットで処理されるワークフロー アクションを設定できます。サードパーティ ガジェットは Finesse とは異なる方法でアクションを処理するように設計できます。
各ワークフローには 1 種類のトリガーだけを含める必要があります。トリガーは、Finesse ダイアログ イベントに基づきます。ダイアログ イベントには次のようなものがあります。
-
コールが着信したとき
-
コールが応答されたとき
(注)
コールが応答されたときにワークフローをトリガーするように設定すると、エージェントが着信コールに応答するときや発信コールを行うとき、または顧客がアウトバウンド オプション コールに応答するときに、ワークフローを実行します。
-
コールが終了したとき
-
コールを発信するとき
- アウトバウンド オプション コールのプレビュー中
ワークフロー エンジンでは次の簡単なロジックを使用して、ワークフローを実行するかどうかを判断します。
- ワークフローを実行する必要があるかどうかを判断するために、受け取った各ダイアログ イベントに対してトリガー セットと条件が評価されます。
-
ワークフロー エンジンは、設定済みのワークフローのトリガー セットおよび条件を満たす最初のコールに対するワークフローのイベントを処理します。このコールが終了するまでは、その他のワークフローを実行しません。最初のコール中にエージェントが次のコールを受け取ると、最初のコールが終了しても、2 回目のコールでワークフローを実行しません。
(注)
アウトバウンド プレビュー コールは、このルールの例外です。エージェントがコールを受け取る場合と同様に、エージェントがコールをプレビューする間に、ワークフローを実行できます。
- 特定のトリガー タイプ(たとえば、コールの着信)のワークフローの実行後、同じダイアログ ID に対して再びトリガーを実行することはありません。
ワークフロー エンジンは、エージェントがサインインするとエージェントのワークフローをキャッシュします。また、エージェントをサインアウトしてもう一度サインインするか、ブラウザを更新するまで、ワークフローはエージェントを変更しません。
(注) |
コールの着信、コールへの応答、またはコールの発信をトリガーするワークフローは、ブラウザが更新されたときに実行されます。エージェントがブラウザを更新すると、ワークフロー エンジンではコールが最近の着信、または新規の着信として表示されます。HTTP 要求アクションがワークフローの一部である場合、その HTTP 要求はエージェントがブラウザを更新したときに送信されます。HTTP 要求を受信するアプリケーションは、このシナリオを考慮する必要があります。そのようにしないと、予想外の結果が発生する場合があります。 |
ワークフローの例は、ダイアログのイベント(たとえば、ANI や顧客情報)から情報を収集し、顧客情報が含まれる Web ページを表示するアクションをトリガーするコール着信イベントです。
イベントから収集したデータの値によって、トリガー イベントをフィルタリングできます。いずれかの条件が満たされたか、すべての条件が満たされたときに実行するようにワークフローを設定できます。
個々の条件は、次のように構成されます。
-
調査するイベント データの一部(DNIS、コール変数など)。
-
イベント データと入力された値の比較(たとえば、contains(含まれる)、is equal to(等しい)、is not equal to(等しくない)、begins with(次の値で始まる)、ends with(次の値で終わる)、is empty(空白)、is not empty(空白ではない)、および is in list(リストにある))
トリガーとその条件が満たされたときに、ワークフローに割り当てられたアクションのリストが実行されます。アクションは、リストに表示されている順序で実行されます。
ワークフローは、Finesse ユーザであるエージェントおよびスーパーバイザのみを対象として実行されます。ワークフロー エンジンは Finesse デスクトップ アプリケーションでユーザ単位でクライアント側を実行する JavaScript ライブラリです。デスクトップは、ユーザがログインするとき、またはブラウザを更新するたびに、サーバからユーザに対して実行するワークフローを取得します。
(注) |
ユーザがサインインしている間にワークフローまたはアクションに対して行われた変更は、自動的にそのユーザにプッシュされません。 |
ワークフローやアクションが動作できないように矛盾するワークフロー、条件、およびアクションを設定することができます。ワークフローは検証されていません。
チームに複数のワークフローが設定されている場合、ワークフロー エンジンは、設定された順序で評価します。ワークフロー エンジンはアクションなしのワークフローを無視します。ワークフロー エンジンがイベントやワークフローの条件と一致するトリガーのあるワークフローを検出し、そのワークフロー条件を true と評価した場合、そのワークフローが使用され、リスト内の後続のワークフローは評価されません。条件なしのワークフローは、イベントがワークフローのトリガーと一致する場合に true と評価します。デフォルトでは、すべてのワークフローが有効です。特定のユーザに対して一度に実行できるワークフローは 1 つだけです。
ワークフロー エンジンは、ワークフローをトリガーしたダイアログから、ワークフロー条件に使用されるダイアログ ベースの変数を取得します。変数がダイアログで見つからない場合、その値は空であると見なされます。
ワークフロー エンジンは、一致するワークフローに関連付けられたアクションを、表示された順序で実行します。ワークフロー エンジンは以前に実行したアクションが失敗した場合でも、ワークフローでアクションを実行します。失敗したアクションは記録されます。
Finesse サーバは、Finesse ユーザに対して表示されるコールを制御します。ユーザに対して複数のコールが存在している場合、ワークフローはトリガーに一致する最初のコールだけに適用されます。表示される最初のコールがトリガーが一致せず、2 番目のコールがトリガーに一致した場合、ワークフロー エンジンは、2 番目のコールに対してトリガーを評価して処理します。
表示されるコールが Finesse デスクトップで唯一のコールである場合は、そのコールが最初に表示されるコールであると見なされます。(電話会議中に)電話機で 2 件のコールがマージされる場合、存続しているコールの最初に表示されたコール フラグ値が使用されます。
ユーザがブラウザを更新したときにコールが存在している場合、ワークフロー エンジンはそのコールをそのまま評価します。ダイアログ データ(コール変数値)が変更された場合、データが元のワークフローのトリガーおよび条件と一致しなくなった可能性があります。データが別のワークフローと一致する場合や、一致するワークフローがない場合もあります。
ユーザがブラウザを更新したときに複数のコールが存在している場合、ワークフロー エンジンは Finesse サーバから受信した最初のダイアログを最初に表示されるコールとして処理します。このコールは、ブラウザの更新前に最初に表示されていたコールと同じコールである必要はありません。その他のコールに対して受信したダイアログは、最初に表示されるコールとは見なされないため、無視されます。ブラウザの更新後、ワークフロー エンジンがロードされる前に複数のコールのダイアログが受信された場合、最初に表示されるコールと見なされるコールがないため、評価されるダイアログはありません。
ワークフローは、Finesse のエージェントとスーパーバイザの両方に対して実行されます。スーパーバイザが属しているチーム(スーパーバイザが管理するチームとは区別される)が、スーパーバイザに対して実行するワークフローを判断します。スーパーバイザを自分のチームに所属させて、エージェントのワークフローが実行されないようにすることができます。
ワークフローのトリガーとアウトバウンド コール
(注) |
アウトバウンド オプション コール専用のワークフローを作成するきには、BAStatus の条件として [が空ではない(is not empty)] を追加します(ただしコールを受信した時点で BAStatus は空になっているため、[コールを受信したとき(When a call arrives)] ワークフロー トリガーの場合は除きます)。この状態では、ワークフローが、アウトバウンド オプション コールを、エージェントが開始したアウトバウンド コールと区別することができます。 |
次の表では、いくつかのアウトバウンド コールのシナリオで、ワークフローがいつトリガーするかについて説明します。
ワークフローのトリガー |
ダイレクト プレビュー アウトバウンド コール |
プレビュー アウトバウンド コール |
プログレッシブ/プレディクティブ アウトバウンド コール |
---|---|---|---|
コールのプレビュー中 |
エージェントがコールをプレビューしたとき(コールを受け入れるか、または拒否する前) |
エージェントがコールをプレビューしたとき(コールを受け入れるか、または拒否する前) |
トリガーしない |
コールが着信したとき |
トリガーしない |
エージェントがコールを受け取れたとき |
コールがエージェント デスクトップに着信したとき |
コールが応答されたとき |
顧客がコールに応答したとき、およびフェールオーバー中 |
顧客がコールに応答したとき、およびフェールオーバー中 |
顧客がコールに応答したとき |
コールが行われたとき |
顧客のコールが開始されたとき |
顧客のコールが開始されたとき |
顧客のコールが開始されたとき、およびフェールオーバー中 |
コールが終了したとき |
顧客のコールが終了したとき |
顧客のコールが終了したとき |
顧客のコールが終了したとき |