ClawLink

How to connect Storyblok to Hermes Agent

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

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Storyblok
Storyblok
StoryblokAPI KEYMCP

Headless CMS for managing and delivering structured content. Once connected, Hermes Agent can read and act on Storyblok from chat — pairing, token refresh, and tool wiring handled for you.

10 tools

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

  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 Storyblok

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

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

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 Storyblok in the ClawLink dashboard — paste your Storyblok API key once.

Verify the connection by asking Hermes:

Use storyblok_fetch_content_type_items_graphql for content type <slug> and show me the items with their published and draft status. Do not fetch full bodies yet.

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 Storyblok is connected in the dashboard, that agent calls the same 10 Storyblok tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Storyblok MCP for Hermes

Looking for a Storyblok MCP server for Hermes Agent? ClawLink connects Storyblok to Hermes Agent and exposes 10 Storyblok tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Storyblok integration connects the same way, and it is the page Google's AI Overview already cites for this flow.

Storyblok is a headless CMS, and the 10 tools here are its GraphQL content surface: stories and content items, page items, navigation links, datasource entries, and tags, plus a rate-limit reader. The connection takes a Storyblok credential pasted once and held server-side, so there is no PAT file next to your agent and no scope decision to re-litigate every quarter. The searches around this provider are mostly the PAT setup ritual, the "tool not found" debugging ritual, and the 403 questions, and the last of those is the one this page already answers best, which is why ChatGPT keeps quoting it.

What the Hermes Agent Storyblok integration can do

10 Storyblok tools are ready for Hermes Agent once the account is connected.

All 10 Storyblok tools for Hermes

ToolWhat it does
Fetch content type items graphql storyblok_fetch_content_type_items_graphqlFetch multiple stories/content items with filtering and pagination
Fetch graphql content item storyblok_fetch_graphql_content_itemFetch a single story by ID or slug with optional language translation
Get app storyblok_get_appRetrieve a Storyblok extension or app by ID
Get datasource entries storyblok_get_datasource_entriesRetrieve datasource entries (id, name, value)
Get graphql rate limit storyblok_get_graphql_rate_limitCheck the GraphQL API rate limit and max cost per request
Get page item storyblok_get_page_itemGet a single page item by ID or slug in draft or published version
List graphql content type items storyblok_list_graphql_content_type_itemsList content items for a content type with pagination and filtering
Query page items storyblok_query_page_itemsQuery multiple page items with filters like path prefix or slug exclusions
Retrieve links graphql storyblok_retrieve_links_graphqlRetrieve navigation links with slug, name, and published status
Retrieve tags storyblok_retrieve_tagsRetrieve tags used for content organization and filtering

Try it: find the Storyblok tool you need

Browse the 10 Storyblok tools

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

Example prompts

Use storyblok_fetch_content_type_items_graphql for content type <slug> and show me the items with their published and draft status. Do not fetch full bodies yet.

Use storyblok_get_page_item for slug <slug> in draft version and show me the editable fields and their current values.

Call storyblok_get_graphql_rate_limit first, then if we have headroom, list the content items for <content type> with pagination and tell me how many there are.

How the Storyblok tools behave

Details that decide whether a Storyblok prompt is a fast answer or a permission error.

  • GraphQL-first. The core tools (storyblok_fetch_content_type_items_graphql, storyblok_fetch_graphql_content_item, storyblok_list_graphql_content_type_items) query through the GraphQL API, so filtering and pagination happen server-side.
  • Draft or published is an argument. storyblok_get_page_item takes a version, and a missing version argument is how drafts and published pages get confused.
  • Ids and slugs both work for page items. storyblok_get_page_item accepts either, but slugs are only unique within a space, so id is the safer address.
  • The rate-limit tool is real. storyblok_get_graphql_rate_limit reads the GraphQL API's limit and max cost per request, the first check before any heavy crawl.
  • Links and tags are navigation tools. storyblok_retrieve_links_graphql returns links with published status, and storyblok_retrieve_tags covers taxonomy, the two tools for structure audits.
  • Datasources are the config surface. storyblok_get_datasource_entries reads the entries behind dropdowns and pickers, which is how an agent learns what values a field can actually take.

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

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Storyblok API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Storyblok account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Storyblok.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 Storyblok actions to the runtime in a format your agent can reliably use.10 tools for Storyblok are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Storyblok 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 Storyblok in the browser, and the 10 tools above work from chat. There is no SDK and no config file, and the Storyblok key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Storyblok

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

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

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

Storyblok returns 403 or permission denied while the account shows as connected

The causes ChatGPT keeps quoting from this page are the right map, in order. Space access: the connected account must be a member of the space the content lives in, and a story in another space fails as a permission error rather than not-found. Placeholder ID: an id like YOUR_ID or an example story id from documentation fails exactly the same way, because the call targets an object outside the connected scope. Stale session: a connection that has been idle or superseded can reject calls while the dashboard still shows it as connected, and the fix is a fresh reconnect from the dashboard. Storyblok roles also factor in: read-only roles reject writes to stories and datasources.

Ask the agent to diagnose it:

Call storyblok_fetch_content_type_items_graphql for the space and content type you were using. Tell me the exact error body from the failed call and which id it mentioned. Do not retry it yet.
A Storyblok tool is not found, or no Storyblok tools appear

The engine-taught causes for this error are Storyblok's discovery flow and client cache clearing, local-server problems this setup does not have. Here a missing tool is almost always the lazy-schema timing case: schemas load on demand, so the first Storyblok call in a fresh session can arrive before the catalog and needs one retry. If tools stay missing after that, the pairing is the suspect: confirm the plugin was installed with --enable, both hermes clawlink begin and hermes clawlink finish ran, and Storyblok shows as connected in the dashboard.

Ask the agent to diagnose it:

List the Storyblok tools you actually have access to. If there are none, say so plainly. If there are, tell me which one fetches content items and use that exact name.
Storyblok starts returning rate-limit errors during a content crawl

Storyblok rate-limits its APIs by plan, with the management and GraphQL surfaces having different allowances, and an agent walking every content type, then every story, one call at a time, is the traffic shape that meets them. The integration ships a tool for this: storyblok_get_graphql_rate_limit reads the GraphQL API's current rate limit and max cost per request, so the agent can check its allowance before a heavy crawl instead of guessing. Shape the work around it: one content type at a time, paginated, and pause when the limit reports are tight.

Ask the agent to diagnose it:

Call storyblok_get_graphql_rate_limit and tell me the current limit and cost allowance. Do not run a crawl until we know the headroom.
API key setup works but results look incomplete

Double-check that the API key for Storyblok has the right scopes or account access. A valid key can still be too limited for some reads or writes.

FAQ

Is there a Hermes Agent Storyblok integration?

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

How do I connect Storyblok 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 Storyblok in the dashboard and Hermes can use it from the next message — no config files, and the Storyblok key you paste is stored server-side instead of in your environment.

How long does it take to connect Storyblok to Hermes Agent?

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

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

Do I need a Storyblok personal access token?

The manual route search results teach is a Storyblok PAT: My Account, then Personal access tokens, then generating one with the right scopes and space restrictions. Storyblok is also tightening the older token model, retiring unscoped tokens in favour of scoped ones, which is exactly the maintenance this setup removes. Here a Storyblok credential is pasted once into the dashboard and held server-side, and the scope question becomes a setup decision you make once rather than a token you re-audit. The credential still exists, the point is who manages it and where it lives.

What can the agent do with 10 tools?

Everything here is content operations over GraphQL: fetch stories and content items for a content type with filtering and pagination, get a single page item by id or slug in draft or published version, query page items by path prefix or slug exclusion, retrieve the navigation links with their published status, read datasource entries, and list tags. There is no visual editor tool and no asset management, so think of the agent as the content API in front of your prompts: draft previews, link audits, navigation checks, and content-type reviews. The writes to be deliberate about are the ones that change published content, and the confirmation gate covers them.

How is this different from Storyblok's MCP server?

Storyblok's official MCP server and its search and describe and execute discovery flow is what the engines teach for the tool-not-found shape, and it is a real product. This integration is the hosted version of the same idea: no server process to install, no client discovery cache to clear, and the 10 tools appear in chat through the plugin pairing. The engine-taught fixes for missing tools, clearing a client cache or re-registering a server, do not exist here because there is no client-side server.

Can the agent be completely keyless?

The AI Overview for the "without api key" shape says an agent cannot interact with your workspace completely keyless, but you can shift the responsibility for managing keys away from your agent code, and it teaches that shift through MCP and integration platforms. That is exactly this setup: the credential is held server-side by ClawLink, the agent never sees it, and the shift is done. The nuance from that answer applies here too, a credential still exists somewhere, it just is not on your machine and it is not managed per session.

Hermes paired but still can't use Storyblok

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.