Microsoft-crm-workflow-processes
ワークフロープロセス
CRMのワークフローを使用すると、CRM内のシンプルで複雑なビジネスプロセスを自動化できます。 すぐに使えるCRM機能を使用してワークフローを作成するか、複雑なワークフローを実装するための.NETコードでカスタムワークフローを作成できます。 ワークフロープロセスはバックグラウンドまたはリアルタイムで実行され、オプションでユーザー入力が必要になる場合があります。
ワークフローは、特定の条件に基づいてトリガーすることも、ユーザーが手動で開始することもできます。 内部的には、CRMワークフローはWindows Workflow Foundationを使用して実装されます。 この章では、ワークフローの構成について学習します。
ワークフローの構成には、次の主要な部分があります(順番に)-
- ワークフローを実行するエンティティを構成します
- ワークフローを同期的に実行するか非同期的に実行するかを構成します
- ワークフローを実行するメッセージ(イベント)を構成します
- ワークフローを実行するスコープを構成します
- ワークフローのステージとステップ(アクション)を構成する
同期/非同期ワークフロー
ワークフローを作成すると、ワークフローをリアルタイム(同期)またはバックグラウンド(非同期)のどちらで実行するかを決定する[このワークフローをバックグラウンドで実行(推奨)]オプションが表示されます。
一般に、推奨されるアプローチは、使用可能な場合にシステムリソースを使用するため、バックグラウンドでワークフローを実行することです。 ただし、リアルタイムワークフローからバックグラウンドワークフロー、またはその逆にいつでも切り替えることができます。
ワークフローメッセージ
ワークフローは、次のように特定のイベントに登録できます-
- レコードが作成されたとき
- レコードの状態が変化したとき
- レコードが割り当てられたとき
- レコードフィールドの値が変更されたとき
- レコードが削除されたとき
ワークフローの範囲
ワークフローを使用すると、ワークフローを実行する範囲を設定できます。 サポートされているワークフローの範囲は次のとおりです-
User | Workflow will run only on the records owned by the same user as the workflow user. |
Business Unit | Workflow will run on the records owned by the users of the business unit same as the workflow user. |
Parent Child Business Units | Workflow will run on the records owned by the users of the business unit same as the workflow user as well as any child business units. |
Organization | Workflow will run on records owned by any user in CRM. |
ワークフローの手順
CRMのワークフローは、ワークフローが従う一連のステップの組み合わせです。 これらのステップを論理的な段階に分割することもできます。 次の手順は、CRMワークフローでサポートされています-
Conditional Steps |
|Check Condition |Specifies a logical “if (condition) - then” statement. |Conditional Branch |Specifies a logical “else – if – then” statement. This can only be used with a Check Condition. |Default Action |Specifies a logical “else” statement. This can only be used with a Check Condition.
Wait Steps |
|Wait Condition |Waits until a specific condition is met. Not applicable for real-time workflows. |Parallel Wait Branch |Specifies an alternative wait condition with a set of additional steps that can be performed once the initial criteria is met.
Action Steps |
|Create Record |Creates a record of the specified entity with the specified default values. |Update Record |Updates the selected record with specified or dynamic values. |Assign Record |Assigns the selected record to a user or team. |Send Email |Sends an email. |Perform Action |Specifies the custom workflow steps (and actions). These custom steps have to be developed by a CRM developer. |Change Status |Changes the status of the selected record. |Stop Workflow |Stops the current workflow
ワークフローの例
この例では、バックグラウンドで実行される単純なワークフローを作成し、新しく作成された連絡先レコードを特定のユーザーに割り当てて、顧客にウェルカムメールを送信します。
- ステップ1 *-[設定]→[プロセス]に移動します。
- ステップ2 *-[新規]をクリックします。
- ステップ3 *-CreateProcessウィンドウで、次の詳細を入力します-
プロセス名-新しい顧客ワークフロー(これは任意の名前にすることができます)
カテゴリ-ワークフロー
エンティティ-連絡先(これは、ワークフローを作成するエンティティになります。 私たちの場合は連絡先です)
このワークフローをバックグラウンドで実行する(推奨)-バックグラウンドの非同期ワークフローを作成しているため、このオプションをオンにします。 最後に、[OK]をクリックします。
- ステップ4 *-[新しいプロセス]ウィンドウで、次の詳細を入力します-
アクティブ化-プロセス
スコープ-ユーザー
開始時に-レコードが作成されます
ステップの追加→レコードの割り当てをクリックします。
ステップ5 *-ワークフローに新しいステップが追加されます。 このステップでは、作成されたすべての連絡先を割り当てるユーザーを指定します。 ステップの名前を「 *Assign Record to Team 」と入力します。 Assignオプションは、ワークフローを作成するエンティティとしてデフォルトで設定されます(この場合はContact)。 Lookupアイコンをクリックします。
- ステップ6 *-[検索]ウィンドウで、必要なユーザーを選択します。 レコードを割り当てる特定のチームを選択することもできます。 追加をクリックします。
- ステップ7 *-[ステップの追加]→[メールの送信]をクリックして、別のステップを追加します。 このステップでは、顧客へのメール送信を設定します。
- ステップ8 *-新しいステップが追加されます。 名前を「顧客にメールを送信」と入力します。 プロパティの設定をクリックします。
- ステップ9 *-メールを設定する次のウィンドウで、次の操作を実行します-
*From* -Fromフィールドをクリックします。 右側のパネルで、OwningUserとUserを選択します。 [追加]→[OK]をクリックします。
*To* -Toフィールドをクリックします。 右側のパネルで、「連絡先」および「連絡先」を選択します。 [追加]→[OK]をクリックします。
件名-関連する件名を入力します。
*Body* -関連するBodyコンテンツを入力します。
- ステップ10 *-[保存]をクリックし、[アクティブ化]をクリックします。
- ステップ11 *-後続のプロセスアクティブ化確認ポップアップで、アクティブ化をクリックします。
- ステップ12 *-[連絡先]タブに移動して、新しい連絡先を作成します。 レコードを保存して新しい連絡先を作成するとすぐに、ワークフローで構成したユーザーに設定された[所有者]フィールドが表示されます。 また、[アクティビティ]タブをクリックすると、この連絡先に対して作成されているメールアクティビティが表示されます。 これにより、ワークフローが正常に実行されたことが確認されます。
ワークフローとプラグイン
ワークフローとプラグインの両方を使用して、CRM機能を拡張および自動化できます。 多くのシナリオでは、両方のアプローチを相互に置き換えて使用できます。 たとえば、顧客にメールを送信するという単純な要件がある場合、プラグインまたはワークフローを介してそれを行うことができます。
では、ワークフローを作成するかプラグインを作成するかをどのように選択しますか? 次のリストは同じことを説明しようとします-
- プラグインとワークフローの両方を使用して同期および非同期ロジックを実行できますが、プラグインは一般に同期ロジックに優先され、ワークフローは非同期ロジックに優先されます。
- 一般に、複雑なビジネスロジックを実装するには、ワークフローよりもプラグインが優先されます。 比較的簡単な機能(電子メールの送信、ユーザーの割り当てなど)を実現する場合は、ワークフローが優先されます。
- プラグインはコーディングを使用して開発する必要がありますが、ワークフローは、ワークフローの知識がなくてもビジネスユーザーが直接構成できます。
- ワークフローはオンデマンドで実行できます。 したがって、ユーザーが何らかのロジックを手動で実行したいという要件がある場合、ワークフローの方が適しています。
- パフォーマンスへの影響から、同期プラグインは、リクエスト頻度が高いシナリオでのリアルタイムワークフローと比較して、より良いパフォーマンス(およびスループット)を提供します。
結論
この章では、CRMの非常に重要な機能の1つであるワークフローについて説明しました。 最初に同期/非同期ワークフロー、メッセージ、スコープ、手順を理解し、最後にワークフローの作成と実行の実際の例を見てみました。 最後に、ワークフローとプラグインの違いを確認しました。