次の方法で共有


生産性向上自動マクロを使用する

生産性自動化マクロを使用すると、次のタスクを自動化できます。

  • レコードを開いて更新する
  • ビューを開く
  • ケースの解決
  • ナレッジベース検索する
  • レコードのクローン
  • 別のエージェントスクリプトにフォーカスを設定する
  • 電子メール テンプレートを開く
  • フォームフィールドの自動入力
  • セッションコンテキスト内の変数と値を設定および取得する

さまざまなマクロで何度でも生産性自動化を使用して、モデル駆動型アプリの操作を自動化して実行できます。

次のセクションでは、マクロの作成に使用できるさまざまな生産性自動化アクションについて説明します。

新しいフォームを開いてレコードを作成する

新しいフォームを開いてレコードを開きます。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティの論理名 開くエンティティの論理名称を指定します。
エンティティ フォーム ID フォーム ID を指定します。
Attribute Name 属性の論理名称を指定します。 フィールドに事前に値を入力するには、そのアプリケーションの属性名を指定する必要があります。
属性値 属性の値を指定します。 属性フィールドに事前に値を入力するには、そのアプリケーションの属性値を指定する必要があります。

注意Note

このアクションでは、ルックアップ値を設定するための特定のパターンが必要です。 関連するレコード ID、レコードの種類、レコード名を、単一のルックアップに対して個別の属性として渡す必要があります。

例 1: 既存のケースから新しいタスクの作成

ケースからタスクを開くためのマクロを作成するには次の手順を実行します。

  1. 次の属性を持つタスクを作成する 新しいフォームを開いてレコードを作成する アクションを追加します。
    • 件名: データ パラメータを使用して取得されたケース番号。
      • 属性名: 件名
      • 属性値: フォローアップ タスクの再評価 $(anchor.ticketnumber)
    • 説明: oData クエリを使用して取得されたテキスト文字列と顧客の電子メール アドレスの組み合わせ。
      • 属性名: 説明
      • 属性値: 顧客のメールを確認: {$odata.contact.emailaddress1.?$filter=contactid eq '{anchor._customerid_value}'}
    • 件名:顧客記録。
      • 属性名: regardingobjectid
      • 属性値: ${anchor.incidentid}
      • 属性名: regardingobjectidtype
      • 属性値: incident
      • 属性名: regardingobjectidname
      • 属性値: ${anchor.title}
  2. レコードの保存 アクションを追加します。

例 2: 会話から新しいケースを作成する

会話からケースを開くためのマクロを作成するには次の手順を実行します。

  1. 次の属性を持つ 新たなフォームを開いてレコードを作成する のアクションを追加します。
    • 件名: データ パラメータを使用して取得された会話。
      • 属性名: 件名
      • 属性値: $(customerName) を使ったフォローアップ
    • 説明: oData クエリを介して取得されたテキスト文字列と顧客の電子メール アドレスの組み合わせ。
      • 属性名: 説明
      • 属性値: 顧客のメールを確認: {$odata.contact.emailaddress1.?$filter=contactid eq '{customerRecordid}'}
    • 件名:顧客記録。
      • 属性名: regardingobjectid
      • 属性値: ${customerRecordid}
      • 属性名: regardingobjectidtype
      • 属性値: ${customerEntityName}
      • 属性名: regardingobjectidname
      • 属性値: ${customerName}
  2. レコードの保存 アクションを追加します。

既存のレコードを開く

既存のレコード フォームが開きます。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティの論理名 開くエンティティの論理名称を指定します。
エンティティ レコード ID エンティティ レコード の ID を指定します。
エンティティ フォーム ID フォーム ID を指定します。

例1: 既存のケースから製品レコードを開く

既存のケースから製品レコードを開くマクロを作成するには、次の属性を持つケースから製品 ID を読み取る 既存のレコードを開く アクションを追加します:

  • エンティティの論理名: product
  • エンティティ レコード ID: ${anchor._productid_value}

例 2: 会話から顧客レコードを開く

継続中の会話から顧客レコードを開くマクロを作成するには、次の属性を持つ会話から顧客 ID を読み取る 既存のレコードを開く アクションを追加します:

  • エンティティ レコード ID: ${customerEntityName}
  • エンティティの論理名: ${customerRecordid}

フォームフィールドの自動入力

フィールドからの更新。 マクロアクションは、Dataverse フォームが自動保存をトリガーするまで新しい値を自動的に保存しません。 別のマクロアクションを使用してレコードを保存できます。 または、ビジネス要件に基づいて、既存のレコードを更新 マクロを使用することもできます。 このアクションは、フォーカスされたタブのフォームに適用され、アクションで説明したのと同じエンティティ タイプを持ちます。

Field プロパティ
エンティティの論理名 更新するエンティティの論理名称を指定します。

注意Note

このマクロでは、ルックアップ値を設定するための特定のパターンが必要です。 関連するレコード ID、レコードの種類、レコード名を、単一のルックアップに対して個別の属性として渡す必要があります。

例1: タスクフォームを開き、ケースからフォームフィールドに値を入力します

タスク フォームを開き、アンカー タブの値をフォームに入力するマクロを作成するには、次の手順を実行します。

  1. 次のパラメータを持つタスク レコードを作成する 新しいフォームを開いてレコードを開く アクションを追加します。
    • エンティティの論理名: task
  2. 次の属性を使用して、アンカー タブであるケース フォームの値を新しいタスク レコードに入力する 自動入力フォーム フィールド を追加します。
    • エンティティの論理名: task
    • 属性名: 件名
    • 属性値: フォローアップ タスクの関係 ${anchor.ticketnumber}
    • 属性名: regrdingobjectid
    • 属性値: {{"id":"${anchor.incidentid}","name":"${anchor.title}","entitytype":"incident"}}

例 2: タスクフォームを開き、会話からフォームフィールドに値を入力します

タスク フォームを開き、データ フォームを使用して会話から値をフォームに入力するマクロを作成するには、次の手順を実行します。

  1. 次のパラメータを持つタスク レコードを作成する 新しいフォームを開いてレコードを開く アクションを追加します。
    • エンティティの論理名: task
  2. 次の属性を使用して、会話から値を新しいタスク レコードに入力する 自動入力フォーム フィールド を追加します。
    • エンティティの論理名: task
    • 属性名: 件名
    • 属性値: フォローアップ タスクの関係 ${anchor.customerName}
    • 属性名: regrdingobjectid
    • 属性値: "${customerName}","entitytype":"${customerEntityName}"}}

既存のレコードを更新

既存のレコードを更新します。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティの論理名 更新するエンティティの論理名称を指定します。
このフィールドは必須です。
エンティティ レコード ID エンティティ レコード の ID を指定します。
このフィールドは必須です。
Attribute Name 更新する属性論理名を指定します。
属性値 上記の属性に対して更新される属性値を指定します。

注意Note

このマクロでは、ルックアップ値を設定するための特定のパターンが必要です。 関連するレコード ID、レコードの種類、レコード名を、単一のルックアップに対して個別の属性として渡す必要があります。

例 1: タスクフォームを開き、タスクを作成して、レコードを更新する

タスク フォームを開き、データ フォームを使用して会話から値をフォームに入力するマクロを作成するには、次の手順を実行します。

  1. 次のパラメータを持つタスク レコードを作成する 新しいフォームを開いてレコードを開く アクションを追加します。
    • エンティティの論理名: task
  2. レコードの保存 アクションを追加します。
  3. 新しいタスク レコードに、Dynamics コンテンツ (レコードの保存アクション後に取得) からのレコード ID と論理名、アンカー タブの値に基づく関連オブジェクトが次の属性とともに入力される 既存のレコードの更新 を追加します。
    • エンティティ レコード ID: Entity record ID
    • エンティティの論理名: Entity logical name
    • 属性名: regardingobjectid_incident@odata.bind
    • 属性値: /incidents{${anchor.incidentid}}
  4. レコード更新マクロはバックエンド操作を実行し、タブを自動的に更新しないため、タスク フォームを更新するには、 タブを更新 セッション アクションを追加します。

注意

この例では、レコードの保存アクションタブの更新 アクションの後にフォームが更新されます。 フォームの読み込みを減らすようにマクロを設計することをお勧めします。

サポート案件の解決

このアクションは、ケースを解決するために使用されます。 このアクションには次のフィールドが含まれます。

Field プロパティ
請求対象の時間 請求可能な時間を指定します。
このフィールドは必須です。
インシデント ID 閉じたいサービス案件の ID を指定します。
このフィールドは必須です。
解決策 サポート案件の解決理由を指定します。
このフィールドは必須です。

例: ケースを解決するマクロ

ケースを解決するマクロを作成するには次の手順を実行します。 エージェントがマクロを使用してケースを解決する場合、タブは自動的に更新されないため、ユーザー エクスペリエンスを向上させるために追加の手順を実行することをお勧めします。

  1. ケースを解決するアクション アクションを追加して、請求可能な時間を数値として渡します。インシデント ID は、解決する必要があるレコード ID であり、次の属性を持ちます。
  • インシデント ID: ${anchor.incidentid}
  • 請求対象の時間: 0
  • 解決方法: Case${anchor.ticketnumber} マクロで解決
  1. 現在のタブを取得する セッション コネクタを追加します。
  2. タブを更新 セッションアクションを追加して、次の属性でタブを更新します: -タブ ID: タブ ID

定義済みのテンプレートで電子メール フォームを開く

このアクションは、定義済みのテンプレートを使用して電子メールを開く目的で使用します。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティの論理名 メールを送信するエンティティの論理名を指定します。
このフィールドは必須です。
エンティティ レコード ID メールを送信するエンティティ レコードのレコード ID を指定します。
このフィールドは必須です。
メール受信者 メールを送信するレコードの表示名を指定します。
このフィールドは必須です。
テンプレート ID メールの送信先であり、メールに表示される必要があるエンティティのタイプのメール テンプレート ID を指定します。
このフィールドは必須です。

注意Note

メール受信者 フィールドにはパラメータが必要ですが、フォーム内のユーザーに自動的にマッピングされません。 値を適切に入力するには、フォーム フィールドの自動入力 マクロを使用することをお勧めします。

例 1: ケースからメールテンプレートを開く

カテゴリ ケースのメール テンプレートを開くマクロを作成するには、次の手順を実行します。

  1. 定義済みテンプレートを使用してメール フォームを開く アクションを追加します。このアクションは、テンプレート ID に基づいてテンプレートを追加し、メール フォームに 宛先 および 関連 フィールドを入力します。 この属性は次のとおりです。
    • テンプレート ID : 必要なメール テンプレートの ID を指定します。
    • エンティティ レコード ID: ${anchor.incidentid}
    • メール受信者: ${anchor._customerid_value@OData.Community.Display.V1.FormattedValue}
    • エンティティ論理名: incident
  2. フォーム フィールドの自動入力 アクションを追加して、宛先 フィールドと関連フィールドに入力します。 この属性は次のとおりです。
    • エンティティの論理名: Email
    • 属性名: to
    • 属性値: [{"id":"${anchor._customerid_value}","entitytype":"contact","name":"${anchor._customerid_value@OData.Community.Display.V1.FormattedValue}"}]
    • 属性名: regardingobjectid
    • 属性値: [{"id":"${anchor.incidentid}"},"name":"${anchor.title}","entitytype":"incident"}]

例 2: 会話からメールテンプレートを開く

カテゴリ連絡先のメール テンプレートを開くマクロを作成するには、次の手順を実行します。

  1. 定義済みテンプレートを使用してメール フォームを開く アクションを追加します。このアクションは、テンプレート ID に基づいてテンプレートを追加し、メール フォームに 宛先 および 関連 フィールドを入力します。 この属性は次のとおりです。
    • テンプレート ID : 必要なメール テンプレートの ID を指定します。
    • エンティティ レコード ID: ${customerRecordId}
    • メール受信者: ${customerName}
    • エンティティ論理名: ${customerEntityName}
  2. フォーム フィールドの自動入力 アクションを追加して、宛先 フィールドと関連フィールドに入力します。 この属性は次のとおりです。
    • エンティティの論理名: Email
    • 属性名: to
    • 属性値: [{"id":"${customerRecordId}", "entitytype":"contact","name":"${customerName}"}]
    • 属性名: regardingobjectid
    • 属性値: [{"id":"${customerRecordId}"},"entitytype":"contact","name": "${customerName}"}]|

例 3: 複数の受信者を含むメールテンプレートを開く

カテゴリ ケースのメール テンプレートを開き、メールの宛先フィールドに複数の受信者を設定するマクロを作成するには、次の手順を実行します。

  1. 定義済みテンプレートを使用してメール フォームを開く アクションを追加します。このアクションは、テンプレート ID に基づいてテンプレートを追加し、メール フォームに 宛先 および 関連 フィールドを入力します。 この属性は次のとおりです。
    • テンプレート ID : 必要なメール テンプレートの ID を指定します。
    • エンティティ レコード ID: ${customerRecordId}
    • メール受信者: ${customerName}
    • エンティティ論理名: ${customerEntityName}
  2. フォーム フィールドの自動入力 アクションを追加して、宛先 フィールドと関連フィールドに入力します。 宛先フィールドには、顧客のメール ID とカスタム フィールド セカンダリ連絡先 を入力する必要があります。 この属性は次のとおりです。
    • エンティティの論理名: phonecall
    • 属性名: 件名
    • 属性値: フォローアップ タスクの関係ケース ${anchor.ticketnumber}
    • 属性名: to
    • 属性値: [{"id":"${anchor._customerid_value}","type":"${anchor._customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname}","name":"${anchor._customerid_value@OData.Community.Display.V1.FormattedValue}", {"id":"${anchor._cr27b_secondarycontact_value}","type":"contact","name":"${anchor._cr27b_secondarycontact_value@OData.Community.Display.V1.FormattedValue}"}]
    • 属性名: regardingobjectid
    • 属性値: [{"id":"${anchor.incidentid}"},"name":"${anchor.title}","entitytype":"incident"}]

入力した語句でサポート情報を検索

このマクロは、事前入力された語句に基づいて、サポート情報記事を検索します。 このアクションには次のフィールドが含まれます。

Field プロパティ
検索文字列 サポート情報記事の検索に使用する語句を指定します。 コンテキスト データを提供できます。 たとえば、コンテキスト データ パラメータは、サポート案件のタイトルにすることができます。
タブ ラベル タブのラベルを指定します。

例: 文字列に基づいて記事を検索する

フレーズに基づいて検索を実行するマクロを作成するには、次の手順を実行します。

  1. ナレッジベースで入力されたフレーズを検索する アクションを追加して、ケース タイトルを検索語句として取得します。 属性は次のとおりです:
    • タブ ラベル: 検索中 ${anchor.title}
    • 検索文字列: ${anchor.title}

サポート情報記事を開く

サポート情報記事を開きます。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティ レコード ID 開きたいサポート情報記事のエンティティ ID を指定します。
このフィールドは必須です。

例: GUID を渡してナレッジベースの記事を開く

ナレッジ記事 ID に基づいてナレッジ ベース記事を開くマクロを作成するには、次の手順を実行します。 | ナレッジ ベース記事を開くための ナレッジ ベース記事を開く アクションを追加します。このアクションは、ナレッジ ベース作成者が記事を修正するために使用します。 この属性は次のとおりです。
エンティティレコード ID : ナレッジ ベース記事のエンティティ ID を指定します。|

レコード グリッドを開く

このアクションは、レコード グリッドを開くために使用されます。 このアクションには次のフィールドが含まれます。

Field プロパティ
エンティティの論理名 グリッドを開くエンティティの論理名を指定します。
このフィールドは必須です。
ビュー ID 開きたいビューの ID を指定します。
このフィールドは必須です。
ビューの種類 ビューの種類を指定します。
このフィールドは必須です。

例 1: 製品一覧を開く

製品リストを開くマクロを作成するには、ビュー タイプと ID が指定されていないため、ユーザーのデフォルト ビューを開く レコードグリッドを開く アクションを追加します。 次の属性を指定します: エンティティ論理名: incident

例 2: インシデント一覧を開く

インシデントのリストを開くマクロを作成するには、指定されたビュー タイプを開く レコードグリッドを開く アクションを追加します。 属性は次のとおりです:

  • エンティティの論理名: incident
  • 表示タイプ: ビューの種類を指定します。
  • ID の表示: 開くテーブル、ビュー、またはダッシュボード レコードの ID を指定します

語句に基づいて関連性検索を実行

事前入力された語句に基づいて、サポート情報記事を検索します。 このアクションには次のフィールドが含まれます。

Field プロパティ
検索文字列 関連性検索に使用する語句を指定します。 コンテキスト データを提供できます。 たとえば、コンテキスト データ パラメータは、サポート案件のタイトルにすることができます。
このフィールドは必須です。

例 1: 同じケースタイトルを持つケースを検索する

ケース タイトルを使用して類似ケースを検索するマクロを作成するには、フレーズに基づいて関連性検索を実行し アクションを追加して、検索文字列${anchor.title} に設定してアンカータブのケースタイトルを関連性検索のパラメータとして使用します

現在のレコードの複製

現在のタブで開いている既存のレコードをクローンするために使用されます。このアクションはフィールドをコピーするだけで、レコードは保存されません。 このアクションには次のフィールドが含まれます。

Field プロパティ
レコードのタイトル クローンするレコードのタイトルを指定します。
このフィールドは必須です。

例: 現在のレコードの複製を使用して子ケースを作成する

既存のケースのクローンを作成し、それを親ケースにするマクロを作成するには、次の手順を実行します。 元のケースは、子ケースとして設定されます。

  1. 元のケースを複製し、複製されたケースを親として設定する 現在のレコードを複製 アクションを追加します。 元のケースは、子ケースとして設定されます。 レコードタイトル 属性を${anchor.ticketnumber} の子ケースに設定します。
  2. 指定された属性を子ケースに入力する フォームフィールドの自動入力 を追加します。 チケット番号はレコード保存時に設定されます。 属性は次のとおりです:
    • エンティティの論理名: incident
    • 属性名: parentcaseid
    • 属性値: [{"id": "${anchor.incidentid}","name":"${anchor.title}","entitytype":"incident"}]
    • 属性名: ticketnumber
    • 属性値:
  3. 子ケースのチケット番号を生成して設定する 記録を保存する アクションを追加します。
|

入力レコードの複製

既存のレコードをクローンします。 このアクションはフィールドをコピーするだけで、レコードは保存されません。 このアクションには次のフィールドが含まれます。

Field プロパティ
レコードのタイトル レコードのタイトルを指定します。
エンティティ レコード ID エンティティ レコードの ID を指定します。
このフィールドは必須です。
エンティティの論理名 クローンするエンティティの論理名を指定します。
このフィールドは必須です。

例: クローン入力レコードを使用して子ケースを作成する

既存のケースをクローンするためのマクロを作成するには次の手順を実行します。 既存のケースは親ケースとして設定され、複製されたケースは子ケースとして設定されます。

  1. 元のケースを複製し、複製されたケースを子として設定する 現在のレコードを複製 アクションを追加します。 元のサポート案件は、親サポート案件として設定されます。 属性は次のとおりです:
    • エンティティ レコード ID: ${anchor.incidentid}
    • エンティティの論理名: incident
    • レコードタイトル: ${anchor.title} の子ケース
  2. 指定された属性を子ケースに入力する フォームフィールドの自動入力 を追加します。 ticketnumber はレコード保存時に設定されます。 属性は次のとおりです:
    • エンティティの論理名: Entity logical name
    • 属性名: parentcaseid
    • 属性値: [{"id": "${anchor.incidentid}","name":"${anchor.title}","entitytype":"incident"}]
    • 属性名: ticketnumber
    • 属性値:
  3. 子ケースの ticketnumber を生成して設定する 記録を保存する アクションを追加します。
|

エージェント スクリプト フォーカスの設定

次に実行する必要があるエージェント スクリプトにフォーカスを設定します。 エージェント スクリプトは、アプリのサイド ペインの エージェント スクリプト ドロップダウンでフォーカスが設定されています。 たとえば、エージェントが払い戻しの苦情を処理する必要がある場合です。 エージェントは、挨拶、苦情リクエストの開始、払い戻しの処理にさまざまなスクリプトを使用します。 払い戻しプロセスの各段階で実行する必要があるエージェント スクリプトにフォーカスを設定するマクロを定義できます。 このアクションには次のフィールドが含まれます。

Field プロパティ
エージェント スクリプトの一意の名前 フォーカスする必要があるエージェント スクリプトを指定します。

例: ケースの優先度を更新し、別のエージェント スクリプトにフォーカスを設定する

ケースの優先度を高に更新し、別のエージェント スクリプトに切り替えるマクロを作成するには、次の手順を実行します。

  1. 次の属性を持つ 既存のレコードを更新 アクションを追加します。
    • エンティティ レコード ID: ${anchor.incidentid}
    • エンティティの論理名: incident
    • 属性名: 優先コード
    • 属性値: 1
  2. エージェント スクリプトのフォーカスを設定 アクションを追加し、エージェント スクリプトの一意の名前new_agentscript_highpriority に設定します。
  3. 現在のタブを取得する セッション コネクタを追加します。
  4. 更新 タブ セッション コネクタを追加します。

レコードを保存

すべての必須フィールドにデータを入力した後で、レコードを保存します。 必須フィールドが入力されていないか、空白のままになっている場合、アクションは失敗します。

次のステップ

セッション コネクタ マクロを使用してマクロを作成する