Postman FlowsでAIエージェントを開発する方法

# はじめに

2025年4月、Postman Flows Actions（以下、Flows Actions）がEarly Accessとしてリリースされました。

Postman Flowsは、APIやAIを活用したアプリケーションの開発や自動化を簡素化できる強力なビジュアルツールですが、このFlows Actionsの登場でさらに進化しました。

Flows Actionsを使えば、Flowsキャンバス上で作成したフローを、わずか数クリックでPostman Cloudにデプロイし、外部からAPI経由で呼び出せるサーバーレスアプリケーションとして公開できます。

この記事では、Flows Actionsを含むPostman Flowsの概要や便利な機能を紹介したうえで、実際に簡単なAIエージェントをFlows Actionsでサーバーレスアプリとしてデプロイするまでの流れを解説します。

# Postman Flows概要

## Postman Flowsとは？

Postman Flowsは、APIを中心としたアプリケーション（またはワークフロー）を構築するためのビジュアルエディターです。

基本的な操作は、図のようにブロック同士を接続していくこと。各ブロックでは、情報の生成、条件分岐、アクションの実行などを行うことができます。

それぞれのブロックには、入力（Inputs）や出力（Outputs）（いずれか、または両方）があり、これらをコネクションでつなぐことで複数のブロックを連携させ、APIベースのアプリケーションや自動化フローを構築できます。

![create-flows-in-postman-24f.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/66f81540-3924-4b88-b0c8-2464aa767cbc.gif)

フローでは、条件分岐・再試行・並列処理・結果の統合といったロジックを組み合わせることができるため、単なる順序処理を超えた柔軟な「グラフ構造」のワークフローを構築できます。

たとえば、以下のような処理も直感的に作成可能です：

- API Aを呼び出し → 結果に応じて成功／失敗で分岐
- 失敗時にはRetry（再試行）
- 成功時にはAPI Bを実行 → 続けてAPI CとAPI Dを並列に呼び出す
- 各処理の結果をマージし、フローを完了

このように、Postman Flowsは現実の業務フローに即した複雑なロジックも視覚的かつノーコードで構築可能なのです。

```mermaid
flowchart LR
    Start([Start])
    A[Call API A]
    C1[Call API B]
    C2[Retry API A]
    D1[Call API C]
    D2[Call API D]
    Merge[Merge results]
    End([End])

    Start --> A
    A -- Success --> C1
    A -- Failed --> C2 --> A
    C1 --> D1 & D2 --> Merge --> End
```

以下の図は、Postman Flowsで利用できるブロックの一覧です。ご覧のとおり、さまざまな種類のブロックが用意されており、これらを組み合わせることで、柔軟かつ多様なアプリケーションやワークフローを構築できます。

![blocks-list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/a6248811-9745-4ea2-87d0-7966e420ab40.png)
図：Postman Flowsで利用可能なブロック一覧 ([Blocks overview](https://learning.postman.com/docs/postman-flows/build-flows/blocks/overview/))

## 2種類のフロー： Flow Module & Action

Postman Flowsで扱うフローは、Flow Module と Action の2種類に分類されます。それぞれの特性を理解することで、フロー全体の構成や再利用、デプロイ方法が明確になります。

- Flow Module
    - 再利用可能なフローコンポーネントとして設計されており、他のフローの一部として組み込むことができます
	- Startブロック（入力）と Outputブロック（出力）を使ってデータの受け渡しを行います
	- 他のフロー内から Flow Moduleブロックを通じて呼び出すことができます
- Action
	- Postmanクラウドにデプロイ可能なフローであり、デプロイ後はHTTPリクエストを受け付けて同期型APIとして外部から呼び出せます
	- 入力には Requestブロック、出力には Responseブロック を使用します

表: フローごとの入力と出力のためのブロック

|  | Input (入力) | output (出力) |
| --- | --- | --- |
| Action | Requestブロック | Responseブロック |
| Module | Startブロック | Outputブロック |

Actions はクラウドへのデプロイが可能で、サーバレスAPIとして実行できます。クラウドでの公開を前提とする場合は、Actionを使ってフローを構築する必要があります。

一方で、フローの一部を再利用可能なモジュールとして切り出したい場合は、それを Flow Module として分離するのが効果的です。

なお、クラウドにデプロイせずローカル実行のみで運用する場合は、Flow Moduleだけでも問題ありません。

フローの構成としては、Actionのみで完結させることも可能ですし、Flow Module（単体または複数）を組み合わせて構成することもできます。


![action-flow-module.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/e0840c79-7764-4829-b5e8-f4a8fbd214aa.png)

図: ActionとFlow moduleの関係

# Postman Flowsの特徴的な機能の紹介

ここでは、Postman Flowsの特徴的な機能を紹介します。

### 簡単かつ柔軟なLLMとの連携オプション

以下は、簡単かつ柔軟なLLMとのやり取りを可能にするブロック一覧です。これらを活用することで、フローで組むワークフローにAIによるエージェンティクな要素を取り入れることができます。

| ブロック | 内容 | AIモデル消費 |
| --- | --- | --- |
| [HTTP Requestブロック](https://learning.postman.com/docs/postman-flows/build-flows/blocks/http-request/) | Postmanコレクションで作成したHTTPリクエストを実行できます。OpenAI、AnthropicなどAIモデル利用のためのAPIエンドポイントに対して柔軟に認証、パラメーター、ボディ（プロンプトなど任意の文字列）、などの設定ができます。 | 自分で指定したAPIキーから消費 |
| [AI Requestブロック](https://learning.postman.com/docs/postman-flows/build-flows/blocks/ai-request/) | Postmanコレクションで設定したAIリクエストを実行できます。 | 自分で指定したAPIキーから消費 |
| [Create with AIブロック](https://learning.postman.com/docs/postman-flows/build-flows/blocks/create-with-ai/) (Beta) | Postman側で事前に選定しているAIモデルの中から選択して実行します。 | Flowsのクレジットから消費 (※) |
| :new: [The AI Agentブロック](https://learning.postman.com/docs/postman-flows/build-flows/blocks/ai-agent/) (Beta) | Postman側で事前に選定しているAIモデルの中から選択して実行します。AI Agentブロックは、label (context)とtoolsの設定ができます。labelにはコンテキスト文字列を、toolsにはFlow Moduleを指定できます。そして、入力されたプロンプトからlabelとtoolsにもとづきコンテキストを解釈し、タスク（Flow Moduleで定義されたフロー）を実行できます | Flowsのクレジットから消費 (※) |

※ クレジットとは？ - Flowsにはあらかじめプランごとに消費可能なクレジットが用意されていて、ブロック実行ごとにそのクレジットを消費します。消費されるクレジットの量はブロックごとに異なります。クレジットについて詳細は 「[How Flow modules and actions consume credits](https://learning.postman.com/docs/billing/flows-usage/#how-flow-modules-and-actions-consume-credits)」を参照ください。


![ai-blocks.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/ad47f4bc-5132-480e-9ce0-b29830af2b93.png)

図: AIモデルとの連携が可能なブロック

### FQLとTypeScriptによる柔軟なデータの評価と操作

Postman Flowsでは、意思決定ロジックを担う **Evaluation**、**If**、**Condition** ブロックにおいて、[FQL (Flows Query Language)](https://learning.postman.com/docs/postman-flows/flows-query-language/introduction-to-fql/)や[TypeScript](https://learning.postman.com/docs/postman-flows/concepts/flows-typescript-support/)を使って、柔軟なデータの評価・変換・操作が可能です。

**FQL** は、データのクエリや変換に特化した独自の式言語で、APIレスポンスや他のブロックから取得したデータのパース、フィールド抽出、集約などを簡単に行えます。

一方、**TypeScript** は、より複雑な条件分岐や演算処理などを記述するのに適しており、プログラミング言語で柔軟にロジックを記述できます。

目的に応じてFQLとTypeScriptを使い分けましょう。

![fql-ts.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/4bfb0c55-90f5-45b6-8ec2-fcce6e2736ac.png)

図: EvaluateブロックでのFQLとTypeScriptの利用イメージ

### **Postbotによるフロー構築やFQL／TypeScript作成の支援**

PostmanのAIアシスタント、[Postbot](https://learning.postman.com/docs/postman-flows/ai/postbot/) は、Postman Flowsにおけるフローの構築・デバッグ・スクリプト作成をサポートしてくれます。

プロンプトで指示を与えるだけで、必要なブロックの追加や、FQL・TypeScriptによるロジックの自動生成が可能です。さらに、フロー内のエラー修正も手助けしてくれるため、初心者でもスムーズに高度なフローを構築できます。

![postbot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/c02fee94-e270-47d9-afac-fdf23ee55bd4.png)

図: Postman FlowsでのPostbot活用イメージ


### Snapshotによるバージョニング

**Snapshot（スナップショット）機能**を使うと、フローの状態を特定の時点で保存・表示・復元することができます。信頼性の高いバージョンを作成・管理し、他のユーザーと共有することも可能です。

これにより、現在のフローを壊すことなく、安心してフローの設計や改修に取り組めます。

![snapshot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/bbc5683c-25bf-4c5e-badf-94800e020532.png)

図: snapshot利用のイメージ

### 豊富なデバッグオプション

#### Displayブロック

Displayブロックを活用してフロー中の特定情報を出力できます

![display-block.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/ff6009b7-4904-4fbe-88c9-079b83a3384b.png)

図: Displayブロックに特定情報の出力イメージ

#### LogブロックとPostmanコンソール

Logブロックに送信された内容はコンソールに出力されます。また、すべての送信されたリクエストとレスポンス情報はPostmanコンソールに出力されます

![postman-console.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/bdeca257-58ff-4353-aa23-914ede3ce2d6.png)

図: Postmanコンソールの送信リクエスト出力イメージ

#### Run logs

Run logsは、フローの実行における各ブロックのアクティビティに関する詳細な情報を確認できます。ツールバーの下図のオレンジ枠の部分をクリックして、Run logsの内容を確認できます。

![run-logs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/cd4331d3-0fe9-4c0e-86ec-bf64acee83f1.png)

図: Run logsの表示イメージ

# **Postman Flows の利用開始のための準備**

1. Postman Flowsの利用には、Postmanアカウントが必要になります。まだ作成していない方は、[こちら](https://identity.getpostman.com/signup)からアカウント作成ください

2. ワークスペースサイドバーに「フロー」が表示されていない場合、下記のワークスペースサイドバー設定用アイコンをクリックして、フローのサイドバー表示を有効化してください

![Screenshot 2025-06-10 at 9.59.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/fb20e625-f87d-4052-97d5-c45a4b2c4561.png)

:::note
利用プランについて

- Postman Flows は現在、Free、Basic、Professionalプランで利用できます。Enterpriseプランは現時点では招待制です。プランごとで消費可能なクレジット量が異なるのでご注意ください。詳しくは[こちら](https://learning.postman.com/docs/billing/flows-usage/)を参照ください
- Flows ActionsのPostmanクラウドのデプロイには有償プランが必要になります
:::


# **AIエージェントの実行とデプロイ**

ここでは、あらかじめ用意されたシンプルなAIエージェントAction（[お天気エージェント](https://www.postman.com/what-is-api-first/ai-agent-sandbox/flow/6833b344fe279e003fdcfc0e)）を使って、次の手順を試してみます：

1.  Actionを自分のワークスペースにCloneする
2.	CloneしたActionをローカルで実行する
3.	Actionをクラウドにデプロイし、APIとして公開・利用する

実行するActionは、次のようなActionとFlow Moduleで構成されるフローになります：

![Screenshot 2025-06-10 at 10.10.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/128b1c08-4911-4625-9f26-eb81c7514301.png)

図: お天気エージェントの全図

## Actionを自分のワークスペースにCloneする

まずは、[お天気エージェント](https://www.postman.com/what-is-api-first/ai-agent-sandbox/flow/6833b344fe279e003fdcfc0e) があるワークスペースに移動してください。お天気エージェントActionを選択して、右隣にある「･･･」メニューから [Clone]を選択して、Actionを自分のワークスペースにコピーを作成します。これで、Actionと、そのActionに関連するすべてのFlow moduleやコレクションが選択したワークスペースにコピーされます。

![Screenshot 2025-06-10 at 10.24.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/726a90ed-f6eb-474a-9bc7-73868191bf63.png)
図: ActionをCloneするフロー

## Actionをローカルで実行する

ActionをCloneした自分のワークスペースに次の３つがコピーされているはずです。
- お天気エージェントAction
- Actionから参照されるFlow Module
- Flow Moduleから利用されるAPIリクエスト (コレクション)

![Screenshot 2025-06-10 at 10.37.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/44659d21-8f9b-47ed-a9ba-3ae0723a5a3b.png)
図: ActionとセットでCloneされる関連Flow Module

![Screenshot 2025-06-10 at 10.42.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/564485b4-d508-483c-a9b9-bae16d7b3db8.png)
図: ActionとセットでCloneされる関連コレクション


まずは、Flow Moduleだけをローカル実行してみます。
上図の青枠のFlow Moduleをクリックしてください。下図のようなFlow Moduleが表示されます。オレンジ枠のRunをクリックするとFlow Moduleの処理が開始します。ここではすでに下記のようなサンプルInput（Scenario 1）が設定されており、このInputでFlow Moduleが実行されます。

```txt
今日の東京では何を着ていくのがよさそうですか？
```

![Screenshot 2025-06-10 at 10.50.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/990d2a19-12f8-49e5-b090-8dabb14d2bcc.png)

図: Flow Moduleと設定されているScenarioのイメージ

無事処理が成功すると、次のようにOutputブロックに結果が表示されます。

![Screenshot 2025-06-10 at 10.48.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/44a522f5-5f39-4c34-a8ce-0c8fae1109e7.png)

図: Flow Moduleの実行結果

今度は、Actionをローカル実行してみます。
上図「ActionとセットでCloneされる関連Flow Module」のオレンジ枠のActionをクリックしてください。下図のようなActionが表示されます。オレンジ枠のRunをクリックするとActionの処理が開始します。ここではすでに下記のようなサンプルりくえすとのInput（Scenario 1）が設定されており、このリクエストでActionが実行されます。

```json
{
	"question": "今日の東京では何を着ていくのがよさそうですか？"
}
```

![Screenshot 2025-06-10 at 10.50.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/da83ccec-15fc-4771-9761-b27a48c40f3b.png)

図: Actionと設定されているScenarioのイメージ

無事処理が成功すると、次のようにResponseブロックに結果が表示されます。このActionの処理では、Requestブロックで受けたInputが先ほど実行したFlow Moduleに渡され、Flow Moduleの結果をResponseブロックにわたしている流れになります。

![Screenshot 2025-06-10 at 11.00.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/3c3b0faa-8ec4-462b-9f93-5f14d435a7ce.png)

図: Actionの実行結果

Runボタンの隣にある下記イメージのオレンジ枠のボタンをクリックすると、このActionのすべてのブロックのInput/Outputの内容が確認できます。

![Screenshot 2025-06-10 at 11.04.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/eb8774c1-71e9-43a9-92ea-9b53da3292e5.png)

図: Run logsの内容

## Actionをクラウドにデプロイし、APIとして公開・利用する

それでは、最後に、ActionをPostmanクラウドにデプロイします。
フローの画面右上にある[Deploy]ボタンをクリックすると、下図（左）のようなフォームが表示されます。ここで、デプロイ対象のSnapshotとAction URLを指定します。なお、ここではNew Snapshotを選択して、新しく作成するSnapshotをデプロイします。
フォーム下にある[Deploy]ボタンをクリックするとデプロイが開始されます。

![Screenshot 2025-06-10 at 11.12.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/5dbc275b-4f8c-47eb-b729-dcdbf10247f4.png)

無事デプロイが完了すると、下記のURLでActionにアクセスできるようになります。

```
https://postman.flows.pstmn.io/api/default/<YOUR-ACTION-URL>
```

以下、デプロイされたActionへのアクセス結果です。

![Screenshot 2025-06-10 at 11.17.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103420/b3e285b6-afca-460b-b9b6-5ce443e768d7.png)

図: デプロイされたActionへのアクセス結果

# おわりに

本記事では、Postman FlowsとFlows Actionsの概要から始まり、実際にAIエージェントをローカルで実行し、サーバーレスAPIとしてクラウドにデプロイする手順までをご紹介しました。

Postman Flowsは、ノーコードでAPIやAIを活用した柔軟なワークフローを構築できるだけでなく、Flows Actionsを活用することで外部から呼び出し可能な本格的なアプリケーションへと発展させることができます。

今回の例のように、すでに用意されたフローをベースに試してみるのはもちろん、ゼロから自分の業務やアイデアに合ったフローを組み上げることも可能です。ぜひ、Postman Flowsを活用して、みなさんのAPIワークフローを作り上げてみてください。