ClawLink

How to connect Baselinker to Hermes Agent

Connect BaseLinker to Hermes Agent, the AI assistant (not the Hermes courier): paste one BaseLinker API token and 106 tools work from chat. Stored server-side.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Baselinker
Baselinker
BaselinkerAPI KEYMCP

BaseLinker is a comprehensive e-commerce management platform that integrates with various marketplaces, online stores, carriers, and accounting systems to streamline order processing, inventory management, and sales automation.. Once connected, Hermes Agent can read and act on Baselinker from chat — pairing, token refresh, and tool wiring handled for you.

106 tools

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

  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 Baselinker

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

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

The whole pairing handshake. Run these once, then paste your BaseLinker token in the dashboard:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin     # approve the link in your browser
hermes clawlink finish
hermes clawlink test

The token itself comes from BaseLinker first: Account → My Account → API → copy or generate. You still generate it; the difference is that it then lives server-side instead of in an env file on your machine.

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

Baselinker MCP for Hermes

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

BaseLinker's API needs a token, full stop. The search answers are right about that, and they are wrong about everything after it: they assume you will wire the token into an MCP server or tool scripts yourself, and they answer the word 'Hermes' with the courier. This page is about Hermes Agent, the AI assistant. You generate the token once in BaseLinker (Account → My Account → API), paste it into a hosted setup page, and the 106 BaseLinker tools work from chat while the token sits server-side. The custody changes; the token does not disappear.

What the Hermes Agent Baselinker integration can do

106 Baselinker 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 106.

30 of 106 Baselinker tools for Hermes

ToolWhat it does
Add inventory baselinker_add_inventoryAdd or update a BaseLinker catalog (inventory)
Add inventory category baselinker_add_inventory_categoryAdd or update a category in the BaseLinker catalog
Add inventory document baselinker_add_inventory_documentCreate a new inventory document in BaseLinker storage
Add inventory manufacturer baselinker_add_inventory_manufacturerAdd or update a manufacturer in the BaseLinker catalog
Get connect integration contractors baselinker_get_connect_integration_contractorsRetrieve a list of contractors connected to a selected Base Connect integration
Get connect integrations baselinker_get_connect_integrationsRetrieve a list of all Base Connect integrations on this account
Get courier accounts baselinker_get_courier_accountsRetrieve the list of accounts connected to a given courier
Get courier fields baselinker_get_courier_fieldsRetrieve the form fields required for creating shipments with a specific courier
Get courier packages status history baselinker_get_courier_packages_status_historyRetrieve the history of status changes for courier packages
Get couriers list baselinker_get_couriers_listRetrieve a list of available couriers from BaseLinker
Get external storage products quantity baselinker_get_external_storage_products_quantityRetrieve stock quantities from an external storage (shop/wholesaler) connected to BaseLinker
Get external storages list baselinker_get_external_storages_listRetrieve a list of external storages (shops, warehouses, wholesalers) connected to BaseLinker that can be referenced via API
Get inventories baselinker_get_inventoriesRetrieve a list of catalogs (inventories) available in the BaseLinker storage
Get inventory available text field keys baselinker_get_inventory_available_text_field_keysRetrieve a list of product text fields that can be overwritten for a specific integration
Get inventory categories baselinker_get_inventory_categoriesRetrieve a list of categories for a BaseLinker catalog
Get inventory document items baselinker_get_inventory_document_itemsRetrieve items from inventory documents in BaseLinker
Get inventory document series baselinker_get_inventory_document_seriesRetrieve available inventory document series
Get inventory documents baselinker_get_inventory_documentsRetrieve a list of inventory documents
Get inventory extra fields baselinker_get_inventory_extra_fieldsRetrieve extra fields defined for BaseLinker catalog inventory items
Get inventory integrations baselinker_get_inventory_integrationsRetrieve a list of integrations where text values in the catalog can be overwritten
Get inventory manufacturers baselinker_get_inventory_manufacturersRetrieve a list of manufacturers from the BaseLinker catalog
Get inventory payers baselinker_get_inventory_payersRetrieve a list of payers available in BaseLinker storage
Get inventory price groups baselinker_get_inventory_price_groupsRetrieve price groups existing in BaseLinker storage
Get inventory printout templates baselinker_get_inventory_printout_templatesRetrieve a list of all configured printout templates available for inventory (products)
Get inventory product logs baselinker_get_inventory_product_logsRetrieve a list of events related to product changes in the BaseLinker catalog
Get inventory products data baselinker_get_inventory_products_dataRetrieve detailed data for selected products from the BaseLinker inventory
Get inventory products list baselinker_get_inventory_products_listRetrieve basic data of chosen products from BaseLinker catalogs
Get inventory products prices baselinker_get_inventory_products_pricesRetrieve gross prices of products from BaseLinker inventories
Get inventory products stock baselinker_get_inventory_products_stockRetrieve stock data of products from BaseLinker catalogs
Get inventory purchase order items baselinker_get_inventory_purchase_order_itemsRetrieve items from a specific purchase order in BaseLinker

Try it: find the Baselinker tool you need

Browse the 30 Baselinker tools

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

Example prompts

Use baselinker_get_courier_packages_status_history for order <id> and summarise the latest status events in plain language.

List products with baselinker_get_inventory_products_list for <catalog id> and show current stock with baselinker_get_inventory_products_stock, flagging anything below its reserve.

Pull baselinker_get_couriers_list and the fields for the main courier with baselinker_get_courier_fields so we can see what a shipment needs.

How the BaseLinker tools behave

The 106 tools are organized around three families; these are the details that matter.

  • Courier data is first-class. Courier lists, accounts, form fields, and package status history are all separate tools.
  • Inventory is a whole family. Products, stock, prices, categories, documents, manufacturers, price groups, payers, and printout templates each have their own read tools.
  • Base Connect is readable. baselinker_get_connect_integrations and baselinker_get_connect_integration_contractors list what the account has wired up.
  • Writes exist but stay explicit. baselinker_add_inventory and its document, category, and manufacturer variants change catalog data; confirm before executing.

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

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Baselinker API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Baselinker 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 Baselinker.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 Baselinker actions to the runtime in a format your agent can reliably use.106 tools for Baselinker are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Baselinker 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 Baselinker in the browser, and the 106 tools above work from chat. There is no SDK and no config file, and the Baselinker 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 Baselinker

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

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

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

BaseLinker returns 403 or "insufficient permissions"

The engines teach four causes: the token's scope restricts the endpoint, a sub-account restriction on what the token may touch, the X-BLToken header being wrong or missing, and a token that needs regenerating from the main admin account. The full-access-token versus scoped-token model is the mental model to keep: a scoped token rejects what is outside its scope, so check the token's scope before assuming the connection is broken.

Ask the agent to diagnose it:

Quote the exact error from the failed BaseLinker call. Then tell me which BaseLinker method you called and whether you know the token's scope. Do not retry the call yet.
BaseLinker hits 429 or rate limits

The taught numbers: 100 requests per minute by default, paid Accelerations raising that up to 500, and capped endpoints, with getOrders returning at most 100 records per call. An agent enumerating orders walks straight into that wall. Narrow the work: date-bounded queries, fewer records per call, and the agent reporting what it got before continuing.

Ask the agent to diagnose it:

Tell me how many BaseLinker calls you made in the last minute and which method you were calling. Quote the error verbatim. Do not call BaseLinker again until I reply.
BaseLinker results look incomplete

When calls succeed but data comes back short, the taught causes are the token's scope and sub-account restrictions: a scoped token or a restricted sub-account sees a subset, and lists end at that boundary rather than erroring. Ask the agent which token scope it is acting under and whether the endpoint returned a count or a cap marker, which distinguishes a scope limit from a rate limit.

Ask the agent to diagnose it:

Tell me which BaseLinker method returned the short list and what count it reported versus what you expected. Do not retry the call yet.
API key setup works but results look incomplete

Double-check that the API key for Baselinker 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 Baselinker integration?

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

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

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

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

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

Which Hermes is this?

Hermes Agent, the AI assistant. The courier named Hermes, Evri in the UK, is a different product, and the engines answer the connect query with the courier unless the page disambiguates. If you are connecting a parcel carrier inside BaseLinker's dashboard, that is BaseLinker's own carrier setup, not this integration.

What token do I need?

The BaseLinker API token from Account → My Account → API. You still generate it: the engines and this page agree a token is unavoidable. What this setup changes is who holds it, so the token never sits in an environment file or a client config on your machine.

What can the agent do in BaseLinker?

Courier accounts, courier lists and their form fields, package status history, inventories and their products, stock, categories, documents, manufacturers, price groups, payers, external storages and their quantities, and Base Connect integrations. It is an e-commerce operations surface: orders, stock, and carrier state across the shops you have wired up.

Is it safe to hand BaseLinker a token?

The engines teach least privilege, human approval for writes, and scoped middleware over raw master keys. Here the token is server-side and revocable from the dashboard, so the practical rules are: generate the token with the narrowest access your work needs, keep write prompts explicit, and disconnect in the dashboard when done.

Hermes paired but still can't use Baselinker

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.