ClawLink

How to connect Notion to Hermes Agent

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

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Notion
Notion
NotionOAUTH2MCP

Manage pages, databases, and blocks. Once connected, Hermes Agent can read and act on Notion from chat — pairing, token refresh, and tool wiring handled for you.

45 tools

Most guides for giving Hermes Agent Notion 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 Notion setup: pair once in the browser and your always-on Hermes agent can act on Notion 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.

Prompt for Hermes
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 Notion.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Notion

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Notion?"

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 test

Then connect Notion in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking Hermes:

Use notion_search_notion_page to find the page titled Meeting notes for Q3, then call notion_get_page_markdown on the result and summarize the key decisions in plain English.

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 login

login opens the same browser approval and stores a credential locally. Once Notion is connected in the dashboard, that agent calls the same 45 Notion tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Notion MCP for Hermes

Looking for a Notion MCP server for Hermes Agent? ClawLink connects Notion to Hermes Agent and exposes 45 Notion tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Notion integration works the same way.

Hermes Agent, the Nous Research agent runtime, has two ways to reach Notion and the walkthroughs you will find first teach the older one: create an internal integration in Notion settings, copy the secret token, share every page you care about from the Share menu, then paste NOTION_API_KEY into ~/.hermes/.env. ClawLink replaces that whole sequence with one browser consent: connect Notion in the dashboard, and the 45 tools below are callable from chat with no token in any file on the machine running Hermes. Notion's own Custom Agents are the other alternative and they are a different product: they run inside Notion on Business and Enterprise plans with the AI add-on, billed through Notion credits, and they are not an API surface an external runtime can call. This page is about the hosted connection instead.

What the Hermes Agent Notion integration can do

45 Notion 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 45.

30 of 45 Notion tools for Hermes

ToolWhat it does
Create comment notion_create_commentCreate a comment on a Notion page or discussion
Create database notion_create_databaseCreate a new Notion database
Duplicate page notion_duplicate_pageDuplicate a Notion page
Query database notion_query_databaseQuery a Notion database
Retrieve page notion_retrieve_pageRetrieve a Notion page by ID
Update block notion_update_blockUpdate a Notion block
Update page notion_update_pageUpdate properties on a Notion page
Fetch all block contents notion_fetch_all_block_contentsFetch all child blocks for a given Notion block
Fetch block contents notion_fetch_block_contentsRetrieves a paginated list of direct, first-level child block objects along with contents for a
Fetch block metadata notion_fetch_block_metadataFetches metadata for a Notion block (including pages, which are special blocks) using its UUID
Fetch comments notion_fetch_commentsFetches unresolved comments for a specified Notion block or page ID
Fetch data notion_fetch_dataFetches Notion items (pages and/or databases) from the Notion workspace, use this to get
Fetch database notion_fetch_databaseFetches a Notion database's structural metadata (properties, title, etc.) via its
Fetch row notion_fetch_rowRetrieves a Notion database row's properties and metadata; use fetch_block_contents for page
Get about user notion_get_about_userRetrieves detailed information about a specific Notion user, such as their name, avatar, and
Get page markdown notion_get_page_markdownRetrieve a Notion page's full content rendered as Notion-flavored Markdown in a single API call
Get page property action notion_get_page_property_actionCall this to get a specific property from a Notion page when you have a valid page_id and
List data source templates notion_list_data_source_templatesList all templates for a Notion data source
List file uploads notion_list_file_uploadsRetrieve file uploads for the current bot integration, sorted by most recent first
List users notion_list_usersRetrieves a paginated list of users (excluding guests) from the Notion workspace; the number of
Query data source notion_query_data_sourceQuery a Notion data source
Query database with filter notion_query_database_with_filterQuery a Notion database with server-side filtering, sorting, and pagination
Retrieve comment notion_retrieve_commentRetrieve a specific comment by its ID
Retrieve database property notion_retrieve_database_propertyRetrieve a specific property object of a Notion database
Retrieve file upload notion_retrieve_file_uploadRetrieve details of a Notion File Upload object by its identifier
Search notion page notion_search_notion_pageSearches Notion pages and databases by title
Add multiple page content notion_add_multiple_page_contentBulk-add content blocks to Notion
Append code blocks notion_append_code_blocksAppend code and technical blocks (code, quote, equation) to a Notion page
Append layout blocks notion_append_layout_blocksAppend layout blocks (divider, TOC, breadcrumb, columns) to a Notion page
Append media blocks notion_append_media_blocksAppend media blocks (image, video, audio, file, pdf, embed, bookmark) to a Notion page

Try it: find the Notion tool you need

Browse the 30 Notion tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Use notion_search_notion_page to find the page titled Meeting notes for Q3, then call notion_get_page_markdown on the result and summarize the key decisions in plain English.

Use notion_query_database_with_filter on the database I link, filter rows where the Status property is In progress, and list the titles with their owners and due dates.

Use notion_create_comment on the page I linked to post: Approved, with a note that the deadline moved to Friday. Confirm the comment was created.

Use notion_add_multiple_page_content to append three checklist items under the Next steps heading on the page I linked: ship the draft, update the tracker, notify the team.

What the 45 Notion tools cover

The behaviour below is checked against the live tool manifest; the parts that surprise people are called out.

  • Search is the first call, not a convenience. notion_search_notion_page finds pages and databases by title, and the manifest flags that search indexing is not immediate, so a page shared moments ago may not appear yet. Running it before any action also avoids the placeholder-id failures in the troubleshooting cards.
  • Two ways to read a database. notion_query_database returns rows; notion_query_database_with_filter does server-side filtering, sorting, and pagination, which is the one to use when the agent needs a subset by status, date, or property value.
  • Page content in one call. notion_get_page_markdown returns a page's full content as Notion-flavored Markdown in a single API call, so agents do not need to walk block children. notion_fetch_all_block_contents exists for block-level work with optional recursive expansion.
  • Writes behave differently than they look. notion_add_multiple_page_content bulk-adds blocks and auto-splits text over 2,000 characters, and content lands as children of the parent block id, not inline after a heading, unless the after parameter is used. notion_create_comment posts to a page or an existing discussion thread, and cannot open a new inline thread on a specific block.
  • Workspace context. notion_fetch_data lists pages and databases in the workspace with minimal data, and notion_list_users lists workspace members excluding guests. Both are useful when the agent needs to discover what exists before acting.

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 Notion working from chat.

ManualClawLink
Connection flowRegister a Notion app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Notion through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Notion.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Notion actions to the runtime in a format your agent can reliably use.45 tools for Notion are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Notion 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 Notion in the browser, and the 45 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 Notion

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 Notion 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 Notion tools

Notion 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 Notion 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.

Notion 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.

Notion API returns 403 "insufficient permissions" on a connected account

The AI Overviews answer this query with the token-world fix: share the page with the integration from the Share menu. On a hosted connection there is no integration to invite, so work through the causes that do apply. First, the authenticated account: if the account used at consent cannot see the page or database in its own Notion workspace, no connection fixes that. Second, capabilities: Notion integrations need read and write capabilities on the resource, and a page restricted to read blocks a write. Third, the placeholder trap, which is the most common cause when some tools work: the agent may have used an example id like YOUR_ID from documentation instead of a real one. Ask it to run notion_search_notion_page or notion_query_database first, then retry with a real id. Reconnecting does not change any of these.

Notion API returns 404 "page not found" or object_not_found

404 has one dominant cause in Notion's own help: the resource is not accessible to the integration. In the token world the fix is sharing the page, and the most useful tip from the AIO is to share the top-level parent page so children inherit access. For a hosted connection, check the id the agent sent first: a 404 on an id from documentation or a placeholder means the id itself is wrong, and listing or searching first fixes it. If the id is real, the resource is outside what the authenticated account can reach, and that is a permissions question in Notion, not a connection problem. One more source: Notion file urls expire after an hour, so a stored url from an old run returns 404 when used later.

Notion returns a permission error even though the account is connected

This is the shape ChatGPT has been citing us for, so here is the checklist in order. One: the runtime may still hold the old tool catalog, and a fresh chat is the fastest fix. Two: the resource may not be visible to the authenticated account, which no reconnect changes. Three: the agent may be sending placeholder ids; make it run a list or search tool first and use ids from the results. Four: if none of those apply, reconnect Notion from the dashboard and complete the consent in the same browser session, because a partial OAuth approval can leave a connection that looks healthy but has no working token.

OAuth finished in the browser but the account is still missing

Try reconnecting Notion 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 Notion integration?

Yes. ClawLink is the fastest way to connect Hermes to Notion: link your Notion account once in the browser and Hermes Agent can call the Notion API through 45 ready-made tools — no custom code or token handling.

How do I connect Notion 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 Notion 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 Notion to Hermes Agent?

About two minutes. Sign in, click Connect next to Notion in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Notion 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 Notion working from chat.

Why use ClawLink instead of creating a Notion internal integration?

The manual path is: create an internal integration in Notion, copy the secret_ token, share each page from the Share menu, and put NOTION_API_KEY in ~/.hermes/.env. ClawLink removes every one of those steps. You connect Notion in the browser once, the consent happens at workspace level through Notion's OAuth flow, and the tools work from the next message. There is no token to copy, no .env file to edit, and no page-level setup in the ClawLink dashboard.

Why not just use Notion's own Custom Agents?

Notion's built-in Custom Agents handle the no-API-key story on Notion's side, but they are not a substitute for this connection. They require a Business or Enterprise plan plus the AI add-on, run on Notion credits, and stay inside Notion: there is no external trigger and no API surface for a runtime like Hermes Agent to call from chat. ClawLink connects the Notion API itself, so your Hermes agent can act on the same workspace while also calling your other tools.

Is it safe to connect Notion to an AI agent?

The connection uses Notion's OAuth consent, so it inherits the permissions of the account you authenticate with at the workspace level. You can revoke it any time from the ClawLink dashboard, and no token is stored in a file on the machine running Hermes. The ecosystem's safety discussions concentrate on prompt injection and over-broad permissions, which is worth knowing: an agent with access to a full workspace should be given instructions about what it may read and write, the same way you would constrain any tool.

Do I need to share pages with the integration the way token setups do?

With an internal or public integration, Notion requires sharing each page from the Share menu using Connect to, and the AI Overviews teach that step for every error. A hosted OAuth connection is established during browser consent instead: there is no per-page Connect to step in this flow. If a tool still cannot see a page, the practical check is what the authenticated account can see in the workspace, because the agent cannot reach beyond that account's own permissions.

How many Notion tools does the Hermes integration expose?

45 tools, counted from the generated manifest on 2026-08-02. The page shows 30 of the most-used ones, and the agent can call all 45. Reads outnumber writes: querying databases, fetching pages and block content, and searching the workspace are the bulk of the surface, with create, update, and append operations available for the rest.

Hermes paired but still can't use Notion

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.