- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報

Maestro ユーザー ガイド
高度なプロセスは、複数のオートメーション、人間による承認、AI エージェントを組み合わせ、意思決定ロジックや監視機能と連携して、スケーリングとガバナンスを実現できます。このセクションでは高度なフローを紹介し、より複雑なシナリオをすぐに活用できるようにします。
In this example, the fictional company InsurePath identified an invoice processing workflow with UiPath® Process Mining. They use UiPath IXP and Document Understanding to process incoming invoices and extract invoice data. After extraction, the finance and accounting teams still process most invoices manually, including resolving vendor disputes.
プロセス オーナーは、プロセス実装者および管理者とともに、UiPath Maestro™ とプラットフォームの機能を活用して、請求書処理の問題に対処することを決定しました。
このシナリオでは、依存リソースを構成する必要があります。
Data Fabric: APInvoice エンティティ
- Data Fabric に移動します。
- [インポート/エクスポート] ドロップダウン メニューで、[スキーマをインポート] を選択します。
- Schema(APInvoice).json ファイルをインポートします。
- APInvoice エンティティに対応する [インポート] チェックボックスをオンにします。
- [インポート] を選択します。
Orchestrator: 共有フォルダー
Orchestrator の共有フォルダーを使用して、「使い方」系リソースを整理します。
Orchestrator に移動し、共有/使い方フォルダーを作成します。Orchestrator でのフォルダーの管理については、こちらをご覧ください。
オートメーション: Invoice to PO matching
1 で始まる場合、値は Yes になります。それ以外の場合は、No です。
- Studio Web に移動し、[新規作成] ドロップダウン リストから [インポート] を選択します。このファイルを使用してインポートします。
- プロジェクトを UiPath Studio Web で開き、Orchestrator テナント プロセス フィードにパブリッシュします。
- Orchestrator に移動し、共有/使い方フォルダーに移動します。
- [オートメーション] タブを開き、[プロセス] を選択して [プロセスを追加] を選択します。
- [パッケージ ソース名] フィールドで「Invoice.To.PO.Matching」を選択し、[次へ] を選択します。
- [パッケージ要件] セクションで、[次へ] を選択します。
- [表示名] に「Invoice to PO matching」と入力し、[作成] を選択します。
プロジェクトのパブリッシュとデプロイについて詳しくは、「Studio Web - プロジェクトをパブリッシュする」をご覧ください。
オートメーション: Post invoice to SAP
fail の場合、プロセスはランタイム例外をスローします。この例外はインスタンス管理で修復できます。
- Studio Web に移動し、[新規作成] ドロップダウン リストから [インポート] を選択します。このファイルを使用してインポートします。
- プロジェクトを Studio Web で開き、Orchestrator テナント プロセス フィードにパブリッシュします。
- Orchestrator に移動し、共有/使い方フォルダーに移動します。
- [オートメーション] タブを選択し、[プロセス] を選択して [プロセスを追加] を選択します。
- [パッケージ ソース名] フィールドで「Post.Invoice.To.SAP」を選択し、[次へ] を選択します。
- [パッケージ要件] セクションで、[次へ] を選択します。
- [表示名] に「Post invoice to SAP」と入力し、[作成] を選択します。
プロジェクトのパブリッシュとデプロイについて詳しくは、「Studio Web - プロジェクトをパブリッシュする」をご覧ください。
- Agents に移動し、[今すぐエージェントを構築する] を選択します。
- 次の詳細を入力します。
名前: Resolve Discrepancies Agent
説明: 不一致の解決エージェント
システム プロンプト: あなたは請求書の不一致を解決するエキスパートです
ユーザー プロンプト: {{InvNum}} が 11 で始まる場合は、その請求書を解決します。それ以外の場合は、請求書を却下し、却下の {{Reason}} をNeeds human review since the PO Number doesn't match the Invoiceとします。請求書を却下する場合は {{Decision}} をRejectedに設定し、承認する場合は {{Decision}} をResolvedに設定します。
- [引数] を選択し、[エディター] オプションを使用して以下を入力します。
入力
{ "type": "object", "properties": { "InvNum": { "type": "string" }, "PONum": { "type": "string" } }, "required": [ "InvNum" ] }{ "type": "object", "properties": { "InvNum": { "type": "string" }, "PONum": { "type": "string" } }, "required": [ "InvNum" ] }出力{ "type": "object", "properties": { "Decision": { "type": "string" }, "Reason": { "type": "string" } }, "required": [] }{ "type": "object", "properties": { "Decision": { "type": "string" }, "Reason": { "type": "string" } }, "required": [] } - Orchestrator テナント プロセス フィードにパブリッシュします。
- Studio Web に移動し、[新規作成] ドロップダウン リストから [インポート] を選択します。このファイルを使用してインポートします。
- Studio Web 内でプロジェクトを開き、Orchestrator テナント プロセス フィードにパブリッシュします。
You may need to navigate to
MainForm_MainForm_load.xamland update entities. From Data manager, go to Entities, and select Update entities before you can publish. - Orchestrator に移動し、共有/使い方フォルダーに移動して、[オートメーション] タブを開き、[アプリ] を選択して [アプリをデプロイ] を選択します。
まず、エンドツーエンドのプロセスをモデリングしてから、コンポーネントを設定します。
新しい種類の Studio プロジェクトとして、エージェンティック プロセスを作成します。
- Automation Cloud™ のテナントに移動します。
- 左側のレールで、製品のリストから [Maestro] を選択します。
- Maestro のランディング ページで [モデル化を開始] を選択します。新しいエージェンティック プロセスが開きます。
- 右クリックして、プロジェクトの名前を「{自分のイニシャル} Invoice Process」に、プロセスの名前を「Invoice Process」に変更します。
エージェンティック プロセスは、既定でソリューションの一部です。ソリューションについて詳しくは、『Studio Web ユーザー ガイド』をご覧ください。
- 開始要素を選択し、名前フィールドに「Invoice received」と入力します。
- ツールボックスから [追加: テキストの注釈] を選択します。注釈に「Data Fabric trigger」と入力します。
- 開始要素を選択し、ツールボックスから [タスクを追加] を選択して、タスク名に「Invoice to PO matching」と入力します。
- Invoice to PO matching タスクを選択し、ツールボックスから [追加: テキストの注釈] を選択して「Automation」と入力し、これをオートメーション タスクにすることを示します。
Invoice to PO matching の出力パス
ゲートウェイに対して 2 つの出力パスを設定し、Invoice to PO matching オートメーションの結果に基づいて、それらのパスのうち 1 つのみをたどるようにします。
- Invoice to PO matching タスクを選択し、ツールボックスから [追加: 排他的ゲートウェイ] を選択して名前に「Is resolution required?」と入力します。
- ゲートウェイを選択し、ツールボックスから [追加: タスク] を選択して、名前に「Invoice approval」と入力します。これを HITL タスクにすることを示す注釈として「Action Center Action app」を追加します。
- ゲートウェイとタスクの間に作成した線を選択し、デザイナーの右上にある [プロパティ パネルを開く] ボタンを押して、名前を「No」に変更します。
- ゲートウェイを再度選択し、ツールボックスから [追加: タスク] を選択して、名前に「Resolve discrepancies」と入力します。このタスクをドラッグしてゲートウェイの下に配置します。これがエージェント タスクであることを示す注釈として「Agent」を追加します。
- ゲートウェイとタスクの間に作成した線を選択し、プロパティ パネルを開いて、名前を「Yes」に変更します。
Invoice approval の出力パス
- Invoice approval タスクを選択し、別の排他的ゲートウェイを追加します。
- ゲートウェイを選択し、ツールボックスから [追加: タスク] を選択して、名前に「Post invoice to SAP」と入力します。これをオートメーション タスクにすることを示す注釈として「Automation」を追加します。
- ゲートウェイとタスクの間に作成した線を選択し、プロパティ パネルを開いて、名前を「Approve」に変更します。
- ゲートウェイを再度選択し、ツールボックスから [追加: タスク] を選択して、名前に「Notify vendor」と入力します。このタスクをドラッグしてゲートウェイの下に配置します。注釈として「Integration Service Outlook connector」を追加し、これが送信タスクとして指定される API 呼び出しであることを示します。
- ゲートウェイとタスクの間に作成した線を選択し、プロパティ パネルを開いて、名前を「Reject」に変更します。
Resolve discrepancies の出力パス
- Resolve discrepancies タスクを選択して、別の排他的ゲートウェイを追加します。
- ゲートウェイを選択し、ツールボックスから [接続] 矢印を選択します。
- Notify vendor タスクを選択し、ゲートウェイからタスクまでの線を引きます。
- ゲートウェイとタスクの間に作成した線を選択し、プロパティ パネルを開いて、名前を「Rejected」に変更します。
- [接続] ツールをもう一度使用して、ゲートウェイから Invoice approval タスクまでの線を引きます。
- ゲートウェイとタスクの間に作成した線を選択し、プロパティ パネルを開いて、名前を「Resolved」に変更します。
Resolve discrepancies のエラー境界イベント
- 左側のフル ツールボックスで [中間イベント] を選択し、Resolve discrepancies タスクにドラッグ アンド ドロップします。
- 中間イベントを選択し、ツールボックスから [要素を変更] を選択して [エラー境界イベント] を選択します。
- エラー境界イベントを選択し、ツールボックスから [追加: タスク] を選択して、タスク名に「Resolve discrepancies」と入力します。これを人間参加型タスクにすることを示す注釈として「Action Center Action app」を追加します。
- 新しい Resolve discrepancies タスクを選択します。再度 [接続] ツールを使用して、この新しいタスクからエージェント ゲートウェイまでの線を引きます。
終了イベント
- Post invoice to SAP タスクを選択し、[追加: 終了イベント] を選択して、名前に「Invoice processed」と入力します。
- Notify vendor タスクを選択し、[追加: 終了イベント] を選択して、名前に「Invoice rejected」と入力します。
おめでとうございます。これで初めての BPMN によるエンドツーエンドの業務プロセスを作成できました。今度は、このプロセスに UiPath の機能をいくつか追加します。
メッセージ開始イベント
- 開始要素を選択し、ツールボックスから [要素を変更] を選択して、[メッセージ開始イベント] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション: コネクタ イベントを待機
- コネクタ: Data Fabric
- Data Fabric の接続: Data Fabric
注: [Connect to Data Fabric] を選択して、まだ作成していない接続を作成します。
- トリガー: レコードの作成時
- オブジェクト: APInvoice
注: すべての出力は、プロセス設定で変数として自動的に使用可能になります。If you are in a shared environment, you can change the Trigger to Record Updated and configure the filter to set CreatedBy E-mail equal to your email.
Invoice to PO matching のオートメーション
- Invoice to PO matching タスクを選択し、ツールボックスから [要素を変更] を選択して、[サービス タスク] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション: RPA ワークフローを開始して待機
- オートメーション: Invoice to PO matching
- Invoice received のメッセージ開始イベントの出力をオートメーションの入力としてマッピングし、入力を設定します。[変数] 検索ダイアログを使用して変数を検索します。
- InvNum: Invoice received > 応答 > 請求書番号
- PoNum: Invoice received > 応答 > 発注書番号
- InvNum: Invoice received > 応答 > 請求書番号
Is resolution required? ゲートウェイ
- Is resolution required? ゲートウェイを選択し、[条件] を展開して [いいえ] と [はい] のパスの条件を入力します。[式エディター] を使用して条件を入力します。
- [変数を挿入] を使用して Invoice to PO matching の出力変数 ResolutionRequired を見つけて挿入し、値を「No」に設定して [保存] を選択します。
- または、以下の式をコピーして式エディターに貼り付けることもできます。
- いいえ:
vars.ResolutionRequired == "No" - はい:
vars.ResolutionRequired == "Yes"
- いいえ:
Approve invoice タスク
- Approve invoice タスクを選択し、ツールボックスから [要素を変更] を選択して、[ユーザー タスク] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション:
Create action app task - アクション*:
Invoice.Approval action app - タスクのタイトル:
{your initials} Invoice approval
- アクション:
- Invoice received のメッセージ開始イベントの出力をアプリ タスクの入力としてマッピングし、入力を設定します。[変数] 検索ダイアログを使用して、Data Fabric レコード ID の変数を検索します。
- Resolve discrepancies を選択し、ツールボックスから [要素を変更] を選択して、[サービス タスク] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション:
Start and wait for agent - オートメーション:
2-way matching agent
- アクション:
- Invoice received のメッセージ開始イベントの出力をオートメーションの入力としてマッピングし、入力を設定します。[変数] 検索ダイアログを使用して変数を検索します。
- InvNum: Invoice received > 応答 > 請求書番号
- PoNum: Invoice to PO matching > 発注書番号
Resolve discrepancies エージェントの出力ゲートウェイ
- ゲートウェイを選択し、[条件] を展開して [解決済み] と [却下済み] のパスの条件を入力します。テキスト入力ピッカーで [式エディターを開く] を選択して条件を入力します。
- 以下の式をコピーして式エディターに貼り付けます。
- 解決済み -
vars.Decision == "Resolved" - 却下済み -
vars.Decision == "Rejected"
- 解決済み -
Notify vendor 送信タスク
- Notify vendor タスクを選択し、ツールボックスから [要素を変更] を選択して、[送信タスク] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション:
Integration Servies - API execution - コネクタ:
Microsoft Outlook 365 - 接続:
{your outlook connection}注: 利用可能な接続がまだない場合は、Connect to Microsoft Outlook 365を選択します。 - アクティビティ:
Send email - トリガー:
Email sent
- アクション:
- [フィルター] セクションで、[メールを送信] アクティビティのプライマリ入力を設定します。
- 宛先: {
Invoice received>response>Invoice email} - 件名:
Invoice rejected - 本文: {
Resolve discrepancies > message} のため請求書が却下されました
- 宛先: {
- ゲートウェイを選択し、[条件] を展開して承認と却下のパスの条件を入力します。テキスト入力ピッカーで [式エディターを開く] を選択して条件を入力します。
- 以下の式をコピーして式エディターに貼り付けます。
- 承認:
vars.Action == "Approve" - 却下:
vars.Action == "Reject"
- 承認:
- Post invoice to SAP を選択し、ツールボックスから [要素を変更] を選択して、[サービス タスク] を選択します。
- プロパティ パネルを開き、[実装] セクションで次の項目を設定します。
- アクション:
Start and wait for RPA workflow - オートメーション:
Post Invoice to SAP - Invoice to PO matching タスクからの出力をオートメーションの入力としてマッピングし、入力を設定します。
- PurchaseOrderId: 失敗
注: このオートメーションを失敗させて、後でランタイムを修正できるようにします。
- アクション:
おめでとうございます。これで、最初のエージェンティック プロセスの設定がすべて完了しました。
ではデバッグに取り掛かりましょう。
- 請求書番号が x で始まる > 解決は不要です。人間参加型の Invoice Approval に移ります。
- 請求書番号が 1x で始まる > 解決が必要です。Resolve Discrepancies エージェントに移ると、エージェントは却下します。
- 請求書番号が 11 で始まる > 解決が必要です。Resolve Discrepancies エージェントに移ると、エージェントが解決します。
- ページの左上の [ステップごとにデバッグ] を選択します。注: [テストの設定] を選択すると、プロジェクトで使用されている入力変数と接続を確認できます。
- Invoice to PO matching タスクの左側にホバーし、選択してブレークポイントを追加します。注: 終了イベントのブレークポイントを設定します。これにより、デバッグ セッションを完了する前にすべての変数を検査する十分な時間を確保できます。
- [次のステップ] を選択して、実行をメッセージ開始イベントより先に移動します。
- Update the response Global variable for
the Invoice received Message start event with the following response object, then select
enter or tab to commit the change:
{ "Currency": "USD", "DueDate": "2025-02-14", "InvoiceDate": "2025-02-14", "InvoiceEmail": "petrodev71@gmail.com", "InvoiceNumber": "12345", "PONumber": "4551232", "TotalAmount": 10000, "VendorName": "Acme", "Source": 1, "Status": 6, "Id": "6F92ECF6-D1EA-EF11-90CB-6045BD93BF30", "UpdateTime": "2025-02-14T18:22:40.6233376Z", "CreateTime": "2025-02-14T12:48:19.3578548Z", "UpdatedBy": { "Email": "anthony.petro@uipath.com" }, "CreatedBy": { "Email": "anthony.petro@uipath.com" } }{ "Currency": "USD", "DueDate": "2025-02-14", "InvoiceDate": "2025-02-14", "InvoiceEmail": "petrodev71@gmail.com", "InvoiceNumber": "12345", "PONumber": "4551232", "TotalAmount": 10000, "VendorName": "Acme", "Source": 1, "Status": 6, "Id": "6F92ECF6-D1EA-EF11-90CB-6045BD93BF30", "UpdateTime": "2025-02-14T18:22:40.6233376Z", "CreateTime": "2025-02-14T12:48:19.3578548Z", "UpdatedBy": { "Email": "anthony.petro@uipath.com" }, "CreatedBy": { "Email": "anthony.petro@uipath.com" } } - Expander を選択して、値を検査したり、さらに変更したりします。
- [1 個の変数を更新] を選択し、ダイアログで [変数を更新] を選択して変更をコミットします。
- [次のステップ] または [続行] を選択して、新しい値で実行を最後に進めます。
おめでとうございます。最初のエージェンティック プロセスのデバッグがすべて完了しました。
次は、プロセスをパブリッシュしてデプロイします。
- [パブリッシュ] を選択してプロセスをパブリッシュします。
これには、プロセスが属するソリューション全体をパブリッシュする必要があります。
- Orchestrator にパブリッシュする手順については、「ソリューションをパブリッシュしてデプロイする」をご覧ください。
- Orchestrator に移動し、[オートメーション] タブで [プロセスを追加] を選択します。
- Microsoft Outlook 365 への接続画面で [接続] を選択します。
- メールの資格情報を使用して接続を完了します。新しい接続が自動的に選択されます。
- [次へ] を選択します。
- [表示名] に「
{your initials} Invoice Processing」と入力し、[作成] を選択します。
おめでとうございます。これで、最初のエージェンティック プロセスのデプロイがすべて完了しました。
今度は、ランタイム インスタンスの管理です。
- Maestro のホームページに移動します。
- [プロセスのインスタンス] ビューで
{your initials} Invoice Processingを選択し、そのプロセスの [すべてのインスタンス] ビューを開きます。 - モデルのバックグラウンドを選択すると、実行証跡のほか、グローバル変数、インシデント、アクション履歴を確認できます。モデルのノードまたは実行証跡を選択して、その実行ステップの詳細と変数を検査できます。
注: Action Center で実行が一時停止している場合は、そこで人間参加型のステップをすべて実行する必要があります。
おめでとうございます。最初のエージェンティック プロセスが完全に管理されました。
今度は、破損したプロセスを修正します。
この演習では、実行を失敗させて、インスタンス管理を使用して回復できるようにします。
- 新しいタブを開き、[Data Fabric] > [APInvoice] > [データ] に移動し、請求書番号が 2xxxx で始まるレコードを追加します。これにより、Post invoice to SAP のステップに進めることができます。
注: 共有環境の場合は、設定したフィルターに一致する [CreatedBy E-mail] を持つ既存のレコードを使用できます。
- プロセスの [すべてのインスタンス] ページに移動し、リストの [更新] ボタンを選択して、最新のインスタンスを選択します。
- 人間参加型のステップで実行が一時停止した場合は、Actions (旧 Action Center) を開き、タスクを割り当てて完了する必要があります。
-
新しいブラウザー タブを開き、左側のナビゲーション メニューで [Actions] を選択します。
- [受信トレイ] を選択し、[未割り当て] に移動します。
- タスクを見つけて選択し、[自分に割り当て] を選択します。
- [保留中] でタスクを見つけ、フォームが読み込まれたら [承認] を選択します。
- エージェンティック プロセスのタブに戻り、Post invoice to SAP のステップが失敗するのを待ってから、ノードまたは実行ステップを選択します。エラーと変数に注意してください。
- 変数を「fail」から「1234」に更新して入力を修正し、[保存] を選択します。
- [1 個の変数を更新] を選択してこの変数を更新し、コメントを追加します。
- [アクション履歴] タブで [リトライ] を選択し、コメントを追加して [インスタンスをリトライ] を選択し、新しい変数でステップをリトライします。インスタンスが完了するのを確認します。
おめでとうございます。 これで、破損したインスタンスを正常に修正できました。
前のセクションで作成した問題を修正し、再発しないようにします。
失敗したインスタンスを準備する
- 新しいタブを開き、[Data Fabric] > [APInvoice] > [データ] に移動し、請求書番号が 2xxxx で始まるレコードを追加します。これにより、Post invoice to SAP のステップに進めることができます。
注: 共有環境の場合は、設定したフィルターに一致する [CreatedBy E-mail] を持つ既存のレコードを使用できます。
- [すべてのインスタンス] ページに戻り、リストの [更新] ボタンを選択して、最新のインスタンスを選択します。
- 人間参加型のステップで実行が一時停止した場合は、Actions (旧 Action Center) を開き、タスクを割り当てて完了する必要があります。
- 新しいブラウザー タブを開き、左側のナビゲーション メニューで [Actions] を選択します。
- [受信トレイ] を選択し、[未割り当て] を選択してタスクを選択し、[自分に割り当て] を選択します。
- [保留中] でタスクを見つけ、フォームが読み込まれたら [承認] を選択します。
- Maestro タブに戻り、Post invoice to SAP のステップが失敗するのを待ってから、ノードまたは実行ステップを選択します。
- UiPath Studio で
{your initials} Invoice Processingプロセスを開きます。 - 発注書番号を入力として設定して、破損した Post invoice to SAP ステップを修正します。
- Post invoice to SAP を選択し、プロパティ パネルを開きます。
- [入力] セクションで、Invoice to PO matching タスクからの出力をオートメーションの入力としてマッピングし、入力を設定します。
- PurchaseOrderId:
Invoice to PO matching>PoNum
- PurchaseOrderId:
- プロセスをテナント フィードにパブリッシュします。
- Orchestrator でプロセスを検索し、メニューから [最新バージョンにアップグレード] を選択します。
- Maestro に戻り、自分のプロセスと実行中のインスタンスに移動します。
- 今回は、変数を修正する代わりに [移行] オプションを使用します。
- プロセスの新しいバージョンを選択し、コメントを追加して、[インスタンスを移行] を選択します。
- 次に、新しいバージョンで処理を続行するようエンジンに通知する必要があります。[リトライ] を選択してコメントを追加し、[インスタンスをリトライ] を選択して実行を続行します。今度は正常に完了します。
おめでとうございます。実行中のインスタンスを新しいバージョンに正常に移行できました。