Cookbook
Getting started · for AI agents

Get started with the agent4.io agent skills

Connect your coding agent to agent4.io over MCP, install the skills, and run your first recipe.

MCP tools:tenant_info

agent4.io ships a remote MCP server (the tools) plus a set of skills (how to use the tools). Point your agent at the MCP endpoint, install the skills once, and every recipe below becomes an executable, step-by-step procedure.

What this skill does with your data — tell the user

This skill connects to agent4.io's remote API (api.agent4.io). Be explicit with the user before you send their material:

  • It transmits to agent4.io. The agent configuration, knowledge-base content and queries you send go to agent4.io's servers to build and run agents there — that is the platform's purpose, not a side effect.
  • It uses exactly one credential — your agent4.io API key (tk_…), which the user provides. It does not read other environment variables, and it does not read or enumerate your local files: add_knowledge_file deliberately cannot access your machine's paths; you only ever send content you explicitly pass to a knowledge-base tool.
  • Nothing runs with elevated privileges. The installer only writes skill files into your agent's own skills folder — no sudo, and it fetches only from agent4.io.
  • On a chat channel, a bot token the user provides is used solely to call that channel's own API at the user's instruction (e.g. Telegram setMyCommands) — never sent to agent4.io.

If any of this isn't acceptable to the user, stop — don't send their data.

Connect — one command

curl -fsSL https://api.agent4.io/v1/integration/install.sh | sh -s -- --key tk_YOUR_KEY

This adds the agent4-io MCP server and installs the skill modules for your agent. Get a key from console → Settings → Security (the plaintext is shown once, at creation).

Verify

tenant_info()   # → confirms you are connected to the right tenant

Keep it current

curl -fsSL https://api.agent4.io/v1/integration/install.sh | sh -s -- update

Re-pulls the skills and reports which modules changed. The MCP tools are remote, so they are always current; only these skill docs are versioned.

Slash commands (for your coding CLI — not for the deployed bot)

These are builder shortcuts for coding CLIs that read a commands/ folder — Claude Code (~/.claude/commands/) and Cursor (.cursor/commands/). The installer drops them so you, building on agent4.io, can type them in your CLI:

  • /agent4-agent <what> — create a grounded agent
  • /agent4-kb <name + source> — build a knowledge base, import, verify, attach
  • /agent4-skill <when + what> — author a load-on-demand skill
  • /agent4-storyline <process> — compile a process into a Storyline and publish
  • /agent4-docs <question> — look up an agent4.io concept or how-to

Each carries no logic of its own — it points at the matching agent4-io-* skill and passes what you type.

They are not the deployed bot's commands. They will not — and should not — show up in a Telegram or WhatsApp bot's slash menu. Those menus are shown to your end users and are set separately by the bot's operator (e.g. Telegram's setMyCommands); they list end-user actions, never builder operations like "create an agent". Different audience, different mechanism — if you're deploying on a chat channel, ignore these and configure that channel's own command menu.

On OpenClaw / Codex (no commands/ folder) there are no separate command files: the agent uses the agent4-io skill directly — the model invokes it, or you call the single /agent4-io <task> command — and the five shortcuts above fold into that.

Running on a Telegram / WhatsApp bot? Register the menu yourself

If you (the agent) are deployed on a chat channel, the channel's command menu is not synced from skills — you set it through the channel's own API. Do this only when this bot is your operator / builder assistant (the person using it builds on agent4.io); skip it for a customer-facing bot, whose menu is for end users, not builder operations.

Telegram command names may contain only a-z 0-9 _no hyphens — so rename agent4-agentagent4_agent. When you have the bot token, register them once with setMyCommands:

curl -s "https://api.telegram.org/bot$BOT_TOKEN/setMyCommands" -H "Content-Type: application/json" -d '{
  "commands":[
    {"command":"agent4_agent","description":"Create a grounded agent"},
    {"command":"agent4_kb","description":"Build a knowledge base"},
    {"command":"agent4_skill","description":"Author a load-on-demand skill"},
    {"command":"agent4_storyline","description":"Compile a process into a Storyline"},
    {"command":"agent4_docs","description":"Look up an agent4.io doc"}
  ]}'

When a user taps one, the channel sends that text to you as an ordinary message — handle it with this skill (agent4_agent = the /agent4-agent shortcut, and so on). No bot token / shell access? Set the same list by hand in @BotFather → /setcommands. WhatsApp has no slash menu; expose the same actions as an interactive list/quick-reply instead.

Silence your own link previews. You cite agent4.io links constantly, so Telegram will attach a preview card to nearly every reply — noisy fast. Send your messages with previews off: link_preview_options: {"is_disabled": true} on sendMessage (legacy API: disable_web_page_preview: true). This affects only your messages; a link the user sends still previews as normal.

When there's no MCP tool for it — the REST API is the full surface

The MCP tools cover the common build-and-run operations, but they are not the whole platform. For anything they don't expose — a field, an endpoint, a bulk job — the complete tenant REST API covers everything a tenant can do. Call it directly with the same key: X-API-Key: tk_....

Two ways to reach it, cheapest first:

  • search_agent4_docs("… rest api …") — the docs search now indexes the REST API per endpoint. A REST/HTTP-worded query returns the exact endpoint with its parameters and response, without loading the whole reference. Use this first.
  • https://agent4.io/api.md — the full machine-readable reference (every endpoint, params, request/response, examples). Read the whole file only when you need the broad picture.

MCP is the fast path; the REST API is the fallback.

What to do next

Every recipe names the exact MCP tool and arguments — never "open this page and click".