# How to connect Postman to Hermes Agent (paste one key, 126 tools)

> Connect Postman to Hermes with ClawLink: paste your Postman key once and 126 tools work from chat. No MCP server to run, nothing stored on your machine.

Web version: https://claw-link.dev/hermes/postman

Most guides for giving Hermes Agent Postman access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Postman setup: pair once in the browser and your always-on Hermes agent can act on Postman for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

**Start here — paste this into Hermes to set up ClawLink:**

> Set up ClawLink for Hermes and tell me when it's ready.
> 1. Install the plugin: `hermes plugins install ClawLink-HQ/hermes-plugin --enable`
> 2. Start pairing with `hermes clawlink begin`. It prints an approval link, so show me the link and stop, don't wait.
> 3. I'll approve it in my browser, then reply "approved".
> 4. When I say approved, finish setup: `hermes clawlink finish`
> 5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

## Setup

It takes three steps to connect Hermes to Postman.

1. **Install ClawLink** — add the plugin to Hermes Agent once.
2. **Connect Postman** — one-click OAuth in the ClawLink dashboard.
3. **Use it from chat** — ask Hermes Agent in plain English.

**Alternative for any agent (no plugin needed):** if the Hermes Agent plugin route isn't available or doesn't work, any AI agent with shell access can use the ClawLink CLI instead:

```bash
npx -y @useclawlink/cli login          # sign in via browser — no API key to paste
npx -y @useclawlink/cli connect postman  # connect Postman (browser OAuth)
npx -y @useclawlink/cli actions postman  # list available actions
npx -y @useclawlink/cli run postman <action> --input '<json>'  # execute (add --confirm for writes)
```

### Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

```bash
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test
```

Then connect Postman in the [ClawLink dashboard](https://claw-link.dev/dashboard) — paste your Postman API key once.

Verify the connection by asking Hermes:

> Use postman_get_a_workspace for \<workspace> and show me the collections in it. Do not walk every folder yet — I want the top level first.

### Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

```bash
npx -y @useclawlink/cli login
```

`login` opens the same browser approval and stores a credential locally. Once Postman is connected in the dashboard, that agent calls the same 126 Postman tools over MCP. Full setup for MCP clients and shell agents: [connect apps to any AI agent](https://claw-link.dev/learn/connect-apps-to-any-ai-agent).

## Postman MCP for Hermes

Looking for a Postman MCP server for Hermes Agent? ClawLink connects Postman to Hermes Agent and exposes 126 Postman tools your agent can call over [MCP](https://claw-link.dev/learn/what-is-an-mcp-server), with [hosted auth](https://claw-link.dev/learn/oauth-for-ai-agents) and nothing to run or maintain yourself. Using OpenClaw instead? The [OpenClaw Postman integration](https://claw-link.dev/openclaw/postman) works the same way.

Postman authenticates with an API key, so you do paste one — the difference is what happens afterwards. The setup most guides teach has you generate the key, put it in an environment file or a CLI config, and stand up an MCP endpoint that Hermes then points at through its own config. Here the key goes into a hosted setup page once, Hermes Agent pairs with `hermes clawlink begin` and `hermes clawlink finish`, and the 126 Postman tools below are callable from chat. Nothing runs on your machine, no `config.yaml` is edited, and the key lives server-side where rotating it means changing one thing.

## What the Hermes Agent Postman integration can do

126 Postman tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 126.

### 30 of 126 Postman tools for Hermes

| Tool | What it does |
|---|---|
| **Create a collection** `postman_create_a_collection` | Create a new Postman collection in a specific workspace or the default workspace |
| **Create a collection comment** `postman_create_a_collection_comment` | Create a comment on an API's collection |
| **Create a folder** `postman_create_a_folder` | Create a folder in a Postman collection |
| **Create a folder comment** `postman_create_a_folder_comment` | Create a comment on a folder |
| **Get a collections comments** `postman_get_a_collections_comments` | Retrieve all comments left by users in an API's collection |
| **Get a collections forks** `postman_get_a_collections_forks` | Get all forks of a specific collection |
| **Get a collections pull requests** `postman_get_a_collections_pull_requests` | Get information about a collection's pull requests including source and destination IDs, status, and URLs |
| **Get a collections roles** `postman_get_a_collections_roles` | Get information about all roles in a collection |
| **Get a folder** `postman_get_a_folder` | Retrieve information about a folder in a Postman collection |
| **Get a folders comments** `postman_get_a_folders_comments` | Retrieve all comments left by users in a folder |
| **Get a monitor** `postman_get_a_monitor` | Retrieve information about a specific monitor in Postman |
| **Get a request** `postman_get_a_request` | Retrieve information about a specific request in a Postman collection |
| **Get a requests comments** `postman_get_a_requests_comments` | Retrieve all comments left by users in a request |
| **Get a response** `postman_get_a_response` | Retrieve information about a saved response in a Postman collection |
| **Get a responses comments** `postman_get_a_responses_comments` | Retrieve all comments left by users in a response |
| **Get a schema** `postman_get_a_schema` | Retrieve information about an API schema from Postman |
| **Get a spec** `postman_get_a_spec` | Retrieve information about an API specification in Postman |
| **Get a spec file** `postman_get_a_spec_file` | Get the contents of an API specification's file |
| **Get a specs definition** `postman_get_a_specs_definition` | Get the complete contents of an API specification's definition |
| **Get a specs files** `postman_get_a_specs_files` | Retrieve all files in an API specification from Postman |
| **Get a specs generated collections** `postman_get_a_specs_generated_collections` | Retrieve all collections generated from an API specification in Postman |
| **Get a team user** `postman_get_a_team_user` | Get information about a user on the Postman team |
| **Get a workspace** `postman_get_a_workspace` | Get detailed information about a specific workspace by its ID |
| **Get a workspaces activity feed** `postman_get_a_workspaces_activity_feed` | Get a workspace's activity feed showing who added or removed collections, environments, or |
| **Get a workspaces roles** `postman_get_a_workspaces_roles` | Get the roles of users, user groups, and partners in a workspace |
| **Get accounts** `postman_get_accounts` | Retrieve Postman billing account details for the authenticated team |
| **Get all apis** `postman_get_all_apis` | Get all APIs accessible to the authenticated user with optional workspace filtering |
| **Get all collections2** `postman_get_all_collections2` | Get all collections accessible to the authenticated user |
| **Get all environments** `postman_get_all_environments` | Get all environments accessible to the authenticated user with optional workspace filtering |
| **Get all forked collections** `postman_get_all_forked_collections` | Retrieve all forked collections for the authenticated user |

## Example prompts

**Map a workspace**

> Use postman_get_a_workspace for \<workspace> and show me the collections in it. Do not walk every folder yet — I want the top level first.

**Review what changed**

> Pull the activity feed for \<workspace> with postman_get_a_workspaces_activity_feed and summarise what changed in the last week and who changed it.

**Ground yourself in the spec**

> Get the API spec \<spec id> with postman_get_a_spec and its definition, then tell me which endpoints exist and which ones have no saved example responses.

**Check open collaboration**

> For the collection \<collection id>, list its pull requests and forks, and pull the comments with postman_get_a_collections_comments. Tell me what is waiting on a decision.

## How the Postman tools behave

Details that decide whether a Postman prompt is a quick answer or a rate-limited crawl.

- **The hierarchy is workspace → collection → folder → request → response.** Each level is its own tool, so enumerating a large workspace is many calls. Name the level you actually need.
- **Ids, not names.** Collections, folders, requests, and specs are addressed by id; `postman_get_a_workspace` is where the ids come from. An id from documentation fails like a typo.
- **Comments exist at four levels.** Collection, folder, request, and response each have their own comment tools, so "read the comments" is ambiguous until you say which object.
- **Specs carry generated collections.** `postman_get_a_specs_generated_collections` links a spec to what was generated from it, which is the fastest way to see design-versus-implementation drift.
- **Roles and team membership are readable.** `postman_get_a_collections_roles`, `postman_get_a_workspaces_roles`, and `postman_get_a_team_user` answer access questions without opening the Postman UI.
- **Writes are shared and visible.** Creating a collection, folder, or comment lands in a space other people are working in — worth a confirmation step in the prompt.

## ClawLink vs. building it yourself

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Postman working from chat.

| | Manual | ClawLink |
|---|---|---|
| **Credential handling** | Collect, validate, store, and rotate the Postman API key yourself, then make sure every tool call uses the right account. | Users complete the hosted ClawLink setup once and the connected Postman account becomes available to the agent without you building credential management. |
| **Ongoing maintenance** | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Postman. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| **Agent usability** | You still need to expose the right Postman actions to the runtime in a format your agent can reliably use. | 126 tools for Postman are already exposed through ClawLink, so the agent can read and act from chat immediately. |

## ClawLink vs. Composio

Composio also exposes Postman to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Postman in the browser, and the 126 tools above work from chat. There is no SDK and no config file, and the Postman key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full [Composio alternatives](https://claw-link.dev/hub/composio-alternatives) comparison.

### Hermes paired but still can't use Postman
Pairing is a two-step handshake: run `hermes clawlink begin`, approve the link in your browser, then run `hermes clawlink finish`. If you ran finish before approving, or the approval link expired, run `hermes clawlink begin` again to get a fresh link. Confirm the plugin was installed with `--enable`, then verify with `hermes clawlink test`.

### Connection succeeds but no tools appear
Reconnect Postman from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

### "Tool schema not loaded yet" error when calling Postman tools
Postman tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Postman call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

### Postman returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

### Postman returns 401 or "invalid API key" although the account shows as connected
Before touching anything, separate two credentials that get confused constantly on this provider. The key that authenticates Hermes to a model provider — the one in a `~/.hermes` env file — has nothing to do with this, and search results for "Hermes API key" overwhelmingly answer about that one instead. The credential in play here is the Postman API key you pasted at setup, held server-side. With that clear: if the key was regenerated or deleted in Postman afterwards, every Postman tool fails from that moment and re-pasting the current key from the dashboard is the fix. If only some calls fail, the key is valid and you are looking at what your Postman user can reach — workspace and team membership decide visibility, so a collection in a workspace you are not a member of returns a permission error rather than a not-found.

Ask the agent to diagnose it:

```text
Call postman_get_accounts and list the workspaces you can see. Tell me which Postman account this connection is acting as, then quote the exact error from the failed call. Do not retry it yet.
```

### Postman starts returning 429 or the agent stalls partway through reading a workspace
Postman rate-limits its API, and an agent enumerating a large workspace is exactly the traffic shape that meets the limit: walking every collection, then every folder, then every request, one call at a time. The response is not to retry immediately but to change the shape of the work — ask for one collection rather than a whole workspace, and have the agent tell you what it intends to enumerate before it starts. Postman returns headers describing the remaining allowance alongside the error, so the agent can report where it stands rather than guessing. If a bulk audit is genuinely needed, running it in stages across a few turns is more reliable than one sweep.

Ask the agent to diagnose it:

```text
Tell me how many Postman calls you have made in the last minute and what you were enumerating. Quote any rate-limit headers from the last response. Do not call Postman again until I reply.
```

### Postman tools are missing, or one tool name is not found
Two different failures. If Hermes shows no Postman tools at all, the connection or the pairing is incomplete — confirm the plugin was installed with `--enable`, that both `hermes clawlink begin` and `hermes clawlink finish` ran, and that Postman shows as connected in the dashboard. If most tools work and a single name fails, that name is wrong rather than missing, and the error lists the closest real ones. There is also a first-call timing case unique to this setup: schemas load on demand, so the opening Postman call in a fresh session can arrive before the catalog and needs one retry. What does not apply is the usual advice for this symptom, which assumes a local MCP server declared in a client config file.

Ask the agent to diagnose it:

```text
List the Postman tools you actually have access to. If there are none, say so plainly. If there are, tell me which one fetches a workspace and use that exact name.
```

### API key setup works but results look incomplete
Double-check that the API key for Postman has the right scopes or account access. A valid key can still be too limited for some reads or writes.

### Is there a Hermes Agent Postman integration?
Yes. ClawLink is the fastest way to connect Hermes to Postman: link your Postman account once in the browser and Hermes Agent can call the Postman API through 126 ready-made tools — no custom code or token handling.

### How do I connect Postman to Hermes with ClawLink?
Install the plugin with `hermes plugins install ClawLink-HQ/hermes-plugin --enable`, then pair once: run `hermes clawlink begin`, approve the link in your browser, and run `hermes clawlink finish`. Connect Postman in the dashboard and Hermes can use it from the next message — no config files, and the Postman key you paste is stored server-side instead of in your environment.

### How long does it take to connect Postman to Hermes Agent?
About two minutes. Sign in, click Connect next to Postman in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

### Why use ClawLink instead of wiring Postman up myself?
The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Postman working from chat.

### Which key does this need, and where does it end up?
A Postman API key, generated in your Postman account settings, entered once on the hosted setup page. It carries your Postman user's access, so the agent sees the workspaces, collections, and teams that you see. Because it is stored server-side rather than in a `.env` or a CLI config, it is not sitting on any machine you happen to have used, rotating it in Postman means updating a single place, and disconnecting from the ClawLink dashboard revokes the agent's use of it immediately.

### What can the agent do in Postman?
Read and write the things a team actually argues about: collections and their folders and requests, saved responses, comments on collections, folders, requests and responses, forks and pull requests, schemas and API specs including generated collections, monitors, workspaces and their activity feeds, and team and role membership. Creating collections, folders, and comments are the writes to be deliberate about, since collections are shared objects and a comment notifies people. The spec tools are the underrated part — pulling a spec and its generated collections is how an agent grounds itself in what an API is supposed to do before touching anything.

### Can it run my requests or monitors?
It reads monitors rather than acting as a runner. The value of this connection is in the API design and documentation surface — what exists, who changed it, what the spec says, what a saved response looks like — rather than in executing traffic. If you want the agent to actually call an API, having it read the request definition here and then make the call itself is usually more transparent than routing execution through Postman, because you can see exactly what it sent.

### How is this different from connecting Postman through Composio?
The underlying Postman API is the same, so the capability difference is small; the setup and upkeep difference is not. The Composio route that search results teach involves their Connect CLI or an MCP endpoint plus a key, and editing Hermes's config to point at it — infrastructure you then own. Here the plugin install and one pairing handshake are the entire client-side story, and Postman sits alongside your other connected accounts with one place to revoke. Choose on how much you want to run, not on features.

### Hermes paired but still can't use Postman
Pairing is a two-step handshake: run `hermes clawlink begin`, approve the link in your browser, then run `hermes clawlink finish`. If you ran finish before approving, or the approval link expired, run `hermes clawlink begin` again to get a fresh link. Confirm the plugin was installed with `--enable`, then verify with `hermes clawlink test`.

## Related

- [GitHub](https://claw-link.dev/hermes/github) — Manage repositories, issues, pull requests, and workflows
- [Hermes PagerDuty integration](https://claw-link.dev/hermes/pagerduty) — Manage incidents, on-call schedules, and services
- [SafetyCulture](https://claw-link.dev/hermes/safetyculture) — SafetyCulture (formerly iAuditor) is a workplace operations platform that enables teams to conduct digital inspections, manage audits, track issues, schedule tasks, and maintain compliance through mobile and web applications.
