How to connect PagerDuty to Hermes Agent
Connect PagerDuty to Hermes with ClawLink in one click — 363 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.


Manage incidents, on-call schedules, and services. Once connected, Hermes Agent can read and act on PagerDuty from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent PagerDuty 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 PagerDuty setup: pair once in the browser and your always-on Hermes agent can act on PagerDuty for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into Hermes to install the plugin and pair your account.
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. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin
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 PagerDuty.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect PagerDuty
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with PagerDuty?"
Install by command
The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:
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 testThen connect PagerDuty in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking Hermes:
Use pagerduty_fetch_incident_list and show me open incidents grouped by urgency and service. Flag anything that has been open longer than its service's typical resolution time.
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:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once PagerDuty is connected in the dashboard, that agent calls the same 363 PagerDuty tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
PagerDuty MCP for Hermes
Looking for a PagerDuty MCP server for Hermes Agent? ClawLink connects PagerDuty to Hermes Agent and exposes 363 PagerDuty tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw PagerDuty integration works the same way.
PagerDuty authenticates through hosted OAuth here, which makes this page's claim unusually checkable: you never generate a PagerDuty API token, and there is no Token token= header to format. The setup search results teach for Hermes is the opposite: a Composio Connect MCP URL plus an API key from a dev dashboard, pasted into a Hermes config. This flow is the plugin pair, a browser approval of the PagerDuty account, and then the 363 tools below are callable from chat. The connection is bound to the PagerDuty user who approves it, so everything the tools can do is bounded by what that user can do, which matters more on PagerDuty than most providers because roles here decide 403s.
What the Hermes Agent PagerDuty integration can do
363 PagerDuty 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 363.
30 of 363 PagerDuty tools for Hermes
| Tool | What it does |
|---|---|
Add service to incident workflow trigger pagerduty_add_service_to_incident_workflow_trigger | Adds a service to an existing incident workflow trigger in PagerDuty, enabling the trigger to fire for incidents on that service. |
Aggregate escalation policy incident metrics pagerduty_aggregate_escalation_policy_incident_metrics | This endpoint analyzes and aggregates incident metrics across all escalation policies in PagerDuty. |
Aggregate incident metrics with filters pagerduty_aggregate_incident_metrics_with_filters | Retrieves and aggregates metrics for incidents across all services in PagerDuty. |
Associate service dependencies pagerduty_associate_service_dependencies | Associates multiple service dependencies in PagerDuty, allowing you to define relationships between supporting and dependent services. |
Associate team with automation action pagerduty_associate_team_with_automation_action | This endpoint associates a specific team with an automation action in PagerDuty. |
Audit escalation policy records pagerduty_audit_escalation_policy_records | Retrieves the audit records for a specific escalation policy in PagerDuty. |
Convert service rule by ID pagerduty_convert_service_rule_by_id | Converts a service's Event Rules to Event Orchestration rules. |
Count paused incident reports pagerduty_count_paused_incident_reports | Retrieves the count of paused incident reports in the PagerDuty system. |
Create a custom field for an incident type pagerduty_create_a_custom_field_for_an_incident_type | Create a Custom Field for an Incident Type. |
Create a field option for a custom field pagerduty_create_a_field_option_for_a_custom_field | Creates a new field option for a custom field on an incident type. Field options represent the allowed values for multi-value or dropdown custom fields. Before using this action: 1. |
Create a ruleset pagerduty_create_a_ruleset | Creates a new Ruleset in PagerDuty for managing incident routing and notification rules. |
Create a trigger pagerduty_create_a_trigger | Creates a new incident workflow trigger in PagerDuty. Triggers define when and how incident workflows are activated - either automatically based on conditions or manually by responders. |
Fetch cache variable for event orchestration pagerduty_fetch_cache_variable_for_event_orchestration | Retrieves detailed information about a specific cache variable in a PagerDuty event |
Fetch custom incident field by ID pagerduty_fetch_custom_incident_field_by_id | Retrieves detailed information about a specific custom field associated with incidents in |
Fetch escalation polices list pagerduty_fetch_escalation_polices_list | Retrieves a list of escalation policies configured in the PagerDuty account |
Fetch event orchestrations pagerduty_fetch_event_orchestrations | Retrieves a list of event orchestrations configured in the PagerDuty account |
Fetch incident analytics by ID pagerduty_fetch_incident_analytics_by_id | Retrieves raw analytics data for a specific incident in PagerDuty |
Fetch incident list pagerduty_fetch_incident_list | Retrieves a list of incidents from PagerDuty based on specified criteria |
Fetch outlier incident by ID pagerduty_fetch_outlier_incident_by_id | Retrieves detailed information about an outlier incident associated with a specific incident in |
Fetch post update status pagerduty_fetch_post_update_status | Retrieves detailed information about a specific post update on a PagerDuty status page |
Fetch priorities list pagerduty_fetch_priorities_list | Retrieves a list of existing priorities in the PagerDuty system, ordered from most severe to |
Fetch related change events for incident pagerduty_fetch_related_change_events_for_incident | Retrieves change events correlated with a specific incident, along with the reasons for |
Fetch related incidents by ID pagerduty_fetch_related_incidents_by_id | Retrieves a list of incidents that are potentially related to a specified incident in PagerDuty |
Fetch runner teams integration pagerduty_fetch_runner_teams_integration | Retrieves a list of teams associated with a specific Automation Action Runner in PagerDuty |
Fetch status pages pagerduty_fetch_status_pages | Retrieves a list of all status pages configured in the PagerDuty account |
Fetch user contact method pagerduty_fetch_user_contact_method | Retrieves detailed information about a specific contact method for a particular user in |
Fetch vendor list pagerduty_fetch_vendor_list | Retrieves a list of vendors or third-party integrations available in the PagerDuty platform |
Filter and aggregate incident metrics pagerduty_filter_and_aggregate_incident_metrics | Analyzes and aggregates incident metrics across teams in PagerDuty, allowing for detailed |
Get a field option on a custom field pagerduty_get_a_field_option_on_a_custom_field | Retrieves a specific field option from a custom field on an incident type |
Get a trigger pagerduty_get_a_trigger | Retrieves details of a specific incident workflow trigger by ID |
Try it: find the PagerDuty tool you need
Browse the 30 PagerDuty tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Use pagerduty_fetch_incident_list and show me open incidents grouped by urgency and service. Flag anything that has been open longer than its service's typical resolution time.
Pull the escalation policies with pagerduty_fetch_escalation_polices_list and the priorities list. Tell me which teams own which policies and where there is no first-line responder.
Use pagerduty_aggregate_incident_metrics_with_filters to aggregate incidents over the last 30 days across services. Tell me which three services generate the most incidents and how mean resolution time differs by priority.
List the status pages with pagerduty_fetch_status_pages and tell me the current status of each. If any shows anything other than a green state, quote it exactly.
How the PagerDuty tools behave
Details that decide whether a PagerDuty prompt is a fast answer or a rate-limited crawl.
- Ids, not names. Incidents, escalation policies, services, and teams are addressed by id; the list tools are where ids come from. An id from documentation fails like a typo.
- Analytics come pre-aggregated.
pagerduty_aggregate_incident_metrics_with_filters,pagerduty_filter_and_aggregate_incident_metrics, andpagerduty_aggregate_escalation_policy_incident_metricsmove the aggregation server-side, which is the difference between one call and walking every incident. - The user role is the ceiling. The connected PagerDuty user's base role bounds everything: Responder, Manager, and Global Admin see and change different things, and limited users hit 403s on administrative endpoints.
- Status pages and priorities are readable.
pagerduty_fetch_status_pages,pagerduty_fetch_post_update_status, andpagerduty_fetch_priorities_listanswer the questions on-call people actually ask without touching incidents. - Writes change routing and policy. Adding a service to a workflow trigger, creating rulesets, custom fields, and field options changes shared incident behavior, so a confirmation step in the prompt is worth it.
- Incident workflows and orchestrations exist as their own surface.
pagerduty_fetch_event_orchestrationsand the trigger tools are how the agent inspects and changes automated incident routing, not just reads incidents.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app 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 PagerDuty working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a PagerDuty app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect PagerDuty through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for PagerDuty. | 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 PagerDuty actions to the runtime in a format your agent can reliably use. | 363 tools for PagerDuty are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes PagerDuty 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 PagerDuty in the browser, and the 363 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use PagerDuty
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 PagerDuty 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 PagerDuty tools
PagerDuty 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 PagerDuty 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.
PagerDuty 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.
PagerDuty returns 403 or permission denied on some actions while others work
Start with the cause the engines teach first and our old card missed: the connected PagerDuty user's base role. A limited user returns 403 on most administrative endpoints, and a Responder role cannot modify schedules or teams even though it can see incidents. The connection is bound to the user who approved the OAuth grant, so the fix is not a new token, it is either a user with the right role approving the connection, or accepting that the connected user's role is the ceiling. After roles, the other causes line up in order: OAuth scopes and advanced permissions at the account level, resource-level restrictions, and then the hosted-agent causes, workspace access and placeholder ids, where an id like an example incident id from documentation fails as a permission error because the object belongs to another account.
Ask the agent to diagnose it:
Call pagerduty_fetch_incident_list and pagerduty_fetch_escalation_polices_list and tell me which succeeds. Then quote the exact error body from the failed call. Do not retry it yet.PagerDuty tools are missing, or a tool name is not found
One explicit line first, because it answers a whole class of searches: the engine-taught causes for this error are all self-hosted MCP config problems, a missing Bearer prefix breaking the handshake, a server started without --enable-write-tools, a stale npx cache, an EU endpoint (mcp.eu.pagerduty.com) mismatch, and hosted connections do not see any of them. There is no server process here to misconfigure. What this setup does have is the lazy-schema timing case: schemas load on demand, so the opening PagerDuty call in a fresh session can arrive before the catalog and needs one retry. If no tools appear after that, the pairing is incomplete, confirm both hermes clawlink begin and hermes clawlink finish ran and PagerDuty shows as connected.
Ask the agent to diagnose it:
List the PagerDuty tools you actually have. If there are none, say so plainly. If there are, tell me which one fetches an incident list and use that exact name.PagerDuty returns 401 or the connection acts like the credential is invalid
On this setup there is no Authorization header for you to format and no local config to inspect, which removes most of the standard advice for this error. What is left is the grant itself. If the connected PagerDuty user's access changed, if the account was re-created or the user removed, every tool fails from that moment even though the dashboard still shows a connection. The same happens if the connection predates a PagerDuty policy change that affected the account's API access. The fix is to disconnect and reconnect from the ClawLink dashboard, which re-runs the OAuth approval and issues a fresh grant, and to confirm the approving user still has an active account.
Ask the agent to diagnose it:
Call pagerduty_fetch_vendor_list, the cheapest call in the set, and tell me exactly what it returns. Do not retry the failing tools until we have that result.PagerDuty starts returning 429 or the agent stalls partway through an incident sweep
PagerDuty rate-limits its API, and an agent walking a queue of incidents, then escalation policies, then analytics, one call at a time, is exactly the traffic shape that meets the limit. The response is not to retry immediately but to change the shape of the work: ask for the open incident list with its status filter, or one incident's details, rather than a whole-account sweep, and have the agent say what it intends to call before it starts. The 429 response carries the remaining-allowance headers, so the agent can report where it stands instead of guessing. If a genuine bulk analysis is needed, run it in stages across turns.
Ask the agent to diagnose it:
Tell me how many PagerDuty 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 PagerDuty again until I reply.OAuth finished in the browser but the account is still missing
Try reconnecting PagerDuty and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent PagerDuty integration?
Yes. ClawLink is the fastest way to connect Hermes to PagerDuty: link your PagerDuty account once in the browser and Hermes Agent can call the PagerDuty API through 363 ready-made tools — no custom code or token handling.
How do I connect PagerDuty 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 PagerDuty in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect PagerDuty to Hermes Agent?
About two minutes. Sign in, click Connect next to PagerDuty in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring PagerDuty up myself?
The alternative to ClawLink is usually manual OAuth app 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 PagerDuty working from chat.
Do I need a PagerDuty API token?
No, and that is the one claim worth stating twice because it contradicts what Google currently shows first for the primary query: the AI Overview for "how to connect pagerduty to hermes" teaches grabbing a Connect MCP URL and an API key from the Composio Dev Dashboard and pasting them into Hermes. The key in that story is a consumer key for the integration layer, not a PagerDuty token, but the searcher cannot tell. Here the OAuth approval is the whole story: the credential that exists afterwards is the PagerDuty grant held server-side, it can be revoked from the ClawLink dashboard, and there is nothing for you to rotate.
What can the agent do in PagerDuty?
Read and write the incident operations surface: incidents and their analytics, escalation policies, priorities, status pages, teams, contact methods, event orchestrations and rulesets, custom fields, and workflow triggers. Incident reads and analytics are the safe default and answer most questions on call: what is open, what is overdue, which services keep generating incidents, what escalated when. The writes to be deliberate about are the ones that change routing and policy: adding a service to a workflow trigger, creating rulesets, custom fields, and field options. The agent sees exactly what the connected user can see, so its ceiling is your role, not the API's.
How is this different from PagerDuty's own MCP server or a self-built OAuth app?
Both of those are real paths and both are what the engines teach for the no-token shape: ChatGPT's p2 answer is "build a PagerDuty OAuth app (recommended)" or use PagerDuty's hosted MCP server with OAuth. That describes our exact value proposition as engineering work for you to do: register an app, manage the redirect, stand up the client. Here the OAuth plumbing is done, the plugin pairing is the entire client-side story, and PagerDuty sits alongside your other connected accounts with one place to revoke. Choose on how much you want to run, not on features, because the underlying API is the same.
Do I need PagerDuty Advance or one of the SRE add-ons?
No. The "without api key" answers sometimes lead with PagerDuty's own AI agents inside Slack, which are paywalled add-ons that need an Admin role to set up. That is a different product from connecting the API to an agent. The tools on this page use the standard PagerDuty API and your normal account's access: incidents, escalation policies, analytics, status pages. If the question is "how do I let an agent operate PagerDuty without handing out API keys", the hosted connection is the answer, and no add-on purchase is involved.
Hermes paired but still can't use PagerDuty
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
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.
Connect LaunchDarkly
A feature management platform that helps teams build better software faster using feature flags.
Crowdin
Manage translations, localization projects, and language resources