Power Automate フローをコード アプリに追加する (プレビュー)

この記事では、npm CLI を使用して Power Apps コード アプリから Power Automate クラウド フローを検出、追加、呼び出し、削除する方法について説明します。

Important

Power Apps トリガーを使用するフローのみがサポートされます。 他のトリガーの種類のフローをコード アプリに追加することはできません。 これらのサポートされていないトリガーの種類には、Power Apps 以外のトリガーを含むスケジュールされた、自動化された、またはインスタント フローが含まれます。

前提条件

フロー コマンドは、npm ベースの CLI (npx power-apps) でのみ使用できます。 Power Platform CLI () コマンドpac code

手順 1: 使用可能なフローを一覧表示する

次のコマンドを実行して、現在の環境のすべてのソリューション対応フローを一覧表示します。

npx power-apps list-flows

このコマンドは、使用可能なフローのテーブルを出力します。

Name                    Status   Modified On   Flow ID
──────────────────────────────────────────────────────────────────────────────
Approval Workflow       Started  2026-01-15    a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
Send Notification       Started  2026-02-01    b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2

Total flows: 2

ソリューション対応フローのみが一覧表示されます。 フローがない場合は、「ソリューションでクラウド フローを作成する」を参照してください。

名前で結果をフィルター処理するには、 --search オプションを使用します。

npx power-apps list-flows --search approval

追加する フローのフロー ID 値をコピーします。

手順 2: コード アプリにフローを追加する

次のコマンドを実行し、 <flow-id> を前の手順の値に置き換えます。

npx power-apps add-flow --flow-id <flow-id>

Example:

npx power-apps add-flow --flow-id a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1

コマンドが成功すると、CLI はフローが追加されたことを確認します。

Flow added successfully.

ヒント

同じフロー ID で add-flow を再実行することはアイデンポテントです。 古いファイルを手動でクリーンアップすることなく、フローの定義 (新しいパラメーター、更新された接続など) への変更を取得するために使用します。

add-flowの機能

このコマンドは、フローの OpenAPI 定義をダウンロードし、厳密に型指定された TypeScript ファイルをプロジェクトに生成し、フローの接続参照 power.config.json 更新します。

Important

add-flowを実行しているユーザーは、フローを読み取り、フローの基になる接続 (Office 365 Outlook 接続など) にアクセスできる必要があります。 必要な接続にアクセスできない場合、コマンドは承認エラーで失敗します。

生成されたファイル

add-flow実行すると、CLI によってプロジェクトに次のファイルが作成されます (ファイル名はフローの表示名から派生します)。

src/
  services/
    ApprovalWorkflowService.ts   ← generated service class with typed methods
  models/
    ApprovalWorkflowModel.ts     ← generated TypeScript types for inputs/outputs
schemas/
  logicflows/
    ApprovalWorkflow.Schema.json ← flow's OpenAPI schema (do not edit manually)

次のエントリも power.config.jsonに追加されます。

"<uuid>": {
  "id": "/providers/microsoft.powerapps/apis/shared_logicflows",
  "displayName": "Logic flows",
  "dataSources": ["ApprovalWorkflow"],
  "workflowDetails": {
    "workflowEntityId": "<dataverse-entity-guid>",
    "workflowDisplayName": "Approval Workflow",
    "workflowName": "<flow-id>",
    "dependencies": {
      "shared_office365": "<dependency-uuid>"
    }
  }
}

手順 3: アプリからフローを呼び出す

生成されたサービス クラスは、 Run 静的メソッドを公開します。 正確なシグネチャは、フローのトリガーが入力パラメーターを定義するかどうかによって異なります。

入力パラメーターを含むフロー

import { ApprovalWorkflowService } from './services/ApprovalWorkflowService';

const result = await ApprovalWorkflowService.Run({
  requester: 'Alex',
  amount: 1500,
});

if (result.success) {
  console.log('Flow triggered. Response:', result.data);
} else {
  console.error('Flow failed:', result.error);
}

入力パラメーターのないフロー

import { SendNotificationService } from './services/SendNotificationService';

const result = await SendNotificationService.Run();

if (result.success) {
  console.log('Flow triggered.');
}

result オブジェクトの形状は次のとおりです。

財産 タイプ 説明
success boolean true フローが正常にトリガーされた場合は 。
data (異なる) フローからの型指定された応答ペイロード (存在する場合)。
error Error (任意) successfalseされたときのエラーの詳細。

正確な入力と出力の種類は、フローの OpenAPI 定義によって決まります。 生成されたサービス ファイルを開き、フローの特定の種類を確認します。 既定値で x-ms-visibility: internal マークされたパラメーターは、コード ジェネレーターによって自動的にインライン化され、メソッド シグネチャでは公開されません。

フローの更新

フローの定義が変更された場合 (たとえば、作成者が新しいパラメーターを追加するか、接続参照を更新します)、同じフロー ID で add-flow を再実行して、最新の定義を取得し、サービス ファイルを再生成します。

npx power-apps add-flow --flow-id a1b2c3d4-e5f6-7890-abcd-ef1234567890

このコマンドは、 workflowEntityId によってフローと一致し、 power.config.jsonで既存の UUID を再利用するため、手動によるクリーンアップは必要ありません。

フローの削除

コード アプリからフローを削除するには、 remove-flowを使用します。 フローは、データ ソース名 ( power.config.jsonに表示される) または元のフロー ID で識別できます。

データ ソース名:

npx power-apps remove-flow --flow-name ApprovalWorkflow

フローIDごとに:

npx power-apps remove-flow --flow-id a1b2c3d4-e5f6-7890-abcd-ef1234567890

コマンド:

  • power.config.jsonからフローを削除します。
  • すべてのモデル サービスを再生成します。

アプリのデプロイ

フローを追加し、 npm run devを使用してアプリをローカルで確認した後、通常どおりビルドしてデプロイします。

npm run build
npx power-apps push

制限事項と考慮事項

コード アプリにフローを追加するときは、次の制限事項と考慮事項に注意してください。

制限事項 詳細情報
PowerApps トリガーのみの手動フロー PowerApps トリガーを使用する手動フローのみがサポートされます。 他のトリガーの種類 (PowerApps 以外のトリガーを含むスケジュールされた、自動化された、またはインスタント フロー) を含むフローはサポートされておらず、コード アプリでは正しく機能しません。
ソリューション対応フローのみ list-flows コマンドは、ソリューションに属するフローのみを表示します。 ソリューション以外のフローを追加するには、 最初にソリューションに追加します。
作成者のアクセスが必要 add-flowを実行している作成者は、フローフローの基になる接続にアクセスできる必要があります。 必要な接続にアクセスできない場合、コマンドは失敗します。
実行時に必要な Dataverse アクセス許可 エンド ユーザーは、フローを呼び出すために十分な Dataverse アクセス許可を持っている必要があります。 App Opener セキュリティ ロール (またはそれと同等のもの) を割り当てます。 環境でのユーザー セキュリティの構成を参照してください。
フローの変更に必要な手動更新 フローの定義が変更された場合は、同じフロー ID で add-flow を再実行します。 アプリはフローの変更を自動的に検出しません。
npm CLI のみ これらのコマンドは、 pac codeでは使用できません。