ワークフロープロセス

CRMのワークフローを使用すると、CRM内の単純なビジネスプロセスと複雑なビジネスプロセスを自動化できます。CRMのすぐに使用できる機能を使用してワークフローを作成するか、複雑なワークフローを実装するための.NETコードを使用してカスタムワークフローを作成できます。ワークフロープロセスはバックグラウンドまたはリアルタイムで実行され、オプションでユーザー入力が必要になる場合があります。

ワークフローは、特定の条件に基づいてトリガーすることも、ユーザーが手動で開始することもできます。内部的には、CRMワークフローはWindows WorkflowFoundationを使用して実装されます。この章では、ワークフローの構成について学習します。

ワークフローの構成には、次の主要な部分があります(順番に)-

  • ワークフローを実行するエンティティを構成します
  • ワークフローを同期的に実行するか非同期的に実行するかを構成します
  • ワークフローが実行されるメッセージ(イベント)を構成します
  • ワークフローが実行されるスコープを構成します
  • ワークフローのステージとステップ(アクション)を構成します

同期/非同期ワークフロー

ワークフローを作成すると、ワークフローをリアルタイム(同期)で実行するかバックグラウンド(非同期)で実行するかを決定する[このワークフローをバックグラウンドで実行する(推奨)]オプションが表示されます。

一般に、推奨されるアプローチは、ワークフローが利用可能な場合にシステムリソースを使用するため、ワークフローをバックグラウンドで実行することです。ただし、いつでもリアルタイムワークフローからバックグラウンドワークフローに、またはその逆に切り替えることができます。

ワークフローメッセージ

ワークフローは、次のように特定のイベントに登録できます-

  • レコードが作成されたとき
  • レコードステータスが変更されたとき
  • レコードが割り当てられたとき
  • レコードフィールドの値が変更されたとき
  • レコードが削除されたとき

ワークフローの範囲

ワークフローを使用すると、ワークフローを実行するスコープを設定できます。サポートされているワークフロースコープは次のとおりです-

User ワークフローは、ワークフローユーザーと同じユーザーが所有するレコードでのみ実行されます。
Business Unit ワークフローは、ワークフローユーザーと同じビジネスユニットのユーザーが所有するレコードで実行されます。
Parent Child Business Units ワークフローは、ワークフローユーザーと同じビジネスユニットのユーザーおよび子ビジネスユニットが所有するレコードで実行されます。
Organization ワークフローは、CRMの任意のユーザーが所有するレコードで実行されます。

ワークフローの手順

CRMのワークフローは、ワークフローが従う一連のステップの組み合わせです。これらのステップを論理的な段階に分割することもできます。次の手順は、CRMワークフローでサポートされています-

Conditional Steps
Check Condition 論理的な「if(条件)-then」ステートメントを指定します。
Conditional Branch 論理的な「else– if –then」ステートメントを指定します。これは、チェック条件でのみ使用できます。
Default Action 論理的な「else」ステートメントを指定します。これは、チェック条件でのみ使用できます。
Wait Steps
Wait Condition 特定の条件が満たされるまで待機します。リアルタイムワークフローには適用されません。
Parallel Wait Branch 最初の基準が満たされたときに実行できる一連の追加ステップを使用して、代替待機条件を指定します。
Action Steps
Create Record 指定されたデフォルト値を使用して、指定されたエンティティのレコードを作成します。
Update Record 選択したレコードを指定値または動的値で更新します。
Assign Record 選択したレコードをユーザーまたはチームに割り当てます。
Send Email メールを送信します。
Perform Action カスタムワークフローのステップ(およびアクション)を指定します。これらのカスタムステップは、CRM開発者が開発する必要があります。
Change Status 選択したレコードのステータスを変更します。
Stop Workflow 現在のワークフローを停止します

ワークフローの例

この例では、バックグラウンドで実行される単純なワークフローを作成して、新しく作成された連絡先レコードを特定のユーザーに割り当ててから、ウェルカムメールを顧客に送信します。

Step 1 − [設定]→[プロセス]に移動します。

Step 2 − [新規]をクリックします。

Step 3 − CreateProcessウィンドウで、次の詳細を入力します−

Process Name −新規顧客ワークフロー(これは任意の名前にすることができます)

Category −ワークフロー

Entity −連絡先(これはワークフローを作成するエンティティになります。この場合は連絡先です)

Run this workflow in the background (recommended)−バックグラウンドの非同期ワークフローを作成しているため、このオプションをオンにします。最後に、[OK]をクリックします。

Step 4 − [新しいプロセス]ウィンドウで、次の詳細を入力します−

Activate As −プロセス

Scope −ユーザー

Start when −レコードが作成されます

クリック Add Step →レコードの割り当て。

Step 5−ワークフローに追加された新しいステップが表示されます。このステップでは、作成したすべての連絡先を割り当てるユーザーを指定します。ステップの名前を次のように入力しますAssign Record to Team。[割り当て]オプションは、ワークフローを作成するエンティティ(この場合は連絡先)としてデフォルトで設定されます。ルックアップアイコンをクリックします。

Step 6− [ルックアップ]ウィンドウで、必要なユーザーを選択します。レコードを割り当てる特定のチームを選択することもできます。[追加]をクリックします。

Step 7− [ステップの追加]→[電子メールの送信]をクリックして、別のステップを追加します。このステップでは、顧客への電子メールの送信を構成します。

Step 8−新しいステップが追加されます。その名前を「顧客にメールを送信」として入力します。[プロパティの設定]をクリックします。

Step 9 −電子メールを設定する次のウィンドウで、次の操作を実行します−

From− [差出人]フィールドをクリックします。右側のパネルで、OwningUserとUserを選択します。[追加]→[OK]をクリックします。

To− [宛先]フィールドをクリックします。右側のパネルで、[連絡先]と[連絡先]を選択します。[追加]→[OK]をクリックします。

Subject −関連する件名を入力します。

Body −関連する本文の内容を入力します。

Step 10 − [保存]をクリックしてから[アクティブ化]をクリックします。

Step 11 −次の[プロセスのアクティブ化の確認]ポップアップで、[アクティブ化]をクリックします。

Step 12− [連絡先]タブに移動して、新しい連絡先を作成します。レコードを保存して新しい連絡先を作成するとすぐに、ワークフローで構成したユーザーに設定された所有者フィールドが表示されます。また、[アクティビティ]タブをクリックすると、この連絡先に対して作成されているメールアクティビティが表示されます。これにより、ワークフローが正常に実行されたことが確認されます。

ワークフローとプラグイン

ワークフローとプラグインの両方を使用して、CRM機能を拡張および自動化できます。多くのシナリオでは、両方のアプローチを相互に交換して使用できます。たとえば、顧客に電子メールを送信するという単純な要件がある場合は、プラグインまたはワークフローを介してそれを行うことができます。

では、ワークフローとプラグインのどちらを作成するかをどのように選択しますか?次のリストは同じことを説明しようとしています-

  • プラグインとワークフローはどちらも同期ロジックと非同期ロジックの両方を実行するために使用できますが、プラグインは一般に同期ロジックに適していますが、ワークフローは非同期ロジックに適しています。

  • 一般に、複雑なビジネスロジックを実装するには、ワークフローよりもプラグインが優先されます。ワークフローは、比較的簡単な機能(電子メールの送信、ユーザーの割り当てなど)を実現する場合に適しています。

  • プラグインはコーディングを使用して開発する必要がありますが、ワークフローはワークフローの知識がなくてもビジネスユーザーが直接構成できます。

  • ワークフローはオンデマンドで実行できます。したがって、ユーザーがロジックを手動で実行したいという要件がある場合は、ワークフローの方が適しています。

  • パフォーマンスへの影響から、同期プラグインは、リクエストの頻度が高いシナリオでのリアルタイムワークフローと比較して、より優れたパフォーマンス(およびスループット)を提供します。

結論

この章では、CRMの非常に重要な機能の1つであるワークフローを紹介しました。最初に同期/非同期ワークフロー、メッセージ、スコープ、ステップを理解し、最後にワークフローの作成と実行の実際の例を確認しました。最後に、ワークフローとプラグインの違いを確認しました。