この記事では、npm CLI を使用して Power Apps コード アプリから Power Automate クラウド フローを検出、追加、呼び出し、削除する方法について説明します。
Important
Power Apps トリガーを使用するフローのみがサポートされます。 他のトリガーの種類のフローをコード アプリに追加することはできません。 これらのサポートされていないトリガーの種類には、Power Apps 以外のトリガーを含むスケジュールされた、自動化された、またはインスタント フローが含まれます。
前提条件
- 初期化された Power Apps コード アプリ。 「クイック スタート: npm CLI を使用してコード アプリを作成する」を参照してください。
- ソリューション対応の Power Automate フローで、PowerApps トリガーの種類を使用したインスタント フローです。 フローがまだソリューション内にない場合は、「既存の フローをソリューションに追加する」を参照してください。
-
@microsoft/power-appsnpm パッケージ バージョン 1.1.1 以降。
注
フロー コマンドは、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 (任意) |
successがfalseされたときのエラーの詳細。 |
注
正確な入力と出力の種類は、フローの 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では使用できません。 |